26
Oracleホワイト・ペーパー 20096Oracle SQL Developer Data Modeler入門

Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー

2009年6月

Oracle SQL Developer Data

Modeler入門

Page 2: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

はじめに .............................................................................................................................. 1

Oracle SQL Developer Data Modeler ................................................................................. 2

アーキテクチャ .............................................................................................................. 2

統合モデル .......................................................................................................................... 4

論理モデル ..................................................................................................................... 4

リレーショナル・モデル ............................................................................................... 5

物理モデル ..................................................................................................................... 5

多次元モデル ................................................................................................................. 7

データ型と構造型モデル ............................................................................................. 10

空間モデル .................................................................................................................... 11

モデルの作成 .................................................................................................................... 13

新規モデルの作成 ........................................................................................................ 13

データ・ディクショナリからのインポート ................................................................ 13

Oracle Designerからのインポート .............................................................................. 14

スクリプトの生成 ............................................................................................................. 15

DDLおよび自己管理スクリプトの生成 ....................................................................... 15

DDLスクリプトによるデータベースの更新 ................................................................ 16

一般的な機能 .................................................................................................................... 19

書式設定、サブビュー、表示 ...................................................................................... 20

ダイアグラムのリンク ................................................................................................. 20

ネーミング標準 ............................................................................................................ 21

影響分析 ...................................................................................................................... 21

リポジトリのレポートの使用 ...................................................................................... 23

まとめ ............................................................................................................................... 23

参考資料 ............................................................................................................................ 23

Page 3: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

1

はじめに

Oracle SQL Developer Data Modelerは新しいグラフィカル・データ・モデリング・ツールです。デー

タ・アーキテクト、データベース管理者、アプリケーション開発者、およびユーザー間のコミュニ

ケーションを促進かつ強化するとともに、データ・モデリングの開発プロセス自体を簡素化します。

SQL Developer Data Modelerを使用すると、論理モデル、リレーショナル・モデル、物理モデル、

多次元モデル、データ型モデルを作成、参照、編集できます。また、DDLスクリプトが生成される

ため、生産性が向上するとともに標準の使用が促進されます。

このツールを導入したことでオラクルの取組みが明らかになります。その取組みとは、開発者の生

産性を高め、データベース開発者コミュニティやユーザーが行う作業の基準と品質を向上させると

いうものです。SQL Developer Data Modelerは、ビジネス・アーキテクトからDBAまでと、データ

ベース開発者からアプリケーション開発者まで、すべてのデータベース・データ・モデラー向けに設

計されています。SQL Developer Data Modelerの役割は、データ・モデリング開発タスクを簡素化す

るとともに、開発者とビジネス・ユーザー間の強力なコミュニケーション・ツールとして機能する

ことです。

本書では、SQL Developer Data Modelerのおもな機能と利点を明らかにします。

Page 4: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

2

Oracle SQL Developer Data Modeler

Oracle SQL Developer Data Modelerは、次のようなデータ関連モデリングを行う際のモデルから実装

までの完全なソリューションを提供します。

新規の業務系データベースまたはビジネス・インテリジェンス関連のデータベース

既存のデータベース実装の把握による、ドキュメント化のためのグラフィカル表現と関連メタデータ

の提供

新規データ要件の追加と実装

Oracle SQL Developer Data Modelerは、データ・アーキテクトからデータベース管理者や開発者まで、

データとその特性を示す一貫した分かりやすい明確な描写を求めるすべてのユーザーを対象として

います。

アーキテクチャ

エンタープライズ・アーキテクチャは、企業を構成するすべての要素をドキュメント化するための

技術を説明する際に用いる用語です。エンタープライズ・アーキテクチャは、企業の構造や動作、

およびその情報システムについて記述しています。

もっともよく知られているエンタープライズ・アーキテクチャ・フレームワークには、Zachmanフレー

ムワーク(国防総省(DoDAF)で使用されているフレームワーク)、または連邦エンタープライズ・

アーキテクチャ・フレームワーク(FEAF)などがあります。SQL Developer Data Modelerでは、Zachman

フレームワークに従ってデータ構造体を定義します。

SQL Developer Data Modelerレイヤー

SQL Developer Data Modelerのモデルは、論理モデル、リレーショナル・モデル、物理モデルという

厳密に同期された3つのレイヤーで構成されています。論理レイヤーからリレーショナル・レイヤー

へ、さらに物理レイヤーへと移動する際、1対多の実装が実施されます。つまり、階層内の次の下位

レベルに対して複数のインスタンスを作成できます。上位レイヤーでのプロパティ・セットは下位

レベルに反映され、維持されます。これは、アプリケーションで複数の物理配置や顧客向け実装を

サポートする場合に有効です。

同期

モデル間の厳密な同期は重要です。このモデルでは、あるレイヤーから次のレイヤーにプロパティ

を伝搬することによって、各レベルで追加された組織の専門知識を保持するからです。たとえば、

上位の論理モデルが新しいビジネス情報のニーズを反映するように変更された場合でも、表の分割

や結合、キーの構造、索引付けなどの重要な問題に関して、リレーショナル・モデルで行った設計

上の意志決定は維持されます。下位の物理レイヤーにも、プラットフォーム固有のオプションを設

定できます。これらのオプションは上位レイヤーを調整しても維持されます。

Page 5: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

3

これにより、組織のDBAは、大量のやり直し作業、およびデータベースのプロパティやパラメータ

を繰り返し再コーディングする作業から解放されます。

DB2をメインフレームで使用している場合、SQL Developer Data Modelerは、各プラットフォームの

インスタンス化におけるレコードの挿入-削除プロファイルに基づいて領域および空き領域パラメー

タの計算を実行します(これらの領域情報が使用可能な場合)。組込みの設計エキスパート・ルー

ル・エンジンは、組織およびDBAに対して設計上の整合性を保証します。固有プラットフォーム上

のデータベースのチューニングにおけるDBAの知識の深さは、そのDBAがサポートを要求されるプ

ラットフォームに応じて異なることがあります。

インポート

SQL Developer Data Modelerでは、各種ソースのメタデータを含む、さまざまな形式のモデルをイン

ポートできます。このため、組織は現在のプラットフォームにある既存の業務系データベースで使

用されている、別のツールで構築されたモデルをインポートできます。

SQL Developer Data Modelerは、次のデータをインポートします。

標準DDLスクリプトに含まれる詳細データ

データベースのデータ・ディクショナリに含まれるスキーマと物理的な詳細データ

Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト

キューブ・ビューまたはXMLAファイルを使用した多次元モデル

ネーミング規則向けの名前の標準化および短縮形ファイルとダイアグラム・レイアウトを備えた

CA ERwin Data Modelerモデル

SQL Developer Data Modelerの配布とインストール

Oracle SQL Developer Data Modelerは、スタンドアロンの独立した製品であり、Oracle Technology Network

(OTN)からダウンロードできます。SQL Developer Data Modeler ViewerもOTNからダウンロードでき

ます。このビューアは、SQL Developer Data Modelerで作成したモデルを開いたり、表示したりする

機能をユーザーに提供します。

SQL Developer Data Modelerは、Windows、Linux、およびMac OS X上で動作します。SQL Developer Data

Modelerのインストールは、ダウンロードしたzipファイルを解凍するだけで完了します。SQL Developer

Data Modelerを使用すると、ユーザーは、サポートされている任意のOracleデータベースに接続でき

ます。IBM DB2 LUW V7/V8、IBM DB2/390、Microsoft SQL Server 2000/2005、または選択したデータ

ベース・オブジェクトのインポートおよびデータの閲覧と移行に使用する標準のODBC/JDBCドライ

バもサポートされています。

モデルはXMLファイルとして格納され、ソース・コード管理機能のもとで簡単に共有またはデプロ

イできます。

次の項では、SQL Developer Data Modelerの主要な概念と機能について説明します。

Page 6: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

4

統合モデル

SQL Developer Data Modelerを使用すると、関連する統合されたモデルのセットを容易に構築できま

す。SQL Developer Data Modelerの中核を成すのは、論理モデルです。論理モデルは、エンタープラ

イズ情報の真の実装非依存ビューを実現し、ディメンション・モデルの定義を異なる物理実装にマッ

ピングする仲介役として機能します。論理モデル、またはその一部(サブジェクト領域またはサブ

ビュー)は、1つまたは複数のリレーショナル・モデルに変換できます。各リレーショナル・モデル

には、物理モデル(SQL Developer Data ModelerではRDBMSサイトと呼ばれる)という形で物理実装

をいくつでも対応付けることができます。各物理モデルはサポートされているデータベースを基盤

とするものです。

図1:SQL Developer Data Modelerのモデル構造

論理モデル

SQL Developer Data Modelerの論理モデルには、標準の論理モデル作成機能(エンティティとリレー

ションシップの描画など)と以下の機能が含まれます。

ボックスインボックスによるエンティティのスーパータイプとサブタイプ階層の表現

排他的リレーションシップのサポート(アーク)

BarkerまたはBachmanの表記法

以下の図に示した論理モデルには、アーク、サブタイプ、スーパータイプが含まれており、Barker

表記法を使用しています。

Page 7: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

5

図2:アークとボックスインボックスによるスーパータイプとサブタイプの表現

リレーショナル・モデル

SQL Developer Data Modelerリレーショナル・モデルは、論理モデルと物理モデルの間の中間モデル

です。中間モデルは、ターゲット物理プラットフォームの制約に関係なくリレーショナル設計の意

志決定をサポートします。すべての多対多のリレーションシップとすべてのスーパータイプ/サブタ

イプ・エンティティ階層が、論理モデル(またはその一部)からリレーショナル・モデルへのフォ

ワード・エンジニアリング(変換)によって解決されます。

フォワード・エンジニアリングでは、名前の標準化も実行されます。

物理モデル

SQL Developer Data Modelerでは、大半のOracle物理オブジェクトをサポートしています。オブジェク

トの構造と定義(たとえば、パーティションとサブパーティション)を表す多くの要素がオブジェ

クト・ブラウザ内に表示されます。ユーザーは、ブラウザからプロパティ・ダイアログを直接呼び

出して、これらの要素にアクセスできます。いちいち中間ダイアログを経由する必要はありません。

SQL Developer Data Modelerでは、関連定義にも簡単にアクセスできます。たとえば、ローカル索引

のパーティション・プロパティには、関連する表パーティションのダイアログから直接アクセスで

きます。

Page 8: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

6

図3:パーティション・プロパティ・ウィンドウ

SQL Developer Data Modelerは、ユーザーが定義を変更するときのサポートも行います。次に例を示

します。

パーティション・タイプを“Range”から“Composite”に変更しても、すべての表パーティション

はそのまま維持されます。したがって、パーティションを再定義する必要はありません。“Composite”

パーティション分割は“Range”パーティション分割を拡張したものなので、現在のパーティショ

ン定義を再利用するのが理にかなっています。

表パーティションの数とローカル索引の定義済みパーティションの数が照合されます。多くの場

合、デフォルトと異なる設定のパーティションは100のうちせいぜい2つか3つです。SQL Developer

Data Modelerで定義する必要がある異なるパーティションは2つだけです。有効なDDL文が生成さ

れ、パーティション名だけが指定された98の索引パーティションが自動的に追加されます。

SQL Developer Data ModelerのOracle用物理モデルでは、次に示すOracleの2つの重要な機能も使用可能

です。

SQLレベル・ディメンション、レベル、属性、および階層のサポート。これらの定義がないと、

マテリアライズド・ビューでクエリー・リライトを使用できないため、集計を用いてマテリアラ

イズド・ビューを作成したことによって得られる利点が制限されてしまいます。

Page 9: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

7

図4:Oracle物理モデルにおけるディメンション、レベル、階層

ビットマップ結合索引のサポート。場合によっては、マテリアライズド・ビューよりも良い結果

が得られるため、マテリアライズド・ビューの代わりに使用できます。

多次元モデル

SQL Developer Data Modelerには事前定義の分類が用意されており、多次元モデルでは、各エンティ

ティと表が、ファクト、ディメンション、サマリー、一時、ロギングに分類されます。

Page 10: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

8

図5:コンパクトなディメンション・ダイアグラム

この分類は拡張可能です。ユーザーは、事前定義またはユーザー定義の分類タイプに異なる色を関

連付けることもできます。これにより、エンティティと表が、分類タイプに応じて色づけされます。

SQL Developer Data Modelerは、別の抽象レイヤー上で専用の完全なディメンション・モデルを提供

しています。このディメンション・モデルは別のダイアグラムに表示されます。SQL Developer Data

Modelerは、Model Driven Architecture(MDA)のガイドラインに従っており、Common Warehouse Model

(CWM)カテゴリ(キューブ、スライス、メジャー、属性、レベル、ディメンション、階層)を使

用して純粋な論理多次元モデルを構築および表現するための機能を提供しています。この機能によ

り、ビジネス・データの適切な多次元表現が可能になります。ディメンションのマージ、ロール・プ

レイング、ファクト・ディメンション、さまざまなタイプのメジャー、計算済み属性、レベルベー

スおよび値ベースの階層、レベルベースの不調和階層のサポートにより、すべての依存性、集計ルー

ル、ロールアップ(ナビゲーショナル)パスを、正確かつ豊富な表現で定義できます。このモデル

には、コンパクトなディメンション・モデル・ダイアグラムと詳細なディメンション・モデル・ダ

イアグラムの両方が用意されています(図5と図6)。

Page 11: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

9

図6:詳細なディメンション・ダイアグラム

ディメンション・モデルは論理モデルの上に構築され、レベル、属性、メジャーを、論理モデルに

定義されているエンティティと属性にマッピングします。これらの定義は、複数(数は無制限)の

リレーショナル・モデルとその異なるRDBMSサイトでの実装にマッピングできるため、ディメンショ

ン・モデルのデプロイの柔軟性が大幅に向上します。

すべてのディメンション機能(Oracle OLAPメジャー・エディタなど)とは別に、問合せウィザード

(組込みスライス・オブジェクト。図7参照)が用意されています。このウィザードを使用すると、

ディメンション定義からSQL SELECT文を生成できます。

図7:スライス・オブジェクトに組み込まれた問合せウィザード

Page 12: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

10

Oracle SQLエンジン

ディメンション・モデルとSQL Developer Data Modelerデータベース・サイトの間では、メタデータ

が双方向に転送されます。ディメンション・モデルのディメンション、レベル、階層の定義はSQL

として処理できるため、データベース・エンジンに対するクエリー・リライトのためのメタデータ

が得られます。反対に、SQLディメンション、レベル、階層は、ディメンションの対応部分に加工で

きます(データベース定義を使用してほぼ完全なディメンション・モデルを構築可能)。また、キュー

ブとメジャーの定義は、特定の条件(ファクト表とディメンション表間の外部キーの定義が存在す

るなど)が満たされれば作成可能です。図6に、Oracle Sales History(Oracle SH)のサンプル・モデ

ルを示します。

データ型と構造型モデル

SQL99では、構造型の概念が、スーパータイプとサブタイプの継承階層を追加できる名前付きのユー

ザー定義複合型として導入されました。

データ型モデルを使用すると、ユーザーは、固有のコレクション(配列)型を定義することによっ

て、構造型および構造型の継承階層を作成し視覚化できます。これらの定義はOracleのオブジェクト

型VARRAY、およびOracle物理モデルのネストした表にマッピングされます。

図8:データ型モデル

論理モデルおよび任意のリレーショナル・モデルでは、データ型モデルの定義を使用して、属性と

列のデータ型を指定したり、表(エンティティ)が特定の構造型であることを指定したりできます。

Page 13: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

11

型の置換

SQL Developer Data Modelerでは、行(表とビュー)レベルでの“型置換”が、グラフィカルな操作

および表示で用意されています。型置換制約は、構造(オブジェクト)型に基づく表またはビュー

によってサブタイプを供給できるインスタンスを定義します。下図の緑の線が型置換制約になりま

す。

図9:データ型モデルのネストされたサブビューを使用したリレーショナル・モデル

列レベルの型置換と参照型の“スコープ”表は、リレーショナル・モデルによってサポートされて

いるSQL99の機能です。これらの制約を宣言的な方法で表現できない場合は、型置換定義を強制する

データベース・トリガーが生成されます。

空間モデル

SQL Developer Data Modeler は、ユーザーによる空間表の定義を許可することで空間モデルをサポー

トしています。ユーザーは、SDO_GEOMETRYデータ型を持つ列、またはSDO_GEOMETRY戻り型

を持つ関数について、1つ以上の空間列を定義できます。また、関連する空間索引も定義できます。

これらの定義は、物理モデル内で拡張できます。

Page 14: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

12

Oracleのすべての空間関連の定義、およびUSER_SDO_GEOM_METADATAビューに必要な登録は生

成されたスキーマに含まれており、データベースをインポートする際にインポートされます。

図10:MDSYSスキーマのデータ型

SQL Developer Data Modelerでは、MDSYSスキーマで宣言されているデータ型はすべて事前定義とし

て認識されるため、生成されるDDLスクリプトに含まれることはありません。これにより、モデル

設計に必要なMDSYSスキーマのデータ型をデータ型モデルにインポートできます。

Page 15: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

13

図11:リレーショナル・モデルおよび物理モデルの空間定義

モデルの作成

既存の論理モデル、多次元モデル、またはリレーショナル・モデルは、インポートするか、ゼロか

ら作成できます。リレーショナル・モデルは、スクリプト・ファイル(DDL)をインポートするか、

データ・ディクショナリから直接インポートして作成することもできます。SQL Developer Data

Modelerでは、Oracle DesignerリポジトリまたはCA ERwin Data Modeler論理モデルから直接インポー

トできます。多次元モデルは、キューブ・ビューまたはXMLAファイルを使用してインポートする

か、データベースまたはDDLスクリプトからインポートしたOracle SQLディメンションから作成でき

ます。OracleおよびDB2/UDBでは、データ型モデルを、データベースまたはDDLスクリプトからイ

ンポートして作成することもできます。

拡張的なウィザードによるエンジニアリング機能を使用すると、リレーショナル・モデルから論理

モデルを再構築したり、論理モデルから1つ以上のリレーショナル・モデルを構築したりできます。

その際、両モデル間の同期は維持できます。

新規モデルの作成

SQL Developer Data Modelerを起動すると、論理モデルおよびリレーショナル・モデルの空ページが

自動的に開きます。新規モデルの作成を開始するには、関連するツールバーを使用して、適切なボ

タンをクリックしてから、作成を開始するモデルをクリックします。各操作によって対応するダイ

アログが呼び出されるので、ユーザーは、ダイアグラム上の各要素を作成または更新できます。

データ・ディクショナリからのインポート

ユーザーは、インポートまたはリバース・エンジニアリング・プロセスに含めるオブジェクトを選

択できます。SQL Developer Data Modelerでは、次の機能がサポートされています。

サポートされているすべてのオブジェクトの選択リスト

Page 16: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

14

セカンダリ表を除外する機能

Oracleオブジェクト型、VARRAY、ネストした表のスマート・インポート。これらは、選択リス

トに含まれている場合、または選択された他のオブジェクト(表、ビュー、列、メソッドのパラ

メータまたは結果)の定義に使用されている場合にのみインポートされます。

複数のスキーマからのインポート。すべての表およびビューについて1つのダイアグラムが作成さ

れ、インポートされた各スキーマについて異なるサブビューが作成されます。

図12:データ・ディクショナリからのインポート

Oracle Designerからのインポート

SQL Developer Data Modelerには、選択したオブジェクトをOracle Designerリポジトリから直接抽出する

ためのウィザードが用意されています。このウィザードを使用すると、作業領域とアプリケーショ

ン・システムを選択し、選択した各オブジェクト型の個々のオブジェクトを選択できます。

Page 17: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

15

図13:Oracle Designerリポジトリからのインポート

SQL Developer Data Modelerでは、標準オブジェクトのサポートに加え、アーク(排他的リレーショ

ンシップ)、Oracleオブジェクト、ドメイン、コレクション型の定義もインポートできます。

選択したアプリケーション・システムに属するすべてのダイアグラムも、それぞれのSQL Developer Data

Modelerモデル(論理モデル、リレーショナル・モデル、データ型モデル)のサブビューとしてイン

ポートされます。

スクリプトの生成

SQL Developer Data Modelerは、Oracle、DB2、およびSQL Server用のDDLスクリプトを生成します。

ユーザーは次のスクリプトまたはファイルを作成できます。

物理モデルに基づくデータベース固有のDDLスクリプト

多次元モデル用のキューブ・ビュー・メタデータまたはXMLAファイル

Oracle OLAP用のXMLファイルまたはOracle Analytical Workspaceを直接作成

DDLおよび自己管理スクリプトの生成

SQL Developer Data Modelerは、通常のDDLスクリプトに加えて、次に示す自己管理機能を提供する

高度なスクリプトも生成します。

“開始と停止”手順を定義することで、スクリプトの実行時に実行ウィンドウを定義できます。

各DDL文が実行手順を表し、エラー発生時には、エラー発生時点(手順)からスクリプトを再開

できます。

Page 18: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

16

マスクするOracleエラーを定義できます(図14参照)。マスクされたエラーが発生すると、スク

リプトの実行が中断します。マスク不能なエラーが発生すると実行が停止します。

図14:スクリプト実行中に無視されるOracleエラー

3つのログ・レベルでスクリプトの実行をログに記録できます。

生成される高度なOracle DDLスクリプトはOracle SQL*Plusスクリプトです。このスクリプトは、SQL*Plus

またはOracle SQL Developer内で直接実行できます。生成されるスクリプトには、入力パラメータの

提供方法(対話型で渡す方法(SQL*PlusまたはOracle SQL Developer)あるいはコマンドラインで

SQL*Plusに入力パラメータを渡す方法)に応じて2つの種類があります。後者の場合、高度なスクリ

プトを、一般的なスケジュール/変更管理環境に簡単に組み込んでデータベースの変更を伝搬できま

す。

SQL Developer Data Modelerには、データベースの移行タスクを簡素化する名前置換機能が用意され

ています。たとえば、異なるデータベース(テスト環境、本番環境など)内に存在する同じデータ

ベース・オブジェクトのセットに、異なるネーミング・テンプレートを指定できます。

DDLスクリプトによるデータベースの更新

Oracle SQL Developer Data Modelerを使用すると、生成されたDDLスクリプトを使用して、安全かつ

効果的にデータベースを更新できます。

再作成する必要がある表のために生成される典型的なアクション・シーケンスは次のとおりです。

1. 既存の表の名前を変更します。

2. 新しい構造で新しい表を作成します。

3. 古い表の内容を新しい表にコピーします。

4. 古い(名前が変更された)表を削除します。

Page 19: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

17

手順3で未確認のデータ・エラーが発生すると、手順4で古い表が削除され、データの損失が発生し

ます。考えられるエラーの原因はさまざまです。たとえば、列のデータ型が変更されたり、表領域

がいっぱいになったりすると、コピー手順の実行中にエラーが起こる可能性があります。このよう

な簡単なテストでも、列のデータ型をDATEからARCHAR2に正しく変更するにはリスクが伴うこと

が分かります。

SQL Developer Data Modelerには、データベースを安全に変更するための次のようなフレームワーク

が用意されています。

実行ウィンドウ、エラー・マスキング、ロギングを使用した高度なスクリプティング

再作成される表の2つのバックアップ・オプション、すなわち、“名前の変更”または“ファイル・

システムのアンロード”

“アンロード”するディレクトリのグローバルな設定、または表単位の設定

パーティション化された表の各パーティションを別個のファイルにアンロード

変更されるデータ型の列に対してデータ型変換式を定義可能

Oracle Analytic Workspace

AW/XML APIを使用して、ディメンション・モデルを、XMLファイルに、またはOracle Analytic

Workspace内に直接エクスポートできます。エクスポート自体は、次の2つのモードで実行できます。

ディメンション・モデル全体、またはその一部を、新しいアナリティック・ワークスペースとし

てエクスポートできます。スライス・オブジェクトを使用すると、キューブ・メタデータ(ディ

メンションを含む)の一部だけをエクスポートできるので、異なる本番システムにデプロイする

ときの柔軟性が向上します。

図15:Oracle Analytic WorkspaceにSQLでアクセスするためのウィザード

計算済みメジャーのエクスポート – 新規(またはすべての)計算済みメジャーを既存のアナリティッ

ク・ワークスペースにエクスポートできます。現在のメジャー・フォルダの構造(ネストされたす

べてのレベルのサブフォルダを含む)もアナリティック・ワークスペースと同期されます。

Page 20: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

18

図16:Oracle Analytic Workspaceに対するSQLでのアクセス – 生成されたSQL

Oracle Analytic Workspace内において、(OLAP_TABLEインタフェースを使用して)ディメンション・

データにSQLでアクセスするためのイネーブラとして動作する組込みウィザードが用意されていま

す。これにより、すべての必要なオブジェクト型とビューの定義を迅速かつ簡単に定義できます。

Page 21: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

19

図17:多次元モデルのOracle Analytic Workspaceオプション・ウィンドウへのエクスポート

キューブ・ビュー

SQL Developer Data Modelerは、Cube Viewsとのメタデータの双方向交換をサポートしています。ディ

メンション・モデルはCube Viewsメタデータ・バージョン8.1/8.2のインポートを使用して構築できま

す。また、ディメンション・モデルをCube Views 8.2のXMLファイルとしてエクスポートすることも

できます。

BIプラットフォームを提供している多くのベンダー(Cognos、Microstrategy、Business Objects、Oracle

Hyperionなど)が、Cube Viewsメタデータのインポートをサポートすると宣言しています。SQL

Developer Data Modelerのディメンション・モデルは、Cube Viewsメタデータをインポートできるすべ

てのプラットフォームに転送できます。

MS SQL Server Analysis Services 2005

SQL Developer Data Modelerでは、SQL Server 2005モデルとの間で、XMLAファイルとしてのディメ

ンション・モデルのエクスポート、およびXMLAファイルのインポートを実行できます。

一般的な機能

SQL Developer Data Modelerは、上記で説明したプロセスと定義したモデルをサポートするさまざま

な追加機能をサポートしています。以下に、これらの機能のいくつかについて説明します。

Page 22: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

20

書式設定、サブビュー、表示

ユーザーは、単一または一連のオブジェクトの色、フォント、および大きさをコントロールできます。

サブビューは、多くの場合、ダイアグラム上で関連付けられたオブジェクトのグループです。サブ

ビューで変更が実施されると、メイン・モデルへ反映されます。リレーショナル・モデルのサブビュー

は、複数のスキーマを一度にインポートした場合に、データベース・スキーマごとに自動的に作成

されます。サブビューを使用すると、より大きなモデルの保守が簡単になります。

ダイアグラムのリンク

SQL Developer Data Modelerには、標準のダイアグラム機能の他に、フリーのダイアグラム・ネスト

(リンク)化機能が用意されています。“フリー”とは、ビジネスの概念、ルール、データの描写を

向上させるために、異なるモデルのダイアグラムをリンクできることを意味します。たとえば、デー

タ・フロー・ダイアグラムをリレーショナル・サブビュー内にネストして、データのロードと変換

を表現できます。前出の図9では、データ型モデルの“City/Country hierarchy”サブビューがリレーショ

ナル・モデル内にネストされています。

ネストされたダイアグラムはアイコンまたは複合ビュー内に表示されます(図9参照)。ネストされ

たダイアグラムに複数の表示が含まれる場合は、いずれかの表示を選択してダイアグラムを描画で

きます。

Page 23: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

21

ネーミング標準

SQL Developer Data Modelerでは、ネーミング標準用の用語集の基本的なサポートを行っています。

また、主要語、分類区分語、修飾子の組合せをサポートすることで、柔軟で制限のないネーミング・

ルールを提供しています。

また、SQL Developer Data Modelerでは、表要素のネーミング・ルールも定義できます(図19)。索

引(主キーと一意キーを含む)と制約の名前のパターンは、定義済みの変数{table}、{child}、{parent}、

{column}、{seq_nr}、{model}および英数字定数を組み合わせて設定できます。これらに、オプショ

ンのSUBSTR関数を組み合わせて語長を制限することにより、より柔軟なパターンを定義できます。

図18:表要素のネーミング・ルール

影響分析

論理モデルおよびリレーショナル・モデルのプロパティ・ウィンドウには影響分析パネルが用意さ

れています。影響分析パネルには、あるオブジェクトの、同じモデル内の他のオブジェクトによる

使用状況が表示されます。また、論理モデル・オブジェクトと関連するリレーショナル・モデル・

オブジェクトの間のマッピング情報も表示されます。マッピングを介して、多次元モデルとプロセ

ス・モデルでの当該オブジェクトの使用状況が表示されます。論理モデルは複数のリレーショナル・

モデルにマッピングできるため、ユーザーは異なるリレーショナル・モデル間の依存関係を追跡で

きます。

Page 24: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

22

図19:影響分析プロパティ・ウィンドウ

ドメインの場合は、ドメイン・プロパティ・ウィンドウに使用箇所プロパティ・ウィンドウが含ま

れます。

図20:ドメインの使用箇所

Page 25: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracleホワイト・ペーパー - Oracle SQL Developer Data Modeler入門

23

リポジトリのレポートの使用

SQL Developer Data Modelerではレポート・リポジトリがサポートされているため、ユーザーはSQL

問合せを保存および実行して、設計の詳細情報を収集できます。事前定義済みの一連のレポートを

Oracle SQL Developerの拡張機能として利用できます。ユーザーは、設計に対してレポートを実行し

たり、ユーザー固有のSQL問合せレポートを作成したりできます。

まとめ

このホワイト・ペーパーでは、Oracle SQL Developer Data Modelerの主要な機能について説明しまし

た。Oracle SQL Developer Data Modelerは、データ・モデリングとデータ設計プロセスに携わるユー

ザー向けにツールセットを提供します。具体的には、論理的または概念的モデリング(ビジネス・

インテリジェンス向け多次元モデリングを含む)、リレーショナル・データベース・モデリング、

および最終的な詳細の物理実装をサポートします。

参考資料

Oracle SQL Developer Data Modelerについて、詳しくは

http://www.oracle.com/technology/products/datamodeler/index.htmを参照してください。

Oracle SQL Developer Data Modelerのネーミング標準については、次のホワイト・ペーパーを参照し

てください。

http://www.oracle.com/technology/products/database/datamodeler/pdf/DataModelerNaming Standards.pdf

Page 26: Oracle SQL Developer Data Modeler入門...Oracle Designerリポジトリに含まれるエンティティとスキーマ・オブジェクト キューブ・ビューまたはXMLAファイルを使用した多次元モデル

Oracle SQL Developer Data Modeler入門

2009年6月

著者:Philip Stoyanov、Sue Harper

共著者:Chuck Murray

Copyright © 2009, Oracle and/or its affiliates. All rights reserved.

本文書は情報提供のみを目的として提供されており、ここに記載される内容は予告なく変更されることがあります。本文書は一

切間違いがないことを保証するものではなく、さらに、口述による明示または法律による黙示を問わず、特定の目的に対する商

品性もしくは適合性についての黙示的な保証を含み、いかなる他の保証や条件も提供するものではありません。オラクル社は本

文書に関するいかなる法的責任も明確に否認し、本文書によって直接的または間接的に確立される契約義務はないものとします。

本文書はオラクル社の書面による許可を前もって得ることなく、いかなる目的のためにも、電子または印刷を含むいかなる形式

や手段によっても再作成または送信することはできません。

Oracleは米国Oracle Corporationおよびその子会社、関連会社の登録商標です。その他の名称はそれぞれの会社の商標です。

0109