- ベストアンサー
日本語のテーブル名、カラム名の定義について
以前、IBMのオフコンでシステム開発を行っていた時期があります。 転職して今はネットワークエンジニアとしての仕事に就いておりますが、必要に迫られて、社内の部門システムの開発を始めようと考えております。 そこで、社内の販売管理の SQL Server のテーブル名、カラム名を確認してみると全て日本語で定義されております。 確固たる根拠はないのですが、どうしても違和感を覚えてしまいます。 今回の開発目的は、部門内のこまごました業務のシステム化で、顧客管理、グループ間の作業依頼や履歴管理等で、Visual Studio .NET 2003 + SQL Server 2000 を使って私一人で開発を行う予定です。 Windows フォーム、Web フォーム(ASP.NET)も利用予定です。 さて、前置きが長くなってしまいましたが、以前は、外資系の会社にいて日本語利用不可のシステム(データベース)でしたので、何も考える必要がなかったのですが、今回の開発を始めるに当たって SQL Server のテーブル名、カラム名の定義を日本語を行った場合の利点、欠点、考慮点等があれば教えて頂きたくて質問しました。 販売されている業務アプリやグループウェアの SQL Server のテーブルやカラム定義を見ても日本語は今まで見かけたことがないのですが、プロの開発者としてのご意見が伺えれば幸いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
日本語を使うメリット? 漢字を使えばビジュアル的に見て分かりやすい?という人もいます。漢字の方が短いTEXT長で多くのことを伝えられる。 他の人にメンテナンスを頼む場合、初めて見たテーブル構成でも理解しやすい。 私の意見としては DB名・TABLE名・項目名にあまり漢字は使わないほうです。 個人のデータベースなら良いとしても企業内のシステムで使うようなものであればDBの設計資料などをきちんと作るのが当然で設計資料等にこの項目はこの内容ですとちゃんと書かれているし書かれているべきだから。 項目名等を漢字にするメリットってあまり無いと思います。 この項目は何?となったら設計資料見れば済みますから。 設計資料を見ることを許していないフロントエンドを使う一般のユーザーにはバックエンドのDBの構成等が分からなくても関係ないですし。 SQLで日本語使うのめんどくさいのもありますけどネ。
その他の回答 (2)
日本語にする意味は見やすいくらいでしょう。英字にした方がベターです。以前、オラクルでの開発で日本語で定義していき、最終段階になって、日本語のためによくわからないエラーが出たことがあります。その時になってからではもう日本語から英字に修正できないので大変困りました。
お礼
ありがとうございました。 具体的な事例を聞けて大変安心しました。 たいして意味のない日本語定義はやめて、素直に、英字で定義や開発を行うことにします。
- O_cyan
- ベストアンサー率59% (745/1260)
PHPでMySQLを使うとTABLE名・項目名に日本語があるとエラーになったとか。PHPとMySQLこの辺を使用しなければ良いだけの話とすればお終いですが。 各クライアントPCのマシン差があり日本語を使っているとODBC接続の時にUnicodeやシフトJISの文字コードの違い(日本語入力の環境の違い)で困ったくらいでしょうか。 今は同規格で構築されているLAN等がほとんどなのでそんなこともないでしょうけど。 しいて日本語を使用する場合を考えると汎用性があるDBである程度知識があれば自分の望むように抽出等できる様なオープンしているDBなら社内システムの中であっても日本語を使っても良いのかなとは思いますが・・。 私はSQLの記述に SELECT キー, データ1, ・ where データ1 is null order by キー みたいに日本語が入ると「美しくない」とか思っちゃう方なので。;
お礼
いろいろありがとうございました。 ソースを読むと「美しい」「美しくない」とか思ってしまいますよね。 開発していた昔の頃のことを思い出してしまいました。。。 また、よろしくお願い致します。
補足
早速の回答ありがとうございます。 やはり日本語を使うメリットは、見た目の分かり易さ... といったところでしょうか。 時間が許せばもう一つ教えて頂きたいのですが、O_cyanさんの経験上、DB名・TABLE名・項目名を日本語にした場合「開発や運用途中でトラブルを起こしやすい」といったことはないのでしょうか。。。??