< 前へ | 次へ >

レッスン 2.1: データウェアハウスのデフォルトのスキーマをカスタマイズする

このレッスンでは、新規の表をデフォルトのスキーマに追加する方法、および 2 つの表を関連付ける方法を学習します。
前提条件: データ・カタログおよびデータウェアハウスに変更を加える前に、バックアップを作成してください。データ・カタログのバックアップを作成するには、Data Manager カタログ・バックアップ・ユーティリティーを使用します。データウェアハウスのバックアップを作成する場合は、データウェアハウスに使用しているデータベースの資料を参照してください。
このレッスンでは、以下の作業を行います。 このレッスン中には、 IBM® InfoSphere™ Data Architect を使用します。
  1. データベースのサンプル物理データベース・モデルをインストールします。このサンプル・モデルは、IBM Rational® Insight をインストールすると、自動的にインストールできます。 サンプル・モデルのデフォルトの場所は、C:/Program Files/IBM/Rational Insight/datawarehouse/dw です。サンプル・モデルを抽出します。
  2. IBM InfoSphere Data Architect を開始します。プロンプトが出されたら、デフォルトのワークスペースを選択します。
  3. 以下のようにして、演習用の新規データ設計プロジェクトを作成します。
    1. 「新規」 > 「プロジェクト」 > 「データ設計プロジェクト」をクリックします。
    2. 名前 RISDW を指定し、デフォルトの場所を受け入れます。
    3. 「終了」をクリックします。プロンプトが出されたら、デフォルト・ビューの表示を選択します。

      新規データ設計プロジェクトが、データ・オブジェクト用のコンテナーとともに作成されます。

      データ・プロジェクト・エクスプローラー

    4. Windows® エクスプローラーで、ステップ 1 でサンプル・データ・モデルをダウンロードしたディレクトリーまでナビゲートします。サンプル・データ・モデルをデフォルトの場所 (ステップ b) にコピーします。
    5. IBM InfoSphere Data Architect に戻り、RISDW プロジェクトを右クリックして、「リフレッシュ」 をクリックします。

      ここでデータ設計プロジェクトにより、物理データ・モデル・サンプルが表示されます。

      データ・モデルのあるデータ・プロジェクト・エクスプローラー

  4. 「データ・プロジェクト・エクスプローラー」ビュー (「ウィンドウ」 > 「ビューの表示」 > 「データ・プロジェクト・エクスプローラー」で表示) で「データ・モデル」を展開して、物理データ・モデル (dbm 拡張子を持つノード) を表示します。そのデータ・モデルをダブルクリックして展開します。
    注: ツリー構造の先頭ノードは、データベース別名を指定します。データベースのコンポーネント (スキーマ、表スペース、バッファー・プールなど) を表示するには、物理モデルを展開します。
    データ・モデルが展開されたデータ・プロジェクト・エクスプローラー

    このレッスンでは、デフォルトのスキーマ名が使用 されます。データベース内のスキーマの名前を変更した場合、このレッスンで使用する名前が、データベース内のスキーマ名と一致しないことがあります。 デフォルトの名前は CONFIG、RIODS、および RIDW です。CONFIG スキーマは、静的スキーマであり、 変更しないようにするべきです。RIODS スキーマは、指定された運用データ・ストアです。RIDW スキーマは、データマート (ファクトおよび次元) 用に指定されており、Rational Insight データウェアハウスのスキーマ命名規則に合わせて名前を変更できます。

    このレッスンでは、RIDW スキーマを変更します。

  5. 「RIDW」を右クリックし、「データ・オブジェクトの追加」 > 「表」をクリックします。
  6. 以下のように表プロパティーを指定します。
    1. 表名を F_DEFECT_METRICS と指定します。
    2. 表の「プロパティー」ビューで、「表スペース」をクリックして、「通常」に VSTR_32K を、「索引」 に VSTR_IDX を選択します。
      データ・モデルが展開されたデータ・プロジェクト・エクスプローラー
      注:
      • データマート内のファクト表の命名規則として、 F_ を名前の接頭部として使用します。
      • VSTR_32K はデータマート用に指定された表スペースです。
      • VSTR_IDX はデータマートの索引用に指定された表スペースです。
  7. 以下のように列を表に追加します。
    注: 表には、日付とコンポーネントの 2 つの次元での障害合計数の尺度が含まれるようになります。D_DATE という名前の既存の次元表から日付次元を選択します。コンポーネント次元の場合、新規次元表を作成します。

    ファクト表には、TOTAL_DEFECTSDEFECT_METRICS_IDREC_DATETIMECOMPONENT_IDDATE_ID という 5 つの列があります。 DEFECT_METRICS_ID 列を基本キーとして指定し、ファクト行を固有に識別するために使用します。

    1. 「データ・プロジェクト・エクスプローラー」ビューで、F_DEFECT_METRICS 表を選択して、右クリックし、「データ・オブジェクトの追加」 > 「列」をクリックします。
    2. 名前を TOTAL_DEFECTS と指定します。 「プロパティー」ビューで、「型」をクリックし、「データ型 = INTEGER」、「デフォルト値 = 0」、「非ヌルを選択」の各属性を指定します。
    3. ステップ a を繰り返します。名前を DEFECT_METRICS_ID と指定します。 「プロパティー」ビューで、「型」をクリックし、「データ型 = INTEGER」、「基本キーと非ヌルを選択」の各属性を指定します。

      F_DEFECT_METRICS1 という名前の基本キーが自動的に作成されます。

    4. ステップ a を繰り返します。名前を REC_DATETIME と指定します。 「プロパティー」ビューで、「型」をクリックし、「データ型 = TIMESTAMP」、「デフォルト値 = CURRENT_TIMESTAMP」、「非ヌルを選択」の各属性を指定します。
    5. ステップ a を繰り返します。名前を COMPONENT_ID と指定します。 「プロパティー」ビューで、「型」をクリックし、「データ型 = INTEGER」、「非ヌルを選択」の各属性を指定します。
    6. ステップ a を繰り返します。名前を DATE_ID と指定します。 「プロパティー」ビューで、「型」をクリックし、「データ型 = INTEGER」、「非ヌルを選択」の各属性を指定します。
    表列

    これで、F_DEFECT_METRICS という名前の新規ファクト表が作成され、基本キーがこの表に追加されました。次の数ステップで、この表に外部キーを追加します。

    デフォルトで、データウェアハウス内では参照整合性が 保持されます。したがって、次のステップで、 ファクト表と、ファクト表内で参照される次元との間の参照整合性を インプリメントします。

  8. 以下のように F_DEFECT_METRICS 表に外部キーを追加します。
    1. F_DEFECT_METRICS 表を右クリックし、「データ・オブジェクトの追加」 > 「外部キー」をクリックします。
    2. 親表を D_DATE 表と指定します。 「OK」をクリックします。
      注: D_DATE は、データウェアハウスで使用される日付次元表です。
    3. 外部キーの名前を DATE_ID と指定します。
    4. 「DATE_ID」を選択し、「プロパティー」ビューで「詳細」をクリックします。「親」セクションの「ユニーク制約または索引リスト」で、D_DATE_PK 基本キーを選択します。プロンプトが出されたら、「既存の子/属性列を使用」を選択します。
      注: D_DATE_PK は、この表 (F_DEFECT_METRICS) の外部キーが参照する他の表 (D_DATE 表) 内の基本キーです。

      F_DEFECT_METRICS ファクト表に DATE_ID という名前の外部キーが作成されます。この外部キーを使って、既存の表 D_DATE との関係を作成しました。

      次のステップでは、新規次元表をデータマートに追加します。この次元表は、作成したファクト表 F_DEFECT_METRICS によって参照されます。

  9. 「RIDW」を右クリックし、「データ・オブジェクトの追加」 > 「表」をクリックします。
  10. 以下のように表プロパティーを指定します。
    1. 表名を D_COMPONENT_LABEX と指定します。
      注: データマート内の次元表を命名する場合、規則により D_ を名前の接頭部として使用します。
    2. 表の「プロパティー」ビューで、「表スペース」をクリックして、「通常」 に VSTR_32K を、「索引」 に VSTR_IDXを選択します。
  11. 以下のように列を表に追加します。
    注: 表は、NAMECOMPONENT_ID という 2 つの列を持つことになります。 COMPONENT_ID を基本キーとして指定し、次元行を固有に識別するために使用します。
    1. D_COMPONENT_LABEX 表を右クリックし、「データ・オブジェクトの追加」 > 「列」をクリックします。
    2. 列名を NAME と指定します。列の「プロパティー」ビューで、「データ型 = VARCHAR」、「長さ = 255」、「非ヌルを選択」の各属性を指定します。
    3. ステップ a を繰り返します。列名を COMPONENT_ID と指定します。 列の「プロパティー」ビューで、「データ型 = INTEGER」、「基本キーと非ヌルを選択」の各属性を指定します。

      D_COMPONENT_LABEX1 という名前の基本キーが自動的に作成されます。

    これで、D_COMPONENT_LABEX という名前の新規次元表が作成され、基本キーがこの表に追加されました。次の数ステップで、この基本キーを使用して、これを先に作成した F_DEFECT_METRICS ファクト表にリンクします。

  12. 以下のように F_DEFECT_METRICS ファクト表を D_COMPONENT_LABEX 次元表にリンクします。
    1. 「F_DEFECT_METRICS」を右クリックし、「データ・オブジェクトの追加」 > 「外部キー 」をクリックします。
    2. 親表を D_COMPONENT_LABEX と指定します。 「OK」をクリックします。
    3. 外部キーの名前を COMPONENT_ID と指定します。
    4. 「COMPONENT_ID」を選択し、「プロパティー」ビューで「詳細」をクリックします。「親」セクションの「ユニーク制約または索引リスト」で、D_COMPONENT_LABEX1 基本キーを選択します。プロンプトが出されたら、「既存の子/属性列を使用」を選択します。

    F_DEFECT_METRICS ファクト表を 2 つの次元表 (日付属性の D_DATE 表およびコンポーネント属性の D_COMPONENT_LABEX 表) にリンクしました。

    ここで追加した新規表のテンプレートを作成します。このためには、表を DDL スクリプトにエクスポートして、そのスクリプトを実行します。

  13. 以下のように D_COMPONENT_LABEX 表の DDL スクリプトを生成します。
    1. D_COMPONENT_LABEX 表を右クリックし、「DDL の生成」をクリックします。
    2. オプション」ページで、以下を選択します。
      • 完全修飾名
      • CREATE ステートメント
      • COMMENT ON ステートメント
      • IN TABLESPACE 節
      「次へ」をクリックします。
    3. オブジェクト」ページで、以下を選択します。
      • チェック制約
      • 外部キー制約
      • 基本キー制約
      「次へ」をクリックします。
    4. サーバーで DDL を実行」を選択し、「次へ」をクリックします。
      注: この演習では、サンプル・データベース (RIDW) を使用します。 稼働中のデータベース上で DDL スクリプトを実行するために「サーバーで DDL を実行」オプションを使用する場合は、注意してください。IBM InfoSphere Data Architect では、マイグレーション機能を使用することはできません。したがって、既存表のデータを保持することができません。 表は作成されるか、除去されたのち作成されます。

      選択できるのは、生成された DDL スクリプトを保存し、そのスクリプトを後で実行するという方法のみです。

    5. 「接続」ページで、「既存の接続を使用」を選択し、「RIDW」を選択して、「次へ」をクリックします。
    6. データベース管理者のユーザー名とパスワードを入力し、「次へ」をクリックして、「終了」をクリックします。
    7. モデルを保存します。
  14. 以下のように F_DEFECT_METRICS 表の DDL スクリプトを生成します。
    1. F_DEFECT_METRICS 表を右クリックし、「DDL の生成」をクリックします。
    2. オプション」ページで、以下を選択します。
      • 完全修飾名
      • CREATE ステートメント
      • COMMENT ON ステートメント
      • IN TABLESPACE 節
      「次へ」をクリックします。
    3. オブジェクト」ページで、以下を選択します。
      • チェック制約
      • 外部キー制約
      • 基本キー制約
      「次へ」をクリックします。
    4. サーバーで DDL を実行」を選択し、「次へ」をクリックします。
    5. 「接続」ページで、「既存の接続を使用」を選択し、「RIDW」を選択して、「次へ」をクリックします。
    6. データベース管理者のユーザー名とパスワードを入力し、「次へ」をクリックして、「終了」をクリックします。
    7. モデルを保存します。

    これで、変更の適用が完了し、表の構造が 変更されました。

このレッスンでは、以下の作業を実行しました。