既存のデータベースの読み込み

<< 目次を表示 >>

ページ位置:  その他の記法・モデリング > データベースの設計・生成と読み込み >

既存のデータベースの読み込み

Enterprise Architectでは、既に存在するデータベースの解析を行うこともできます。解析結果を他のモデル要素と同一に扱うことができますので、対象のシステムの把握や設計の明確化に有用です。解析した内容はUMLのクラス図としての表現のほか、Infrormation Engineering (IE)形式やIDEF 1X形式でテーブル間の関係を表現できます。解析対象はテーブルのほか、ビュー・プロシージャ・ファンクション・シーケンスが対象です。動作しているデータベースに接続することで、データベース構造をUMLのクラス図を拡張した形式で表現できます。また、既存のモデルに対して読み込んだ場合には、既存のモデルとの同期を行います。

 

Enterprise Architectには、既存のデータベーステーブルを読み込む機能があります。テーブルはステレオタイプ付きのクラスとして、元のDBMSのデータ定義に応じた形で読み込まれす。1つのプロジェクトで、複数の異なるDBMSから読み込むこともできます。読み込んだ内容と、他の設計要素などを結びつけることで、トレーサビリティが確保できます。

 

データベーステーブルの読み込みは、データベースビルダーを利用するか、「コード」リボンから読み込み機能を呼び出して利用します。

 

 

データベースビルダーを利用する方法

#

操作方法

1

データベースビルダーを開きます。

2

対象のデータモデルを選択します。

3

データモデル要素を右クリックし、「データベーススキーマの読み込み」 を選択します。

データベーススキーマの読み込みダイアログが表示されます。「読み込み先」として、現在選択されているデータモデルが設定された状態になっています。

 

 

データベーススキーマの読み込みダイアログ

項目

説明

データベース

この項目には、読み込み元となる接続の情報が以下の形式で表示されます。

    dbms.database_server.database_name

「選択」ボタンを押して対象の接続を指定して下さい。

読み込み先

この項目には、読み込んだテーブル要素などを配置するパッケージ名が表示されます。

異なるパッケージに配置したい場合には、 ボタンを押して対象のパッケージを指定して下さい。

以下のスキーマの項目のみ

対象のDBMSが複数のスキーマに対応している場合には、スキーマでデータベース内の読み込み対象を絞り込むことができます。

(SQL Server 2005/2008/2012・Oracle・PostgreSQL・DB2 Express)

利用可能なスキーマは自動的に一覧に表示されます。読み込む対象のスキーマに、チェックを入れて下さい。

「全て」のボタンを押すと全てのスキーマを対象にすることができます。「なし」のボタンで、チェックを解除できます。

表示されている内容を最新の情報に更新するためには、「スキーマの再読込」ボタンを押して下さい。

フィルタ

読み込み対象を、指定した条件の名前で絞り込むフィルタを設定することができます。

 

Oracleが対象の場合の例を示します。

  • LIKE 'A%' - 名前がAで始まる項目のみを読み込み対象にします
  • NOT LIKE '%\_%' ESCAPE '\' - 名前に下線(_)を含まない項目のみを読み込み対象にします
  • IN ('TABLE1', 'TABLE2') - 指定した名前の項目のみを読み込み対象にします
  • NOT IN ('TABLE1', 'TABLE2') - 指定した名前の項目を読み込み対象外にします

 

なお、フィルタは1つのみ指定できます。ANDを利用した複数のフィルタを指定することはできません。

 

フィルタは、MS Accessでは利用できません。

読み込み先

読み込んだ際に、現在開いているダイアグラムに要素を配置するかどうかを選択できます。

ダイアグラムを開いていない場合には、「ダイアグラムとパッケージ」の選択肢は利用できません。

読み込みのオプション

ダイアログ右側の一覧では、読み込み対象を指定できます。指定した内容はマシンに保存され、次回以降に再設定する必要はありません。

 

指定できる内容は次の通りです。

 

テーブルのフィルタ

 

オブジェクトのフィルタ

  • ビューを読み込むかどうか
  • プロシージャを読み込むかどうか
    • 操作として読込 - この項目を選択すると、コンテナとなるクラス要素を1つ作成し、そのクラスの操作として対象の項目を読み込みます。
  • ファンクションを読み込むかどうか
    • 操作として読込 - この項目を選択すると、コンテナとなるクラス要素を1つ作成し、そのクラスの操作として対象の項目を読み込みます。
  • シーケンスを読み込むかどうか
    • 操作として読込 - この項目を選択すると、コンテナとなるクラス要素を1つ作成し、そのクラスの操作として対象の項目を読み込みます。
  • パッケージを読み込むかどうか

 

追加設定

  • システムオブジェクトを読み込むかどうか

 

注意:

一度読み込んだ後に、同じモデルに対してコンテナクラスに読み込むかどうかの設定を変更して再度読み込んだ場合、以前に読み込んだ内容は削除され、変更後の設定に従ってモデルが作成されます。

同期

過去にデータベースの内容を読み込んだことがある場合には、その内容と同期を取るかどうかを指定できます。「既存のクラスの同期」を選択した場合には、既に読み込んだことがある内容の場合には、その要素の内容を更新します。対応する項目がない場合には、新規に要素を作成します。

「既存のクラスの同期」を選択した場合には、さらに同期方法についての詳細を指定できます。

読込

このボタンを押すと読み込みを開始します。

データベースオブジェクトの選択ダイアログが表示されますので、読み込む対象を選択します。指定した条件に合致しない内容は一覧に含まれません。

それぞれのスキーマやオブジェクト型のチェックボックスにチェックを入れると、そのグループ内の全ての項目にチェックを入れることができます。個々の項目のチェックボックスで対象を指定することもできます。

全てのボタンを押すと全部の項目を読み込み対象にします。なしのボタンを押すと、チェック状態を解除します。

対象の項目を指定したら、OKボタンを押します。読み込みを実行します。

閉じる

このダイアログを閉じます。

ヘルプ

ヘルプの内容を表示します。

 

注意:

  • Windowsでは、ODBC DSNは32ビット用と64ビット用のどちらでも定義することができます。Enterprise Architectで利用するODBC DSNは同じアーキテクチャで定義するように注意する必要があります。 Enterprise Architectのバージョン16以降では、32ビット版と64ビット版の両方が利用できるようになったため、この点は特に重要です。推奨する方法は、直接接続を利用することです。
  • ODBC 接続には、MySQL の ODBC ドライバや Oracle の ODBC ドライバなど、DBMS ベンダーが提供する ODBC ドライバを使用する必要がありますが、サードパーティのベンダーが提供するドライバはサポートされていません(Oracle 用の Microsoft ODBC ドライバなど)。
  • http://www.ch-werner.de/sqliteodbc/ から SQLite用のODBCドライバを取得できます。
  • ODBC経由での読み込み時に SQLiteのデータモデルに入力されたコメントを保持するには、データベーススキーマの読み込みダイアログの「同期」パネルにある「テーブルと列のコメントを上書き」チェックボックスの選択を解除します。
  • リバースエンジニアリング用にODBC接続を設定する場合は、多くの場合にはデフォルトの設定で問題ありません。
  • データモデリングのデータ型の一覧はプロジェクト内にリファレンス情報として保持していますので、プロジェクトを作成した時期によっては、内容が古いあるいは不足している場合があります。新規にプロジェクトを作成して実行してください。

 

 

参照: