- ベストアンサー
日本語の使用
Access2002を使用してデータベースを作る時の質問です。 テーブル名やフィールド名などに日本語は使用しない方がいいのでしょうか? 使用した場合に発生する問題などがありましたら、教えてください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>テーブル名やフィールド名などに日本語は使用しない方がいいのでしょうか? 基本的には問題はないと思います。 私はAccess2000を6年ほどかなりの頻度で使っていますが、テーブル名やフィールド名を日本語にしたからといって、トラブルはいまのところ経験していません。 ただ、他の方もおっしゃいますように将来的に何か別のRDBMSに移行したりすることを考えると、半角英数文字で名前をつけたほうがいいのかもしれません。 といってもAccessから何かに移行するとしたらおそらくSQLServerくらいだと思いますので、そのような場合は特に問題はないとは思うのですが・・・。SQLServerだと%やアンダーバーは使わないほうがいいかもです。 Accessの場合、日本語がどうというよりも、 ・半角カタカナは絶対につかわない。 ・カッコやハイフンなどの記号やスペースは絶対につかわない(半角アンダーバーのみしか使わないようにする) ・全角英数も絶対につかわない ・数字から始まる名前をつけない ということのほうが重要な気がします。 理由はVBA記述やその他、いろんな場面でエラーが出るようになるからです。たちが悪いと最初はエラーが出なくても、他のマシンにコピーしたときにエラーが出るようになったりもします。 98系とNT系OS間や製作したバージョンと異なるAccessバージョンのマシンにコピーしたときなどに起こります。 2000の場合だけかもしれませんが・・・。 2002で改善されていればいいのですが・・・。 結局半角英数を使うほうが確実は確実です。 でも私は日本語派です。 プロの開発者になるのでなければ別に日本語でもいいと思います。 また、私の場合は、フィールド名の終わりにはテーブルを認識できる接尾語もつけています。 Accessは「氏名」「日付」など、たとえば顧客名簿にも従業員名簿にも出てくるようなフィールド名を区別できずにエラーを吐くことがあるからです。 対処法は当然あるのですが、面倒なのでフィールド名には最初から接尾語をつけています。 「氏名_顧マ」「住所_従マ」「日付_売上」「更新日_売上」などのように。これによってSQLを短く書けることもあるので・・・。 なお、テーブル名には接頭語を「 T_00_00_ 」という感じでつけています。クエリやフォームなども同様です。 数字は名前順に並べたときにメンテしやすいように、機能ごとにまとめておきたいために付けています。
その他の回答 (2)
- temtecomai2
- ベストアンサー率61% (656/1071)
経験の範囲ですが、問題ないっちゃぁ問題ないです。 しかしあくまで経験の範囲。どこまで行っても問題ないのかどうかは知りません。 SQL 文などでテーブル名やフィールド名を記述するときに [] でくくるのをお忘れなく。 とか書いておきながら私はテストとかでチョイチョイと試しに作る DB ぐらいでしか日本語は使いません。 SQL とか VBA のコードを書いてて途中で何度も日本語変換が入るのが面倒くさいんで。 私んところではその辺も踏まえて英語で名前を付けさせてます。 毎回知識が蓄積するように辞書化もしてってます。 あ、"SeihinNo" とか "Seikyuukou" とかは NG ね。 こういうローマ字と日本語の混在パターンをたくさん見てると頭が痛くなんで "ProductNum" とか "Claim" て書いてます。
- Hayashi_Trek
- ベストアンサー率44% (366/818)
一般論からいえば、「使わないほうが望ましい」です。 理由は、 ・Accessはアメリカで開発しているから。 アメリカ人の中にはアルファベット以外の文字が有ることを知らない (ましてや1文字を表すのに2バイト使う文字が有ることを知らない)人もいます。 そんな人がたまたま開発チームに入っていたら、 と考えると怖くて日本語は使えません。 ※昔はよく文字化けしたり、検索出来なかったりしました。 ※最近はUnicodeになったのでだいぶマシにはなりましたが。 ・移植性の問題 将来、データを他のデータベースに移植する時に そのデータベースでは日本語が使えないかもしれません。 英語(あるいはローマ字)にしておけば、絶対大丈夫です。