ER図の作成

このトピックでは、SI Object Browser ERを使用してER図を作成するための基本的な操作方法を説明します。

エンティティの作成

はじめに、エンティティの作成方法からご紹介します。ツールバーから「エンティティ」のアイコンをクリックまたは、「挿入」メニュー→「エンティティ」を選択します。

Pasted image 20240925141700.png

続けてモデルエクスプローラ上の作成したい箇所でマウスをクリックします。
これで、空のエンティティが作成されます。

Pasted image 20240925141922.png

続けてエンティティをダブルクリックします。 エンティティエディタが表示されますので、エンティティ名と、エンティティに含まれる属性情報(カラム名、データ型、長さなど)を入力します。
また、「主キー」となる項目については主キーのチェックをONにします。各属性情報の入力が完了後、登録ボタンを押します。

・エンティティエディタ
Pasted image 20240925142149.png

[エンティティ名]、[属性名]は論理名となり、[テーブル名]、[カラム名]は物理名となります。論理名(エンティティ名、属性名)はER図上のみの情報であるのに対し、物理データベースで適用される名前は物理名(テーブル名、カラム名)となります。一般的には、論理名はわかりやすい日本語、物理名はアルファベットにすると良いでしょう。

■リレーションシップの作成

続けて、リレーションシップの作成方法について解説します。リレーションシップを作成するにはツールバーから以下の赤枠のアイコンをクリックします。(左からサブタイプ、依存、非依存、多対多リレーションとなります。各リレーションシップの違いについてはこちらをご覧ください。)または「挿入」メニューより対象のリレーションシップを選択します。
Pasted image 20240925160922.png

続けて、親エンティティの上でマウスをクリック後、マウスボタンを上げずに子エンティティの上まで線を引くようにドラッグします。その後、マウスボタンを離します。

Pasted image 20240925154326.png

これで、エンティティの間にリレーションシップが設定されます。
Pasted image 20240925154355.png

リレーションシップ設定後は親エンティティの主キーが、子エンティティの外部キーとして自動的に追加されます。上記例では、「商品分類マスタ」エンティティの主キーである「商品分類コード」が「商品マスタ」の外部キーとして追加されています。(外部キー列名の最後には(FK)と表示されます。)外部キーは、依存型リレーションシップを引いた場合は主キー項目、非依存型の場合は非主キー項目として追加されます。外部キーのカラム名は、親エンティティの主キーのカラム名と同じ名前で作成されますが、エンティティエディタにて名前を変更することもできます。

また、リレーションシップの線上をダブルクリックすることで、リレーションシップエディタを開くことができます。リレーションシップエディタでは動詞句カーディナリティなどの細かい設定が可能です。(なお、動詞句やカーディナリティは物理データベースには影響されることはありません。)

Pasted image 20240925154627.png

設定した動詞句がリレーションシップ上に表示されます。
Pasted image 20240925154742.png

また、「使用キー」タブでは外部キーの対象列を別のカラムに変更することもできます。
Pasted image 20240925154835.png

また、「定義」タブではリレーションシップの対象モデルが設定できます。既定では「論理モデルのみ」となりますが、「論理・物理モデル」または「物理モデル」のみに変更することで、次章で紹介するフォワードエンジニアリングの実行時に、外部キー制約として物理データベースに反映が可能です。
Pasted image 20240926055004.png

■その他の支援機能

また、SI Object BrowserではER図を効率よく作成するために以下の支援機能が備わっています。

1.モデルの表示切り替え
ツールバーにある以下のコンボボックスよりER図の表示を切り替えることが可能です。
 

 「論理モデル」にした場合は、エンティティエディタで設定した論理名(エンティティ名、属性名)が表示され、「物理モデル」にした場合は、物理名(テーブル名、カラム名)が表示されます。また、「論・物表示」にした場合は、論理名、物理名が併記されます。

・論理モデルで表示
Pasted image 20240925142707.png

・物理モデルで表示
Pasted image 20240925142720.png

・論・物表示で表示
Pasted image 20240925142855.png

2.ドメイン

ドメインとは、列名やデータ型などの列の定義をテンプレートとしてひとまとめにしたものです。複数のエンティティに共通で使用する列に関してはあらかじめドメインを作成しておくことにより、効率よくエンティティを作成することができます。

ドメインを作成するにはモデルエクスプローラ上のドメインアイコン上で右クリックし、[新規作成]を選択します。

・モデルエクスプローラのアイコン上で右クリック
 

ドメインエディタが表示されます。任意のドメイン名および、カラム名、データ型等の情報を設定します。
Pasted image 20240925143001.png

ドメイン作成後は、エンティティエディタの「ドメイン」欄に作成したドメインを選択するか、モデルエクスプローラ上で対象のドメインをエンティティにドラッグ&ドロップすることでエンティティのカラムとして追加することができます。設定後はドメインで指定したカラム名やデータ型が自動設定されます。

・エンティティエディタで選択
Pasted image 20240925143535.png

・モデルエクスプローラよりドラッグ&ドロップで追加
Pasted image 20240925143255.png

また、エンティティの列をドメインから設定しておくと、後ほど、一括で列定義が変更できるようになります。例えば、上記「更新日時」のデータ型をDATEからCHARに変更したい場合、ドメインエディタにてデータ型の設定をCHARに変更することで、そのドメインを参照している全エンティティのデータ型が一律でCHARに変更されます。

3.サブモデル
シートを分割して表示する機能です。
エンティティをサブ機能ごとに別表示したい場合や、エンティティが多くER図が見づらい場合などに使用できます。

サブモデル機能を使用するには、下側のシート名の個所を右クリック → [サブモデルの作成]を選択します。
Pasted image 20240925143926.png

  サブモデルエディタが表示されます。タイトルおよび、サブモデルで使用するオブジェクトを選択し、「OK」ボタンをクリックします。

Pasted image 20240925144159.png

これで別シートが作成され、選択したエンティティのみが表示されます。シート名はタイトルで入力した文字列になります。

Pasted image 20240925144407.png

なお、サブモデル内のエンティティの定義情報を修正した場合は、メインモデルの同エンティティにも反映(同期)されます。

ER図の作成方法については以上ですが、SI Object Browser ERでは作成したER図を元に物理データベースにスクリプト(DDL)を発行し、テーブルを作成することも可能です。詳しくは、次章のフォワードエンジニアリングの実行をご覧ください。