• ベストアンサー

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

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

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

15年くらいAccessと付き合っていますが、漢字と英字による差は 無いと言って良いでしょう。但し、次のような場合が考えられます。 Webアプリケーションで、利用者がテーブル名やフィールド名を自由に 選べる機能です。Webクライアントからサーバへこれらの情報が伝送 される訳ですが、Encode⇔Decode、伝送量という観点から考えると、 「英字でなるべく短い名前」というのが効率的かも知れません。 但し、そんな要求は滅多にないので、「気にしなくても良い」と言う のが私の結論です。

その他の回答 (3)

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

補足です。 名前と動作速度のからみでいうと、 「名前の自動修正」機能がONになっていると 遅くなることがあるので、 僕はそれはいつもOFFにしてます。 他の全く関係なさそうな不具合を頻発したこともあって・・・。

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

日本語だから遅くなることは無いみたいですけど、 何らかの不具合が出る可能性はあります。 特に高度な利用をする場合。 でも基本的にはOKだと思います。 私もフィールド名とテーブルやフォームなどの 基本オブジェクトの名前は日本語ばっかり使ってます。 日本語というより、半角カタカナを使わない方が重要です。 使ってもファイルは壊れませんが、不具合(エラー等)が結構出るので 使わない方がいいです。 例えばイベントプロシージャがらみ、その他で不具合が出ます。 (別PCにmdbファイルを移設しときなど) 記号もアンダーバー等以外は使わない方がいいです。 トラブルのもとです。(カッコとか、ダメです。特にフィールド名で。) スペースは絶対に使用しません。 自作関数のプロシージャ名は英語しか使わない方がよいと思います。 不具合がでる場合があるそうです。 またモジュール名もできれば英語の方がいいと思います。 (特に、関数を汎用化したくてmdbを参照設定する場合は。) 連番、入力日付、更新日付、氏名、住所、などのフィールド名は、 例えば、顧客マスタや従業員マスタなど、複数のテーブルに登場します。 でも、フィールドが同じ名前だとAccessが 『どのテーブルの「連番」かわからんぞ!』とクエリなどで エラーが出ることがあるので、面倒ですから、テーブル名を意味する 接尾語をつけてます。 テーブル名を指定すればいいだけですが、いちいち面倒くさいので。

noname#182251
noname#182251
回答No.1

根拠を示すことはできませんが、Accessだけで運用している限り差はないはずです。しかしWebやその他、フロントエンドが変わったとき、問題が起きる可能性はあるでしょう。

関連するQ&A

  • Accessです。テーブルのフィールド名変更

    初心者です。お願いいたします。 仕事で、Accessを使っています。 素人なりにそれらしいものを作って使っていたのですが、困ったことに元ととなるテーブルのフィールド名を変更しなくてはならなくなりました。 そのテーブルに関係するクエリーをたくさん作っている場合、フィールド名を変更することによって関係するクエリーも一つ一つ変更していかなくてはならないのでしょうか? テーブルのフィールド名を変更すると、関係するクエリーのフィールド名も自動的に更新できるという方法はあるのでしょうか? 初心者でスイマセン。よろしくお願いします。

  • テーブルを作ろうとしたら。

    下記のようなエラー文が表示されます。 NOTICE: CREATE TABLE will create implicit sequence 'テーブル名とフィールド名をくっつけたような名前' fo r SERIAL column 'テーブル名.フィールド名' NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'テーブル名_pke y' for table 'テーブル名' このデーターベースには他にもテーブルがありますが、 名前が主キーで名前が同じものがあるからエラーがでると思い、名前を変更して実行しましたが、同じような エラーがでました。 テーブル名とフィールド名をくっつけたような名前はもともとなかったものなのですが、実行後にデータベースに作成されました。 どなたかわかる方がいたら、ご教授お願いいたします。

  • アクセス クエリのフィールド名が勝手に変わる

    access 2010を使用しています クエリのフィールド名が[元となるクエリ名].[フィールド名]に勝手に変わってました。 このクエリはリンクテーブル(リンクする側)ひとつから作ったクエリをさらに条件で絞り込んだものです。 今はまだデータベースの開発段階で、大元となるリンク先のテーブルのデータを書き換えることも多々あります。 このフィールド名で不都合が生じるのは、このクエリをもとに作ったフォームのラベル名です。 今は手動でこの[元となるクエリ名].を消しているのですが、この原因はなんなのでしょうか? それからリンクテーブルというのはこういう問題がよくおこるのでしょうか? プロパティなどを見ても全く何がおかしいのかわからないので、どなたかご教示お願いいたします。

  • 二つのテーブルを一つのクエリにまとめる方法

     ACCESS2000、ウィンドウズ98です。  二つのデーターベースがあり、まったく同じ名前・すべてのフィールド名も型もプロパティも同一の(COPYなので)テーブルを有しています。  第三のデーターベースを作り、そこに二つのテーブルをまとめたテーブルかクエリーを作る方法(校舎が二つあって、それぞれ違う子供達のデータなのです)がありましたら教えてください。  外部リンクの方法は知っております。

  • MS accessで2つのテーブルを比較したい

    数々この質問は出ているのですが、『不一致クエリウィザード』でやっても上手くいかないので、こちらで質問させていただくことにしました。 比較したいデータは、フィールドの名前が異なる2つのテーブルがあって、その比較したいフィールド数は120になります。 同一フィールドは「FID」「laa」というフィールドです。 一応自分で『不一致クエリウィザード』でやってみた手順としては以下の通りになります。 1.『不一致クエリウィザード』をクリック 2.どちらかのテーブルを選択(レコード抽出テーブルや比較するテーブルなど) 3.関連付けフィールドは、2つのテーブルで同じものを選択  (「FID」「laa」を選択) 4.結果を表示するフィールドを選択(120個全部) 5.「クエリのデザインを編集する」の方にチェックを入れて「完了」 6.クエリのデザインになったら、それぞれの名前は違うけど対応するフィールド同士をつなぐ 7.結合プロパティで2番ないし3番を選択 8.それを全部のフィールドにした   ↓ すると「クエリが複雑すぎます」とエラーメッセージが出てしまった。 一体どうすればよいのでしょうか? なにぶん初心者ですので、よろしくお願いします。 ※もしかして、フィールド名が異なっているのはダメなのでしょうか?

  • Accessでのテーブル構造の作り方

    MS Access 365版について質問です。 知識は、先週末に入門書(Accessのデータベースのツボとコツがゼッタイにわかる本)を一冊読んだだけで初めての実務というレベルです。(非ITエンジニアなので専門用語は避けていただけるとありがたいです) 用途は、自部署内のデータ管理です。 質問1 今、あるテーブルT1があったとして、そこにフィールドT1_F1~T1_F10があったとします。 この時、主キーにするID(T1_F1)以外のT1_F2~T1_F10はすべてドロップダウンで入力したかったとします。 T1_F2のドロップダウンを表示するときの参照するマスタとなるテーブルとしてMT2があったとして、フィールドがMT2_F1~MT2_F5まであったとします。 MT2の主キーをMT2_F1として連番が振られているものとして、MT2_F2にはそのレコードの概要(そのレコードの全体像が把握できる日本語名称)が格納されていて、MT2_F2~MT2_F5までは各種のパラメータが格納されています。 また、T1_F3以降も同様のマスタとなるテーブルMT3~MT10を参照していたとします。 このときに、T1のレコードを入力するとしたら、T1_F2のドロップダウンにはMT2の主キーであるMT2_F1(連番)を選択することになると思います。 しかし、連番ではユーザーが直感的な選択ができないため、連番を選ぶ際に、同時にMT2_F2(日本語の説明)が見れると便利だと思います。 このようなことは実現できるでしょうか? できるとしたら、どのような方法になりますでしょうか? T1へのレコード入力のクエリと、MT2~MT10への選択クエリを同じ画面に表示させるなどができるなら、それが王道でしょうか? 質問2 次に、T1_F3のドロップダウンはMT3の主キーを表示することになります。 しかし、MT3はフィールドが1つだけで構成されており、内容も「パターンA」「パターンB」~「パターンF」のような日本語を主キーに設定すれば事足りるパラメータだったとします。 (ようは、T1_F3のレコードに入力可能な日本語は何パターン化に規制したいだけで、「パターンA」などに紐づくそれ以上の情報は存在しない状態です) この場合、T1側で入力規制をすることは可能でしょうか? これだけの目的でも、マスタ(MT3)をつくるのが正攻法でしょうか? 実は、この例ではT1のフィールド数は10としましたが、実際にはもっと多く、T1_F4が参照するMT4の各フィールドがさらに、そのマスタとなるテーブルを参照しに行かなければならないという状態で、おそらく、全体で少なくとも3層~5層程度の構造になりそうで、マスタとなるテーブル数も数十くらいになりそうです。 これをつくるのがやや手間になりそうなので、1層だけでも手抜いてテーブル数を少なくできるならそうしたいという目的です。 ただ、メンテナンス性などもろもろを考えると、マスタテーブルを用意するのが正攻法ということなら、手間はかけてもテーブルを作りたいと思っています。 お手数ですが、よろしくお願いいたします。

  • Access 選択クエリで「テーブル名」「集計内容」の一括変更

    (1)選択クエリでテーブル名を変えたい場合、フィールド毎にプルダウンより選択しないとならないのでしょうか? フィールドが複数ある場合、とても面倒です。 一括でテーブル名を変える方法があればご教授下さい。 (2)選択クエリで集計内容を変えたい場合、(1)同様プルダウン選択以外方法はないのでしょうか? デフォルトが「グループ化」になっていて、複数のフィールドを「合計」したい場合とても大変です。 一括で変更できる方法があれば、ご教授下さい。

  • ACCESS2000 テーブルを分けてアンケートを集計するには?

    いつもお世話になっております。 WINXPでACCESS2000SR-1を使用し、 現在、アンケートを集計するデータベースを作成しています。 アンケート項目(フィールド)は、255近くあるので テーブルを何種類かに分けてデータベースを作ろうと思います。 例えば Aテーブルには「名前」 B,C,Dテーブルにはアンケートの回答を入れようと思います。 この場合、Aのレコードに対してB,C,Dのレコードを関連付けるにはどうしたらよいですか? また、クエリーでテーブルを合体すれば良いのですが フィールド数が多いためダメです。 宜しくお願い致します。

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

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

  • Access2000 のテーブルの構造を複写

    マシンAとマシンBにそれぞれ Access2000 がインストールされています。 マシンAでAccess2000 でデータベースがすでに存在します。 このデータベースには複数のテーブルが存在して、そのうちあるテーブル(「テーブルA」とします) とまったく同じ構造のテーブル(データは転送不要)を マシンBにもってくるにはどうすればいいでしょうか? マシンBのデータベース名は別の名称で、かつ、マシンAのDBファイルをマシンBに複写できないのですがどうすればいいでしょうか? (テキストファイル程度ならマシンBにもってこれるという前提です) フィールド数が2個程度なら手入力も考えたのですが・・・