日本語のテーブル/フィールド名って?
質問
2006年9月28日木曜日 10:42
はじめまして。
SQLServerはこれから使おうと思っている者です。
初歩的な質問ですが、どうぞよろしくお願い致します。
日本語のテーブル名やフィールド名を使っても問題
ないのでしょうか?
問題があるとすれば、どのような事があるのでしょうか?
よろしくお願い致します。
すべての返信 (8)
2006年9月28日木曜日 11:23
問題ありません。
どんどん使ってください。
2006年9月28日木曜日 18:32
問題あります。
使うのでしたら [オブジェクト名] という感じで [] でくくってください。
2006年9月29日金曜日 0:02
RESありがとうございます。
[ ]でくくって利用すれば問題はないのでしょうか?
[ ]を利用しないと、どのような事象が起こるのでしょうか?
お手数ですが、説得材料に教えて頂けるとありがたいのですが…
2006年9月29日金曜日 0:27
ウィザード等を使ってSQLを自動生成すると、勝手に[]でくくってくれます。
ただ自分で記述する場合、おがわさんのおっしゃるとおり気をつけていないと、
テーブルを認識してくれないですよ。
テストのテーブルなどを一度作成してみて、
Management Studioでクエリを試験実行するなどして、慣れてみてはいかがでしょうか?
2006年9月29日金曜日 1:37
テーブルやフィールド名に日本語を使う事は問題なし。
ただし、記述時に気をつけて[ ]でくくる必要があるとの事で
よろしいでしょうか。
ご回答頂いた皆さんありがとうございました。
2006年9月29日金曜日 8:56
ここは "SQL Server フォーラム" なので、 まったくの余談ですが…
.NET Framework でデータベースにアクセスするプログラムを作る場合、 型付きデータセット (型指定されたデータセット) を使うとすごく便利です。 ( MSDN の 「Visual Basic および Visual C# の概念 - データセットの概要」 などを参照 )
が、 型付き DataSet を自動生成させると、 テーブル名・列名がそのまま取り込まれます。 つまり、
String customerID = aDataSet.顧客テーブル[rowIndex].顧客番号;
というようなコードを書くことになります。
変数名などに日本語を使うことも、 もちろん問題ありません (ただし、先頭が数字はダメ)。 ですが、 コーディングルールで禁止されていると、 困ったことになります。
2006年10月15日日曜日 0:47
私も以前から、気になっていたことなので、参加させてください。
いままで、Accessを使用しており、VB2005が出たことにより、VB+SQLServerの勉強を
開始したものです。
Accessを使用する際に、テーブル名などに日本語を使うことはできるのだが、できれば
使わないほうがよいということを、しばしば目にしたのですが、今回のことは
VB+SQLSERVERだから大丈夫であるということなのでしょうか。
それとも、まだやったことはないのですが、Access+SQLServerの場合でも特に不具合が
ないものなのでしょうか。
いぜん、日本語を使わないほうがよいということを目にしてから、どうにもわかりにくいと思いつつ
テーブル名・フィールド名などに英語+ローマ字を使って開発を行っております。
今後の参考までにも、どうかよろしくお願いします。
2006年10月15日日曜日 3:14
#復帰第1弾。。。
詳しい話は過去に PASSJ(http://www.sqlpassj.org/) のメーリングリストで議論し、結果的に日本語の項目名を使うと予期せぬ結果(エラー)になることが確認されています。
これは SQL Server の言語処理を SQL Server 自体から OS の NLS を使うことに変更になったことによる問題です。
たとえば、項目名を「グループ」というものしたとします。
それを Windows XP 上の SQL Server 2000/MSDE 2000 でアプリケーションを動かしてみてください。
SELECT グループ FROM テーブル
のように。
するとエラーになります。
これを回避するには SQL 文を
SELECT [グループ] FROM テーブル
とすることです。
ですので、絶対使ってはだめというものではありませんが、ウィザードなどで生成される SQL 文はこのように「[]」でくくってくれない場合がありますので、できれば避けてほしいというものなのです。
自力で SQL 文をすべて書くできるのであれば、上記の注意点を考慮してアプリケーションを作成してください。
これはすべてのアプリケーションにいえることです。(Access + SQL Server/VB + SQL Server などなど)
この他にもデータ検索で LIKE 検索した場合の問題、フルテキストインデックスの問題、UNICODE のサロゲートペアの問題などいろいろ日本語にまつわる問題があります。
#たぶん Vista の新SJIS 対応も問題になることになるでしょう。
PASSJ としては、これまでもこれからも日本語が正しく利用できるように声をあげて行きたいと考えていますので、ぜひ参加してください。
なお、PASSJ は無料登録できますので、ぜひ。