サポート > データベース活用ガイド > テーブル名の文字数制限について
データベースは、テーブルやビュー等の名前が許容値を超えるとエラーになります。ここでは、その詳細な仕組みについて説明します。
制限
データベースは、テーブルやビュー等の名前が許容値を超えるとエラーになります。 (例えばOracleの場合は、ORA-00972エラーが発生します。)
Wagby では「繰り返し項目」「繰り返し項目コンテナ」「マスタモデルの参照(チェックボックス)」「他のストアモデルの参照(チェックボックス)」を定義すると、これらを格納するテーブルを次のような命名規則に基づいて作成します。
テーブル名の命名規則:「モデル名(英語)」+「$」+「項目名(英語)」
事例
例えば、次のようなモデルを用意したとします。
- モデル(英語)を「customer」とする。
- モデル項目「担当職員」(英語名:「tantoushokuin」)を「繰り返し項目」とする。
- モデル項目「商談履歴」(英語名:「shoudanrireki」)を「繰り返しコンテナ」とする。
- モデル項目「商談状況」(英語名:「shoudanrireki/jyoukyou」)を「マスタモデルの参照(チェックボックス)」とする。
この場合、テーブルは全部で4つ作成されます。それぞれテーブル名は以下のようになります。
| テーブル名 | テーブルの作成理由 |
|---|---|
| customer | モデル名と同名のテーブルは必ず作成される |
| customer$tantoushokuin | tantoushokuin が繰り返し項目として定義されているため |
| customer$shoudanrireki | shoudanrirekiが繰り返し項目のコンテナとして定義されているため |
| customer$shoudanrireki$jyoukyou | jyoukyouがチェックボックスとして定義されているため |
外部データベースに Oracle を使っていた場合、 この例では、customer$shoudanrireki$jyoukyou というテーブル名が 31 バイトとなり Oracle の制約に違反するためエラーになります。
Wagby はこれを検知し、自動的に短いテーブル名を用意します。
