• ベストアンサー

日本語の使用

Access2002を使用してデータベースを作る時の質問です。 テーブル名やフィールド名などに日本語は使用しない方がいいのでしょうか? 使用した場合に発生する問題などがありましたら、教えてください。 よろしくお願いします。

  • shinp
  • お礼率33% (54/163)

質問者が選んだベストアンサー

  • ベストアンサー
  • gadd3
  • ベストアンサー率46% (211/451)
回答No.3

>テーブル名やフィールド名などに日本語は使用しない方がいいのでしょうか? 基本的には問題はないと思います。 私はAccess2000を6年ほどかなりの頻度で使っていますが、テーブル名やフィールド名を日本語にしたからといって、トラブルはいまのところ経験していません。 ただ、他の方もおっしゃいますように将来的に何か別のRDBMSに移行したりすることを考えると、半角英数文字で名前をつけたほうがいいのかもしれません。 といってもAccessから何かに移行するとしたらおそらくSQLServerくらいだと思いますので、そのような場合は特に問題はないとは思うのですが・・・。SQLServerだと%やアンダーバーは使わないほうがいいかもです。 Accessの場合、日本語がどうというよりも、 ・半角カタカナは絶対につかわない。 ・カッコやハイフンなどの記号やスペースは絶対につかわない(半角アンダーバーのみしか使わないようにする) ・全角英数も絶対につかわない ・数字から始まる名前をつけない ということのほうが重要な気がします。 理由はVBA記述やその他、いろんな場面でエラーが出るようになるからです。たちが悪いと最初はエラーが出なくても、他のマシンにコピーしたときにエラーが出るようになったりもします。 98系とNT系OS間や製作したバージョンと異なるAccessバージョンのマシンにコピーしたときなどに起こります。 2000の場合だけかもしれませんが・・・。 2002で改善されていればいいのですが・・・。 結局半角英数を使うほうが確実は確実です。 でも私は日本語派です。 プロの開発者になるのでなければ別に日本語でもいいと思います。 また、私の場合は、フィールド名の終わりにはテーブルを認識できる接尾語もつけています。 Accessは「氏名」「日付」など、たとえば顧客名簿にも従業員名簿にも出てくるようなフィールド名を区別できずにエラーを吐くことがあるからです。 対処法は当然あるのですが、面倒なのでフィールド名には最初から接尾語をつけています。 「氏名_顧マ」「住所_従マ」「日付_売上」「更新日_売上」などのように。これによってSQLを短く書けることもあるので・・・。 なお、テーブル名には接頭語を「 T_00_00_ 」という感じでつけています。クエリやフォームなども同様です。 数字は名前順に並べたときにメンテしやすいように、機能ごとにまとめておきたいために付けています。

その他の回答 (2)

回答No.2

経験の範囲ですが、問題ないっちゃぁ問題ないです。 しかしあくまで経験の範囲。どこまで行っても問題ないのかどうかは知りません。 SQL 文などでテーブル名やフィールド名を記述するときに [] でくくるのをお忘れなく。 とか書いておきながら私はテストとかでチョイチョイと試しに作る DB ぐらいでしか日本語は使いません。 SQL とか VBA のコードを書いてて途中で何度も日本語変換が入るのが面倒くさいんで。 私んところではその辺も踏まえて英語で名前を付けさせてます。 毎回知識が蓄積するように辞書化もしてってます。 あ、"SeihinNo" とか "Seikyuukou" とかは NG ね。 こういうローマ字と日本語の混在パターンをたくさん見てると頭が痛くなんで "ProductNum" とか "Claim" て書いてます。

回答No.1

一般論からいえば、「使わないほうが望ましい」です。 理由は、 ・Accessはアメリカで開発しているから。  アメリカ人の中にはアルファベット以外の文字が有ることを知らない  (ましてや1文字を表すのに2バイト使う文字が有ることを知らない)人もいます。  そんな人がたまたま開発チームに入っていたら、  と考えると怖くて日本語は使えません。  ※昔はよく文字化けしたり、検索出来なかったりしました。  ※最近はUnicodeになったのでだいぶマシにはなりましたが。 ・移植性の問題  将来、データを他のデータベースに移植する時に  そのデータベースでは日本語が使えないかもしれません。  英語(あるいはローマ字)にしておけば、絶対大丈夫です。

関連するQ&A

  • Accessの日本語フィールド名

    Access2003を使い、いろいろなmdbを作成しています。 私はテーブルを作成するときに、フィールド名に日本語を使っています。例えば、「社員コード」とか「住所」とか。 しかし、最近聞いた話ではフィールド名に日本語を使うことはよくないとのことです。 フィールド名が日本語だとどんな不具合が発生するのか、教えていただけないでしょうか、宜しくお願いします。

  • Accessで日本語を使っていると実行時にエラーになる。

    Microsoft Accessでデータベースを作成した。そのデータベースを使って、JdbcOdbcDriverでMicrosoft Accessから 値を取得しようとするとテーブル名とフィールド名に日本語を使っているときに以下の部分でエラーになります。 テーブル名とフィールド名には日本語を使いたいのですがどのようにすればよいでしょうか? String sql = "SELECT * FROM 整理" ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ int no = rs.getInt("番号"); } テーブル名とフィールド名を英語にしたらエラーは消えました。

  • MYSQLの日本語テーブルはまずい?

    こんにちは。Accessをいままで利用していましたが、ファイルサイズが重くなってきたために、MYSQLを勉強しようと思っています。 Accessの時はテーブル名やフィールド名に普通に日本語を使っていました。MYSQLなどでも日本語のテーブル名やフィールド名を作ることができました。しかし、日本語でAccess感覚でつけるのはまずいのかな?と思いだしましたが(なんとなく)、日本語で続けると将来的にまずいことなどはおこらないでしょうか? MYSQLはWin XP SP3にインストールしています。レベルとしてはVBAを少しかけるくらいで本格的なDBMSは使ったことがありません。 以上、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • ポルトガル語と日本語の混在

    MySQL 5 で、ポルトガル語と日本語が混在したデータを扱いたいのですが、キャラクタセットは UTF8 でいいのでしょうか? データベース、テーブル、フィールドのすべてをデフォルトをUTF8にしたのですが、ポルトガル語の一部と、日本語が文字化けしてしまいます。 日本語のデータベースもありますので、 MySQLのデフォルトは eucjpms を使用しています。 なかなか上手くできません。よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • データベースから取り出した日本語が化けるのですが

    PHP初心者です。 データベースから取り出した日本語が化けるのでなにか直す方法は無いものかと悩んでおります。今のところアルファベット、数字は問題ありません。 構成はこんなかんじです。 Linux : Vine 2.5 PHP : PHP-4.2.1 DB : Postgresql-7.2 apache 1.3.26 現象: クライアントPCからwebでデータベースに日本語入力は出来ます。 データベースにターミナルから直接入り(psql [DB名])、(select * from [テーブル名];)で確認すると問題無く登録した通りに入っています。 クライアントPCからwebでデータベースの検索をして 拾い出したデータをクライアントPCのweb上で表示をすると文字化けし、 登録した文字とはほどとおいものが出て来ます。 "あ"と登録すると $$ などと出て来ます。 なにかいい方法がありましたら、教えて下さい。

    • 締切済み
    • PHP
  • MySQLで日本語検索

    MySQL初心者のものです。 今PHPとMySQLを利用して検索システムを作っています。 しかし日本語検索がどうしてもうまくいきません。 一応「教えてgoo」でも探してみたのですが、解決しませんでした。 MySQLで、 テーブル名 table フィールド名 field とすると、 select * from table where field like '%キーワード%'; のように検索してみたのですが、思うような結果が返ってきません。 ネットで検索すると「senna」をインストールと書かれていましたが、 そういったものをインストールしなければMySQLで日本語検索は出来ないものなのでしょうか? ちなみに MySQL5.0 PHP5.2.1 を利用しています。

  • Accessの構造(テーブル名など)について

    テーブルやクエリなど(フィールド名含む)作っていてふと思ったのですが、日本語名より英語での名前の方が重くならないのでしょうか? データベースになるべく負担をかけたくないのでと思って。 知っている方ご教授ください。

  • フィールド名について

    一般論というか基本的な考え方として, データベースの中にいくつかテーブルがあって,それぞれリレーション張られていなません。 このときに同じフィールド名を使用することは好ましくないでしょうか? 少し具体的に書くと 例えばアクセスで DB1.MDBというデータベースの中に Aテーブル,Bテーブル,Cテーブルとあったとして Aテーブルの中でNameIDというフィールドを作ったとします。 次にBテーブルを作成していて,またNameIDというフィールド名を使うということです。 このようなデータベースは, どんなデメリットメリットが予想されるか教えてください。 よろしくお願いします。

  • (ACCESS VBA)「・」も文字列と認識させたい

    こんにちはVBA初心者のmynannです アクセスVBAについて質問させていただきます まず商品マスタのフィールドの一つに「商品名・日本語」 と入力しました そしてVBAでプログラムを書いていたんですが Print #1, RS!商品名・日本語 Close #1 としたところ、「・」を他の日本語のように認識せず RS!商品名までで区切られて上手く認識してくれません、、 このような場合はどうすれば 「商品名・日本語」を一つのフィールドとして見なしてくれるのでしょうか? また結構このデータベースは作りこまれているので フィールド名を変更してしまったら リレーションシップ的にもかなりわかわからなくなってしまいます どなたかいいアドバイスを教えていただければ幸いです よろしくお願いいたします

  • ACCESSデータベースにVB6(DAO)でフィールドを追加したい

    既存のACCESSデータベースのテーブルにVB6のDAOでフィールドを追加したいのですが、テーブル名.Fields.Append とかいうメソッドがあるようですが、使用方法がわからずフィールドを追加が出来ません。 具体的には、フィールド名"電話番号"で、文字型で固定文字数13を追加したいのです。 どうぞよろしくお願いします。