データテーブル識別子

概要

NocoBase では、データテーブル識別子(Table OID) を使用して、レコードが所属するデータテーブルを識別します。

データテーブル識別子は、継承テーブルや、レコードの所属元 Collection を区別する必要がある場面でよく使われます。主にシステムやメタデータ機能で使用されるフィールドです。

通常の業務テーブルでは、データテーブル識別子フィールドを手動で作成する必要はありません。

適用シーン

データテーブル識別子は、次のような業務シーンに適しています。

  • 継承テーブルのレコードの所属元識別
  • 複数の子テーブルをまたいだ集約表示
  • メタデータ設定
  • Collection の所属元を区別する必要があるシステム機能

作成設定

データテーブルの「Configure fields」ページで「Add field」をクリックし、「データテーブル識別子」を選択すると、データテーブル識別子フィールドを作成できます。

20240512174746

設定説明
Field interfaceフィールドのインターフェースタイプ。データテーブル識別子には tableoid が対応し、ページ上での入力および表示方法を決定します。
Field display name画面上に表示されるフィールド名。たとえば「データテーブル識別子」「所属元テーブル」などです。業務担当者が直接理解できる名称を使用することをおすすめします。
Field nameAPI、リレーションフィールド、権限、ワークフローなどで内部参照するためのフィールド識別名。作成後は通常変更せず、英字、数字、アンダースコアのみ使用でき、先頭は英字でなければなりません。
Field typeデータ層におけるフィールドのタイプ。データテーブル識別子は通常、virtual フィールドです。
Default valueデフォルト値。レコードの新規作成時にユーザーが入力しなかった場合、自動的にデフォルト値を設定できます。
Validation rules通常はシステムによって管理されます。
Descriptionフィールドの説明。フィールドの意味、入力要件、データソース、または管理担当者などを記載するのに適しています。
注意

フィールド名は、作成後にページブロック、権限、ワークフロー、API から参照されます。作成前に命名を確認し、後から変更することによる設定調整のコストを避けてください。

フィールドの特性

データテーブル識別子フィールドのデフォルトの動作は次のとおりです。

特性説明
デフォルトの Field interfacetableoid。
デフォルトの Field typevirtual。
選択可能な Field typevirtual。
ページコンポーネントページ上では通常、データテーブル選択または読み取り専用表示として表示されます。
フィルター元のデータテーブルでフィルタリングできますが、具体的な動作はページ設定によって異なります。
並べ替え通常、並べ替えには使用しません。
検証システムまたはメタデータ機能によって管理されます。

設定の編集

作成後、フィールド右側の「Edit」をクリックすると、データテーブル識別子フィールドの設定を編集できます。フィールドの編集は、主に NocoBase におけるフィールドの表示方法や使用方法を調整するために行います。たとえば、表示名、説明、デフォルト値、検証ルール、またはフィールド固有の設定を変更できます。

フィールドがメインデータベースですでに同期されているテーブルに由来する場合、編集時には通常、フィールドマッピングを行います。つまり、データベースのフィールドを NocoBase の Field type と Field interface にマッピングします。

設定編集可否説明
Field display nameはい画面上に表示されるフィールド名を変更します。フィールド識別名は変更されません。
Field nameいいえフィールド識別名は、作成後通常、編集フォームから変更できません。
Field interface条件付きで可メインデータベースのフィールドや同期フィールドは、フィールドマッピング時に調整できます。変更すると、ページ上での入力、表示、検証方法に影響します。
Field type条件付きで可メインデータベースのフィールドや同期フィールドは、フィールドマッピング時に調整できます。変更前に、既存のデータを新しいタイプで利用できるか確認する必要があります。
Default valueはいレコードの新規作成時に使用するデフォルト値を調整します。
Validation rulesはいフィールドの検証ルールを調整します。
Descriptionはいフィールドの意味、入力要件、データソース、または管理担当者などを補足します。
注意

Field type や Field interface の切り替えは、単に表示名を変更することとは異なります。フィールドの保存方法、入力コンポーネント、検証ルール、フィルター条件、ワークフロー変数の使用方法に影響します。既存データが多い場合は、事前にデータ形式が適合するか確認してください。

フィールドの削除

フィールド右側の「Delete」をクリックすると、データテーブル識別子フィールドを削除できます。メインデータベースでは、複数のフィールドを選択して一括削除することもできます。

メインデータベースで新規作成したデータテーブル識別子フィールドを削除すると、通常はデータベース内の実際の列と、その列に保存されている既存データも同時に削除されます。データベースから同期したフィールドや、外部データソースからマッピングしたフィールドを削除する場合の影響範囲は、対応するデータソースとフィールドの由来によって異なります。

警告

フィールドを削除すると、ページブロック、フォーム、フィルター、権限、ワークフロー、API、インポート・エクスポート、既存データに影響する可能性があります。削除前に、そのフィールドが現在も業務設定から参照されていないか確認してください。

ページ設定での使用

データテーブル識別子フィールドは、継承テーブルやメタデータのシーンで使用するのに適しています。

シーン用途
テーブルブロックレコードの所属元データテーブルを表示します。
フィルターブロック所属元データテーブルでフィルタリングします。
権限とワークフロー所属元テーブルの判定条件として使用します。
メタデータ機能レコードが所属する Collection を識別します。

関連リンク