Db2 オブジェクト命名規則
一般的な命名規則に加えて、いくつかの追加規則が特定の Db2 オブジェクトに適用されます。 この規則は、フェデレーテッド・データベースと非フェデレーテッド・データベースのデータベース、別名、インスタンス、オブジェクトの命名に影響します。
オブジェクト | ガイドライン |
---|---|
|
注: 通信環境でデータベースを使用する場合は、潜在的な問題を回避するために、データベース名に特殊文字 @、#、および $を使用しないでください。 さらに、これらの特殊文字はすべてのキーボードに共通ではないので、
他の言語でデータベースを使用する場合にも使用しないでください。
|
オブジェクト | ガイドライン |
---|---|
|
詳しくは、 IDを参照してください。 |
オブジェクト | ガイドライン |
---|---|
|
これらのオブジェクトの長さは、 SQL および XML の制限にリストされている長さ以下でなければなりません。 フェデレーテッド・データベース・オブジェクトの名前には、次のものも含めることができます。
|
区切り ID およびオブジェクト名
キーワードを使用することができます。 キーワードが SQL キーワードとしても解釈されるコンテキストで使用される場合には、 それを区切り ID として指定する必要があります。
区切り ID を使用することによって、 上記の命名規則に違反するオブジェクトを作成することは可能ですが、 そのオブジェクトを続けて使おうとするとエラーになります。 例えば、名前に + または - 記号が含まれている列を作成し、 その列を索引の列として使おうとすると、索引の表を再編成する段階で問題が起きてしまいます。
スキーマ名の追加情報
- ユーザー定義タイプ (UDT) は、 SQL および XML の制限にリストされている長さより長いスキーマ名を持つことはできません。
- 次のスキーマ名は予約語なので、使用できません。SYSCAT、SYSFUN、SYSIBM、SYSSTAT、SYSPUBLIC。
- 今後データベースをアップグレードする際に問題が起こることがないように、SYS で始まるスキーマ名を使用しないでください。 データベース・マネージャーでは SYS で始まるスキーマ名を使用して、トリガー、ユーザー定義タイプ、 またはユーザー定義関数を作成できません。
- SESSION をスキーマ名として使用しないようお奨めします。 宣言される一時表は、SESSION によって修飾しなければなりません。 したがって、アプリケーションに永続表と同じ名前の一時表を宣言させることができますが、 その場合、アプリケーション・ロジックが複雑になりすぎる可能性があります。 宣言される一時表を扱う場合以外は、スキーマ SESSION の使用を避けてください。