• ベストアンサー

テーブルの項目名称について

オラクルのテーブルを作成する時の項目名称なのですが、 日本語の名称と英語の名称とでは、パフォーマンスや、使用容量などが かわるのでしょうか? オラクルは10gです。 初心者の質問で申し訳ありませんが、ご回答宜しくお願いいたします。

  • Oracle
  • 回答数4
  • ありがとう数3

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

  • ベストアンサー
  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.4

テーブル名はバイトコードでできたOBJECT_IDのエイリアスに 過ぎないですからオラクルのパフォーマンスや容量に関わる とは思えないです。 しかし、人間的なコストパフォーマンスはモチベーションを含めて 設計側かプログラム開発側の立場かによって相当変わると思います。 メリット 1) http://www.thinkit.co.jp/free/tech/31/3/ デメリット 2) http://biz.rivus.jp/config/objectname_guideline.html 1) では 「Oracle技術者主体だと9対1で日本語を利用しない」と書かれています。

NEON-MUU
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 お客様をなっとくさせる事が出来ました。 ありがとうございました。

その他の回答 (3)

noname#24096
noname#24096
回答No.3

もう何年もOracleは触っていませんので パフォーマンス等は分かりませんが 昔、日本語項目で開発した経験から。。 #2さんも書いておられますが いちいち変換しなければならないので 非常にプログラミングしにくいです。 (漢字は、同音語・同義語など間違えやすい要素もありますし) ソースが理解しやすくなることはあるかもしれませんが ちゃんとコメントを書けば問題ありませんからね。 なので、日本語項目は避けたほうがいいのでは。。 お客への説得に使うのであれば、  プログラミングに手間(工数、お金等)が増える という感じでしょうか。

NEON-MUU
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 お客様をなっとくさせる事が出来ました。 ありがとうございました。

回答No.2

パフォーマンスや使用容量に関してはk_o_r_o_c_h_a_nさんと同じ意見ですが、私は日本語の列名にはしません。 通常、日本語(マルチバイト文字)の列名の場合、ダブルクォートで括るのが基本です。SQLを書いていると見にくいです(長くなるにつれ特に)。 また、ミドルウェアなどでまともに動作しないことも昔はありました。 #開発系にはほとんど携わっていないので今じゃ大丈夫になったのかもしれないけど。 私なら、項目名は英数字で列コメントに日本語の名称を入れるようにします。 そうすると、オブジェクトブラウザにもコメントが出ますしツールによっては列コメントを拾って表示してくれるのでいいです。 どうしても使いたい場合は使用する部分のビューを日本語の列にします。 OTNでの一例を参考URLに記入しておきます。

参考URL:
http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-901233&bbsid=1&no=7423&view=9
NEON-MUU
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 お客様をなっとくさせる事が出来ました。 ありがとうございました。

回答No.1

日本語でも英語表記でも、項目名の命名基準はパフォーマンスに殆ど影響しません。 記憶容量も、日本語、英語で変わるモノでもありません。 命名した項目名の名称がの長さが変われば、記憶容量に差は出ますが・・ それが大きなパフォーマンスの違いにはなりません。 どちらが使いやすいとかで選んで良いと思いますよ。 (日本語は日本語の使いにくさ、英語は英語のわかりにくさと一長一短です)

NEON-MUU
質問者

補足

ご回答ありがとうございます。 上記の事が書いてあるHPとか知りませんか? お客様に提示する資料を作りたいのですが、なかなかみつかりません。 重ね重ね宜しくお願いいたします。

関連するQ&A

  • テーブルの項目名にコメントは付けられる?

    Oracleでは、テーブルの各項目にコメントは付けられないのでしょうか? 例えば、SYOUHIN_C には「商品コード」というコメントを振って、 後でテーブルレイアウト表を作成する際に、取得したいのです。 CREATE TABLE時 や 後からALTER でも構いません。 よろしくお願いします。

  • oracle日本語カラム名

    ただ今お客様の要望でカラム名、及びテーブル名を日本語で作成しております。accessで情報を見れるよう考えています。 oracle10gで作成したところカラム名、及びテーブル名を英語で作成したときより検索に大幅に時間がかかるようになりました。どなたか原因を知っている方は教えていただきたです。 ちなみにデータ容量は約100万件1.5G程度です。

  • Oracle 10g以降 ユーザーインターフェース

    質問いたします。 Oracle 10gの正規版(やすいもの)を買って Oracleを使用するつもりなのですが、 (1)グラフィカルユーザーインターフェース SQL Server 2000やAccessのような、SQL(SQLServerではSelect文) をGUIで作成できる機能はOracle10g以降では提供されているのでしょか? (会社ではOracleのDBは扱ったことはありますが、Accessからの リンクテーブルやVB.Netからのアクセスが主、直接は操作していません)あるいは、GUIインターフェースで操作できるものは Oracleではオプションで買うことになるのでしょうか? (2)日本語名 SQL Server 2000やAccessでは日本語名称が使用できますが、 MySQLやPostgresは英文字(日本語で作ったことがない)しかし要したことがありません。 Oracle 10g以降では日本語名称は使用できるでしょうか? ※おそらく、Unicodeかなんかの関係でタブーではあると思いますが。 よろしくお願いします。

  • oracle11gで、PL/SQLにてAというテーブル内の項目にCLO

    oracle11gで、PL/SQLにてAというテーブル内の項目にCLOB型のデータがあります。 そのCLOB型項目を別テーブルの1、2、3のVERCHAR2型にそれぞれ4000バイトずつに 振り分けたいと考えています。 CLOB型ですと、DBMS_LOB.SUBSTRを使用する方法等があると思いますが、バイト数で振り分ける方法なないものでしょうか? 教えて頂きますようお願いします。

  • OracleDatabaseのテーブル名

    無償版のOracle Database 10g XEを使用しているのですが、 CSVファイルをロードして、テーブルを作成する過程で、テーブル名を付けるところで、 日本語を混ぜて、Shift-JISで「TBL_AAA_第01表_統計データ」と入力し、次へ進むと、 エラーとなりテーブルを作成できません。「TBL_AAA_第01表」とすると作成可能ですが、何のテーブルか分からなくなります。 Oracleの文字数制限は30バイトだと記憶しているのですが、入力したテーブル名は計算すると27バイトで制限以内になります。 このテーブル名は使用できないのでしょうか?

  • 他テーブルで一致する列から名称を取得したい(SQL文)

    SQL文の作成方法が分からず困っています。 以下の実現はどのように行えばよろしいでしょうか? --------------------- テーブルA:(項目)キー番号、項目No テーブルB:(項目)キー番号、項目No1、項目No1名称、 項目No2、項目No2名称、項目No3、項目No3名称 --------------------- とします。 ここで、テーブルA、Bでキー番号が一致し、 テーブルAの項目Noで、テーブルBの項目No1~3のどれかと 一致した場合、項目名称をテーブルBより取ってきたいです。 出力する時、項目No、項目名称は1個のみ出力したいです。 項目No1~3にない場合も名称空白でそのまま出力します。 (データ例) テーブルA: 100,1 100,4 110,5 テーブルB: 100,1,項目名1,2,項目名2,3,項目名3 110,3,項目名3,4,項目名4,5,項目名5 結果: 100,1,項目名1 100,4,(空白) 110,5,項目名5

  • oracle XEのACCESS(ODBC接続)で#Deletedと表示される

    ACCESS(2002)のODBCを使用してoracle XEのテーブルリンクして、テーブルの中身を表示すると#Deletedと表示されます。 テーブル名は、英名で、項目名は日本語名称を使用していますが、 そのあたりが原因になっているのでしょうか? 解決策をご存知の方教えてください。

  • テーブル項目の初期化につきまして

    いつも参考に読ませて頂いております、佐藤と申します。 char[] abc; int[] n1; 上記のようにキャラや数値のテーブル項目を使用するようにプログラムを作成しておりますが、コンパイル時に「変数○○は初期化されてない可能性があります」とのエラーが出てきます。 テーブル項目の初期化の方法を教えて頂きたいのですが、ご存知の方はいらっしゃいますか? 宜しくお願い致します。

  • ビューテーブル

    初心者的な質問です。 オラクルデータベースで、検索速度向上の為に ビューテーブルを作る事になりました。 ちょっといまいちわからないのですが、検索条件を 項目として作れば良いのでしょうか?? また、ビューテーブルを作って場合に、そのテーブルに データが入るタイミングとかってどうなっているのでしょうか?? ビューを使わないとしたら 7つのテーブルを参照して、検索をしなければなりません。 環境は、Webです。 ASPからUNIXのオラクル8にアクセスしています。 補足する必要があれば言って下さい。 可能な限り書きます。

  • 異なるOracleサーバ上のテーブルを結合する方法

    異なるOracleサーバ上のテーブルを結合する方法 IPアドレスが異なるOracleのテーブルを結合して出力したいのですが可能でしょうか?2つのテーブルをローカルにダウンロードして結合表示するとパフォーマンスが悪いので、2つのサーバから直接データをダウンロードしたいのです。2つのOracleサーバは読み取り権限しか与えられておらず、SELECT文ぐらいしか使えません。 Oracle 10G Windows 2003 Server