
No.2ベストアンサー
- 回答日時:
テーブルを使用するのも作成するのも面倒がありますが、構文上の問題はありません。
というのが、答えになるでしょうか。表名や列名に日本語文字を使用する場合は、名前を" "で囲う必要があります。制約はただこれだけです。(マニュアルに記載があります。)
ただこれだけのことなので、自分で開発したデータベースを、自分で作成したアプリで利用する場合には、何の問題もありません。ただし、日本語とシングルバイトの英文字が混在する場合は注意してください。この場合、英文字の方の大文字小文字をきちんと区別する必要があります。""で囲っていない場合は、総ての名前は大文字変換されて使用されるのですが、囲った場合はこの変換がないからです。
それより、やっかいごとは外からやってきます。
データベースの開発・メンテナンスにsql plusやEMだけを利用しているなら大丈夫ですが、サードパーティー製のソフトを利用している場合は、そのソフトが日本語表名・列名を正しくサポートしていることが必要です。
また、アプリケーションの作成の際に、ライブラリーなどを利用しているのであれば、これらも正しく日本語表名・列名に対応している必要があります。
なぜなら、普通列名や表名を" "で囲うということはしないからです。囲うことによる副作用もありますから、ライブラリーやソフトが日本語文字が混在していることを正しく認識して、日本語の混じっている時だけ正しく" "で囲うという処理が必要で、これは、明らかに特殊な処理ですから。
まぁ、今までの経験からすると、囲わなくても正しく動くことが多いです。が、正式に構文として明記されている以上、動く方が偶然であると認識しておくことは必要でしょう。特に、二バイト目のコードがASCIIコードの特殊文字の文字コードと同じになっているいくつかの文字あたりが鬼門になると思います。
表名も列名もとっても見やすくなり、メンテナンスも楽になります。が、ある程度のリスクを抱えての選択であると言うことは意識しておく必要はあるでしょう。
作法としてやって良いかどうかは、宗教論争の面がありますで、避けることにします。
mitoneko 様 ご回答いただき、ありがとうございました。
「自分で開発したデータベースを、自分で作成したアプリで利用する場合には、何の問題もありません。」という点。よく理解できました。私の場合は、おかげさまで安心して利用できます。
また、作法としては「宗教論争の面」があるということもわかり、勉強になりました。
的確な回答をいただき、感謝しております。ありがとうございました。
No.1
- 回答日時:
> 表名や列名に日本語を使っても問題はないでしょうか
ダブルクォートすれば問題はないようです(結構面倒です)。
・参考サイト
http://homepage3.nifty.com/yamada_ken1/starthp/s …
http://www.shift-the-oracle.com/guideline/multib …
・OTN掲示板の参考スレッド
http://www.oracle.co.jp/forum/message.jspa?threa …
# 日本語の表名、列名の問題は宗教論争になりがちで……
dda167 様
いつも適切なご回答をいただき、感謝しております。
よく理解できました。
MySQLをやりましたときには、5Cコードの問題があり、日本語は絶対ダメと思っていたのですが、Oracleではダブルクォートで問題がない(Oracle内だけでは)のですね。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- ルーター・ネットワーク機器 AU光10G回線について 6 2022/07/25 00:12
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Excel(エクセル) Excel セルに入っている日付を参照して、別シートのリストを表示させたい 1 2022/04/12 17:02
- 日本語 〈場所を示す「に」と「で」〉 という誤り 36 2022/11/12 15:04
- 日本語 <助詞の話──場所を示す「に」と「で」>という誤り 1 2023/05/17 00:06
- 英語 英語のレポートとして、世界遺産についてまとめることになり、イギリスのウェストミンスター宮殿の歴史と現 2 2022/11/05 22:35
- 日本語 「~人」と「~名」の使い分け 2 2022/06/02 11:59
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- 日本語 「が」についての叩き台です。ご感想をお聞かせください。 93 2022/09/29 14:11
このQ&Aを見た人はこんなQ&Aも見ています
-
oracle spool SJIS → UTF-8
Oracle
-
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
MySQLカラム名は日本語と英数字のどちらが良いか
MySQL
-
-
4
Oracleで「文字が無効です」のエラーが出ます
Oracle
-
5
ORA-00959: 表領域'****'は存在しません
Oracle
-
6
CASE文のエラーについて
Oracle
-
7
テーブルの存在チェックについて
Oracle
-
8
PL/SQLで@ファイル名が反応しません
Oracle
-
9
SELECTの結果で同一行を複数回出力する
Oracle
-
10
oracleの文字コードとlinuxサーバの文字コードが異なる場合、サ
その他(コンピューター・テクノロジー)
-
11
datapumpの実行方法について
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
決定性有限オートマトン
-
OracleのSQL*PLUSで、デー...
-
GROUP BYを使ったSELECT文の総...
-
Excelでセルの書式設定を使用し...
-
Excelで、改行がある場合の条件...
-
SQLについて質問です。 AVG関数...
-
日本語の表名、列名の利用について
-
ACCESSのコンボボックスの右側...
-
NULLのみを保持した列を除外し...
-
GROUP BYを行った後に結合した...
-
ファイル書込みで一行もしくは...
-
Oracleでの文字列連結サイズの上限
-
Recordset.FindFirstについて
-
MERGE文を単体テーブルに対して...
-
DataGridViewの、選択されてい...
-
使うべきでない文字。
-
select insertで複数テーブルか...
-
最新の日付とその金額をクエリ...
-
Accessで別テーブルの値をフォ...
-
レコードが存在しなかった場合
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OracleのSQL*PLUSで、デー...
-
Excelでセルの書式設定を使用し...
-
GROUP BYを使ったSELECT文の総...
-
Excelで、改行がある場合の条件...
-
日本語の表名、列名の利用について
-
ACCESSのコンボボックスの右側...
-
別のテーブルの値でUPDATEした...
-
image型のInsertについて
-
SQLを教えてください
-
MS-ACCESS2000で数万件のデータ...
-
NULLのみを保持した列を除外し...
-
エクセルの集計(縦横での集計)
-
COBOLソースに記述するホスト変...
-
LOAD DATE INFILE で Bit(1)型...
-
DB2で UNION ALL と GROUP BY ...
-
ADOのRecordCountプロパティに...
-
レコードセットからどれでも1...
-
SQLについて質問です。 AVG関数...
-
主キーに重複があるレコードの...
-
Excelの一覧から重複データを削...
おすすめ情報