2017-02-20 3 views
0

私はdb2テーブルの命名でちょっと混乱しています。 DB2では、...など表領域スキーマデータベース名ユーザ名テーブル名を、持っています。
質問:質問すると(つまり、*を???から選択すると)、はどれですか?は完全なテーブルの名前ですか?私がちょうどテーブル名を置くと、いくつかの状況のように動作しません。 (表スペースおよびスキーマも必要です)。
たとえば、[データベース] [テーブル]です。しかし、DB2についてはどうですか?DB2テーブルのフルネーム

ありがとうございます。 DB2では

答えて

2

あなたは、データベースに接続し、それをあるエンド・ユーザーのスキーマとテーブル名

schema.tablename 

から選択します。バックグラウンドではニックネームで狂ったことが起きる可能性があります - 浮上したschema.tablenameは他のサーバー(フェデレーションを持つ他のサーバーでも)のエイリアスですが、クエリの観点からはschema.tablenameの場所にあります。

表領域とINDEXSPACESは、データがディスク上に格納されている場所をマップするために内部的に使用して、テーブルを作成している場合にのみ問題です。

バッファプールは、データがメモリに格納される場所をマップするために内部的に使用され、表領域の作成時にのみ重要です。

その他のオブジェクト(ビュー、インデックス、ストアドプロシージャ、ファンクション、およびシーケンス)ちょうどテーブル

schema.<objectname> 

あなたが名前に特殊文字を持つことができますDB2の特殊文字

のようなものです。あなたは自分の名前に大文字と小文字を組み合わせた場合

schema."tablename with space" 

引用符も必要とされている特別な名前の周りに「使用しています。名前は大文字で宣言されている場合、DB2は大文字に変換されますので、主要な練習はしていますすべての名前で大文字とアンダースコアを使用してください。引用や大文字小文字の区別について心配する必要はありません。

関連する問題