6 アプリケーション・データ使用用途

この章では、スキーマ注釈について説明します。

スキーマ注釈

多くのアプリケーションでは、表、ビュー、表の列、索引、ドメインなどのデータベース・オブジェクトに関する追加のプロパティ・メタデータを保持することが重要です。

ドメインにはチェック制約、照合、カスタム・ソート順序などの組込みの使用用途プロパティが含まれていますが、拡張性の目的で、Oracleデータベースにはカスタム・プロパティを追加する機能も用意されています。カスタム・プロパティの追加にはデータベース・メタデータ(表の列、表、索引など)向けのANNOTATIONSメカニズムが使用されます。多くの場合、アプリケーションでは追加のプロパティ・メタデータを保持する必要があり、これによってユーザー・インタフェースのレンダリングやアプリケーション・ロジックのカスタマイズを行います。

列レベルの使用用途プロパティの例を次に示します:
  • 表示ラベル: 列名とは異なる場合があります(たとえば、Employee_Salaryという名前の列から「給与」というタイトルを表示する)。
  • 列グループ: 多くの場合、「グループ」列はユーザー・インタフェースからの関心を引きます(たとえば、「通り番号」、「通り名」、「市区町村」および「郵便番号」列を「住所」グループにグループ化するための手段として)
  • 書式マスク: たとえば、$99,999.99の表示マスクをユーザー・インタフェース・ツールで使用し、56434を$56,434.00としてレンダリングします
  • 非表示: ユーザー・インタフェース上でエンド・ユーザーに列を表示するかどうか(たとえば、機密情報を含む列やシステムによって追加された列を特定の区分のエンド・ユーザーに表示しないなど)
  • 強調表示: 列を特別な強調表示で表示するかどうか
  • 許可される操作: ソート、グループ化、値リストの表示などを列でサポートするかどうかをインタフェース側で決定します。

同様に表レベルの使用用途プロパティも使用でき、表に機密情報を含めるかどうかや、どの表示名を使用するか、アプリケーション内のどのモジュールが所有または管理されるかといった情報をアプリケーション側で記録する際に役立ちます。

多くのアプリケーションはこのタイプの使用用途メタデータ用に独自のリポジトリを用意するため、開発者に複雑性をもたらし、アプリケーション、モジュールおよびマイクロサービス間の相違の可能性を生じさせます。

Oracle Databaseスキーマ注釈は、データベース・スキーマ・オブジェクトの使用用途プロパティを一元的に登録するための開発者向けの軽量宣言機能です。注釈はデータベース内のディクショナリ表にデータ・モデル定義およびデータ自体とともに直接格納されます。アプリケーションはこれを使用して、共通データにわたる動作でありながらデータベースによって解釈されない動作を標準化できます。これは、カスタムの拡張使用用途プロパティを登録して処理するためにアプリケーションが使用する軽量のデータベース・メタデータ向け標準マークアップであると考えられます。