DBMSの基本的な機能の1つとして、データベースの定義をDDLのような言語で行うことができる点が挙げられます。ただ、DDLの文法の詳細は、DBMSによって異なる部分があります。すべてのDBMSのDDLで共通のキーワードがある一方で、DBMSに依存するキーワードや文法もあります。そのため、Enterprise ArchitectではそれぞれのDBMSごとにテンプレートを提供しています。
このページでは、DBMSごとの固有の制限事項について説明しています。
MS Access
- テーブル・テーブルの列・制約・ビューなどのコメントを出力することができません。コメントの出力に関する設定は無視されます。
- CREATE TABLE文では、列の既定値の指定はできません。生成されるDDLでは、列の既定値の指定は出力されません。
- DDLに含まれるオブジェクト名は、空白文字やさまざまな文字を含むことができるため、基本的には角カッコ ([ ]) で囲む必要があります。ただし、CREATE VIEW文では角カッコには対応していないため、空白文字などは下線文字 ('_') で置換します。
MySQL
- MySQL バージョン 5.5.3以降は、コメントはインデックスと一意制約にのみ設定できます。
- インデックスと一意制約のコメントは作成時にのみ設定できます。そのため、インデックスと一意制約のコメントの変更の場合には、既存の内容を削除(drop)して再作成となります。
- チェック制約には対応していません。ただし、DDLを実行してもエラーにならず、無視され処理は行われません。
- コメントをビュー・プロシージャ・ファンクションに適用できません。コメントに関する設定は無視されます。
Oracle
- コメントをビュー・プロシージャ・ファンクションに適用できません。コメントに関する設定は無視されます。
PostgreSQL
- ファンクションのパラメータには対応していません。そのため、ファンクションに対して名前で参照する文 (COMMENT ON や DROP) には対応していません。
SQLite
- 既存のテーブルに追加できません。そのため、既存のテーブルは一度削除(drop)して再作成となります。
- コメントには対応していません。そのため、コメントの出力に関する設定は無視されます。