サポート > データベース活用ガイド(R6) > テーブル名の文字数制限について

データベースは、テーブルやビュー等の名前が許容値を超えるとエラーになります。ここでは、その詳細な仕組みについて説明します。

制限

データベースは、テーブルやビュー等の名前が許容値を超えるとエラーになります。 (例えば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 はこれを検知し、自動的に短いテーブル名を用意します。