スキーマ作成の構成要素
データ・スクリプト・プログラムの基盤は、モジュール内のソース表またはデータ・ウェアハウス表のいずれかから始まります。
- ソース: 事前定義済スキーマを含む既存のデータ構造。
- モジュール: 1つ以上の関連ビジネス・プロセスの分析を支援するウェアハウス表の編成されたグループ。
ソース表または倉庫表のインポート
これらのコマンドを実行して、ソース表およびモジュールをインポートします。
IMPORT SOURCE SALES // Import a source table
IMPORT MODULE [FA_GL, FA_AP] // Import a single or list of modulesソース表は、データ変換の基本構成要素として機能する読取り専用定義です。 モジュールをインポートでき、その基礎となる表をコードで直接使用できます。
データセット定義
データセットは、データ拡張スクリプトの主要な構成要素です。 データ・セットを定義するには、2つの方法があります。データ・セットは、ソース表または導出表からスキーマを直接継承できます。
IMPORT SOURCE CUSTOMERS
DEFINE DATASET CUSTOMERS_D
ROWSOURCE CUSTOMERS;
THIS = CUSTOMERS[CUST_ID];
THIS = CUSTOMERS[CUST_NAME];
THIS = CUSTOMERS[EMAIL];
THIS = CUSTOMERS[AGE];
PRIMARYKEY[CUST_ID];
END
DEFINE DATASET GAMING_CUSTOMER_D
ROWSOURCE CUSTOMERS_D WHERE CUSTOMERS_D.AGE BETWEEN 13 AND 35;
THIS = CUSTOMERS_D[CUST_ID];
THIS = CUSTOMERS_D[CUST_NAME];
THIS = CUSTOMERS_D[EMAIL];
THIS = CUSTOMERS_D[AGE];
PRIMARYKEY[CUST_ID];
END
スキーマを直接継承するデータセットの主な特性は次のとおりです。
- ソース表のスキーマを自動的に継承および保持します。
- 明示的な列定義が不要になります。
次のようにコードを書き換えることもできます。
IMPORT SOURCE CUSTOMERS
DEFINE DATASET CUSTOMERS_D FROM CUSTOMERS[CUST_ID,CUST_NAME,EMAIL,AGE] END
DEFINE DATASET GAMING_CUSTOMER_D
ROWSOURCE CUSTOMERS_D WHERE CUSTOMERS_D.AGE BETWEEN 13 AND 35;
THIS = CUSTOMERS_D[CUST_ID,CUST_NAME,EMAIL,AGE];
PRIMARYKEY[CUST_ID];
END
対応する表に存在しない列が参照されている場合は、エラーが表示されます。
例: 次のコードは、
CUSTOMERS表にない列GENDERを参照します。THIS = CUSTOMERS_D[CUST_ID,CUST_NAME,EMAIL,GENDER];表CUSTOMERSにGENDERが存在しないというエラーが表示されます。
カスタム・スキーマ定義機能を使用して、データセット・スキーマを定義することもできます。
DEFINE SCHEMA DW_PROJECT_D_SCHEMA
[
PROJECT_ID NUMBER(38,0) PRIMARYKEY,
PROJECT_NUMBER VARCHAR2(32),
START_DATE DATE NOT NULL,
COMPLETION_DATE DATE
]
END
DEFINE DATASET DW_PROJECT_D
SCHEMA DW_PROJECT_D_SCHEMA;
ROWSOURCE PROJECTS;
THIS[PROJECT_ID] = PROJECTS[PROJECT_ID, PROJECT_NUMBER];
END
データ拡張スクリプトでサポートされるデータ型の詳細は、データ型を参照してください。
