このレッスンでは、新規の表をデフォルトのスキーマに追加する方法、および 2 つの表を関連付ける方法を学習します。
前提条件: データ・カタログおよびデータウェアハウスに変更を加える前に、バックアップを作成してください。データ・カタログのバックアップを作成するには、Data Manager カタログ・バックアップ・ユーティリティーを使用します。データウェアハウスのバックアップを作成する場合は、データウェアハウスに使用しているデータベースの資料を参照してください。
このレッスンでは、以下の作業を行います。
- 新規のファクト表をデフォルトのスキーマに追加する
- 新規の次元表をデフォルトのスキーマに追加する
- 新規ファクト表を新規次元表に関連付ける
- 変更を表構造に保存する
このレッスン中には、 IBM® InfoSphere™ Data Architect を使用します。
- データベースのサンプル物理データベース・モデルをインストールします。このサンプル・モデルは、IBM Rational® Insight をインストールすると、自動的にインストールできます。
サンプル・モデルのデフォルトの場所は、C:/Program Files/IBM/Rational
Insight/datawarehouse/dw です。サンプル・モデルを抽出します。
- IBM InfoSphere Data Architect を開始します。プロンプトが出されたら、デフォルトのワークスペースを選択します。
- 以下のようにして、演習用の新規データ設計プロジェクトを作成します。
- をクリックします。
- 名前 RISDW を指定し、デフォルトの場所を受け入れます。
- 「終了」をクリックします。プロンプトが出されたら、デフォルト・ビューの表示を選択します。
新規データ設計プロジェクトが、データ・オブジェクト用のコンテナーとともに作成されます。
- Windows® エクスプローラーで、ステップ 1 でサンプル・データ・モデルをダウンロードしたディレクトリーまでナビゲートします。サンプル・データ・モデルをデフォルトの場所 (ステップ b) にコピーします。
- IBM InfoSphere Data Architect に戻り、RISDW プロジェクトを右クリックして、「リフレッシュ」 をクリックします。
ここでデータ設計プロジェクトにより、物理データ・モデル・サンプルが表示されます。
- 「データ・プロジェクト・エクスプローラー」ビュー (で表示) で「データ・モデル」を展開して、物理データ・モデル (dbm 拡張子を持つノード) を表示します。そのデータ・モデルをダブルクリックして展開します。
注: ツリー構造の先頭ノードは、データベース別名を指定します。データベースのコンポーネント (スキーマ、表スペース、バッファー・プールなど) を表示するには、物理モデルを展開します。
このレッスンでは、デフォルトのスキーマ名が使用
されます。データベース内のスキーマの名前を変更した場合、このレッスンで使用する名前が、データベース内のスキーマ名と一致しないことがあります。
デフォルトの名前は CONFIG、RIODS、および RIDW です。CONFIG スキーマは、静的スキーマであり、
変更しないようにするべきです。RIODS スキーマは、指定された運用データ・ストアです。RIDW スキーマは、データマート (ファクトおよび次元) 用に指定されており、Rational Insight データウェアハウスのスキーマ命名規則に合わせて名前を変更できます。
このレッスンでは、RIDW スキーマを変更します。
- 「RIDW」を右クリックし、をクリックします。
- 以下のように表プロパティーを指定します。
- 表名を F_DEFECT_METRICS と指定します。
- 表の「プロパティー」ビューで、「表スペース」をクリックして、「通常」に VSTR_32K を、「索引」 に VSTR_IDX を選択します。
注: - データマート内のファクト表の命名規則として、
F_ を名前の接頭部として使用します。
- VSTR_32K はデータマート用に指定された表スペースです。
- VSTR_IDX はデータマートの索引用に指定された表スペースです。
- 以下のように列を表に追加します。
注: 表には、日付とコンポーネントの 2 つの次元での障害合計数の尺度が含まれるようになります。D_DATE という名前の既存の次元表から日付次元を選択します。コンポーネント次元の場合、新規次元表を作成します。
ファクト表には、TOTAL_DEFECTS、DEFECT_METRICS_ID、REC_DATETIME、COMPONENT_ID、DATE_ID という 5 つの列があります。
DEFECT_METRICS_ID 列を基本キーとして指定し、ファクト行を固有に識別するために使用します。
- 「データ・プロジェクト・エクスプローラー」ビューで、F_DEFECT_METRICS 表を選択して、右クリックし、をクリックします。
- 名前を TOTAL_DEFECTS と指定します。
「プロパティー」ビューで、「型」をクリックし、「データ型 = INTEGER」、「デフォルト値 = 0」、「非ヌルを選択」の各属性を指定します。
- ステップ a を繰り返します。名前を DEFECT_METRICS_ID と指定します。
「プロパティー」ビューで、「型」をクリックし、「データ型 = INTEGER」、「基本キーと非ヌルを選択」の各属性を指定します。
F_DEFECT_METRICS1 という名前の基本キーが自動的に作成されます。
- ステップ a を繰り返します。名前を REC_DATETIME と指定します。
「プロパティー」ビューで、「型」をクリックし、「データ型 = TIMESTAMP」、「デフォルト値 = CURRENT_TIMESTAMP」、「非ヌルを選択」の各属性を指定します。
- ステップ a を繰り返します。名前を COMPONENT_ID と指定します。
「プロパティー」ビューで、「型」をクリックし、「データ型 = INTEGER」、「非ヌルを選択」の各属性を指定します。
- ステップ a を繰り返します。名前を DATE_ID と指定します。
「プロパティー」ビューで、「型」をクリックし、「データ型 = INTEGER」、「非ヌルを選択」の各属性を指定します。
これで、F_DEFECT_METRICS という名前の新規ファクト表が作成され、基本キーがこの表に追加されました。次の数ステップで、この表に外部キーを追加します。
デフォルトで、データウェアハウス内では参照整合性が
保持されます。したがって、次のステップで、
ファクト表と、ファクト表内で参照される次元との間の参照整合性を
インプリメントします。
- 以下のように F_DEFECT_METRICS 表に外部キーを追加します。
- F_DEFECT_METRICS 表を右クリックし、をクリックします。
- 親表を D_DATE 表と指定します。
「OK」をクリックします。
注: D_DATE は、データウェアハウスで使用される日付次元表です。
- 外部キーの名前を DATE_ID と指定します。
- 「DATE_ID」を選択し、「プロパティー」ビューで「詳細」をクリックします。「親」セクションの「ユニーク制約または索引リスト」で、D_DATE_PK 基本キーを選択します。プロンプトが出されたら、「既存の子/属性列を使用」を選択します。
注: D_DATE_PK は、この表 (F_DEFECT_METRICS) の外部キーが参照する他の表 (D_DATE 表) 内の基本キーです。
F_DEFECT_METRICS ファクト表に DATE_ID という名前の外部キーが作成されます。この外部キーを使って、既存の表 D_DATE との関係を作成しました。
次のステップでは、新規次元表をデータマートに追加します。この次元表は、作成したファクト表 F_DEFECT_METRICS によって参照されます。
- 「RIDW」を右クリックし、をクリックします。
- 以下のように表プロパティーを指定します。
- 表名を D_COMPONENT_LABEX と指定します。
注: データマート内の次元表を命名する場合、規則により D_ を名前の接頭部として使用します。
- 表の「プロパティー」ビューで、「表スペース」をクリックして、「通常」 に VSTR_32K を、「索引」 に VSTR_IDXを選択します。
- 以下のように列を表に追加します。
注: 表は、NAME と COMPONENT_ID という 2 つの列を持つことになります。
COMPONENT_ID を基本キーとして指定し、次元行を固有に識別するために使用します。
- D_COMPONENT_LABEX 表を右クリックし、をクリックします。
- 列名を NAME と指定します。列の「プロパティー」ビューで、「データ型 = VARCHAR」、「長さ = 255」、「非ヌルを選択」の各属性を指定します。
- ステップ a を繰り返します。列名を COMPONENT_ID と指定します。
列の「プロパティー」ビューで、「データ型 = INTEGER」、「基本キーと非ヌルを選択」の各属性を指定します。
D_COMPONENT_LABEX1 という名前の基本キーが自動的に作成されます。
これで、D_COMPONENT_LABEX という名前の新規次元表が作成され、基本キーがこの表に追加されました。次の数ステップで、この基本キーを使用して、これを先に作成した F_DEFECT_METRICS ファクト表にリンクします。
- 以下のように F_DEFECT_METRICS ファクト表を D_COMPONENT_LABEX 次元表にリンクします。
- 「F_DEFECT_METRICS」を右クリックし、をクリックします。
- 親表を D_COMPONENT_LABEX と指定します。
「OK」をクリックします。
- 外部キーの名前を COMPONENT_ID と指定します。
- 「COMPONENT_ID」を選択し、「プロパティー」ビューで「詳細」をクリックします。「親」セクションの「ユニーク制約または索引リスト」で、D_COMPONENT_LABEX1 基本キーを選択します。プロンプトが出されたら、「既存の子/属性列を使用」を選択します。
F_DEFECT_METRICS ファクト表を 2 つの次元表 (日付属性の D_DATE 表およびコンポーネント属性の D_COMPONENT_LABEX 表) にリンクしました。
ここで追加した新規表のテンプレートを作成します。このためには、表を DDL スクリプトにエクスポートして、そのスクリプトを実行します。
- 以下のように D_COMPONENT_LABEX 表の DDL スクリプトを生成します。
- D_COMPONENT_LABEX 表を右クリックし、「DDL の生成」をクリックします。
- 「オプション」ページで、以下を選択します。
- 完全修飾名
- CREATE ステートメント
- COMMENT ON ステートメント
- IN TABLESPACE 節
「次へ」をクリックします。
- 「オブジェクト」ページで、以下を選択します。
「次へ」をクリックします。
- 「サーバーで DDL を実行」を選択し、「次へ」をクリックします。
注: この演習では、サンプル・データベース (RIDW) を使用します。
稼働中のデータベース上で DDL スクリプトを実行するために
「サーバーで DDL を実行」オプションを使用する場合は、注意してください。IBM InfoSphere Data Architect では、マイグレーション機能を使用することはできません。したがって、既存表のデータを保持することができません。
表は作成されるか、除去されたのち作成されます。
選択できるのは、生成された DDL スクリプトを保存し、そのスクリプトを後で実行するという方法のみです。
- 「接続」ページで、「既存の接続を使用」を選択し、「RIDW」を選択して、「次へ」をクリックします。
- データベース管理者のユーザー名とパスワードを入力し、「次へ」をクリックして、「終了」をクリックします。
- モデルを保存します。
- 以下のように F_DEFECT_METRICS 表の DDL スクリプトを生成します。
- F_DEFECT_METRICS 表を右クリックし、「DDL の生成」をクリックします。
- 「オプション」ページで、以下を選択します。
- 完全修飾名
- CREATE ステートメント
- COMMENT ON ステートメント
- IN TABLESPACE 節
「次へ」をクリックします。
- 「オブジェクト」ページで、以下を選択します。
「次へ」をクリックします。
- 「サーバーで DDL を実行」を選択し、「次へ」をクリックします。
- 「接続」ページで、「既存の接続を使用」を選択し、「RIDW」を選択して、「次へ」をクリックします。
- データベース管理者のユーザー名とパスワードを入力し、「次へ」をクリックして、「終了」をクリックします。
- モデルを保存します。
これで、変更の適用が完了し、表の構造が
変更されました。
このレッスンでは、以下の作業を実行しました。
- F_DEFECT_METRICS ファクト表の作成
- D_COMPONENT_LABEX 次元表の作成
- F_DEFECT_METRICS ファクト表の新規 D_COMPONENT_LABEX 次元表および既存の D_DATE 次元表へのマップ
- 表の構造を構築および変更するための DDL スクリプトの生成