presented by 松原正和
 





広告






twitter


掲示板

FeedWind
      

A5:SQL Mk-2を使ってER図を描こう!!

 このページでは ER図の簡単な説明と A5:SQL Mk-2 からER図を描く手順を示します。


ER図とは

 ER図とはコンピュータシステムを設計するときに、現実社会でのシステム化対象を「モデル化」するために用いる図です。

 一そろいのデータの集まりをエンティティ(Entity)、エンティティ同士の結びつきをリレーション(Relation)と呼んで図にします。これがER図(Entity-Relation Diagram)と呼ばれるゆえんです。

 データベース設計では特に、エンティティをテーブル、リレーションを参照整合性制約として図を描くことが多いですが、本来ER図は現実社会をモデル化したものであることを心にとめておいてください。


ER図の記号

エンティティとリレーション
エンティティとリレーション

エンティティの記号

 エンティティは箱の中にデータの名前を列挙して表します。
 大別して、独立エンティティと依存エンティティに分けられます。
 独立エンティティは文字通り、他のエンティティから独立して存在できます。
 依存エンティティは他のエンティティが存在して初めてそのエンティティも存在できます。注文エンティティに対する、注文明細エンティティなどです。
 独立エンティティは角のある箱、依存エンティティは角の丸い四角として表記されます。
 エンティティの中で、データを一意(ユニーク)に識別するための項目は箱の上側に線で仕切られて表現されます。これはデータベースのテーブルで表現される際に「主キー」として表現されます。

リレーションの記号

 リレーションはエンティティ同士をつなぐ線として記述されます。
 エンティティ同士の関係を表すために線の終端に記号が付きます。
 これは、「あるエンティティのn個のデータに対し、関連するエンティティはm個のデータを持つ」ことを表し、カーディナリティと呼ばれます。

カーディナリティの種類
カーディナリティ 説明
0または1 0または1
相手のエンティティのデータに対して、この終端に接続されるエンティティのデータは存在しないか1個だけ存在する。
社員に対する上司など。(普通は上司が一人いる・でもおそらく社長には上司はいない)
1 1
相手のエンティティのデータに対して、この終端に接続されるエンティティのデータは必ず1個存在する。 受注に対して顧客など。(顧客の存在しない受注はありえない・顧客の複数ある受注もありあえない)
0以上 0以上
相手のエンティティのデータに対して、この終端に接続されるエンティティのデータは存在しないこともあるし、複数存在することもある。 社員に対する部下など。
1以上 1以上
相手のエンティティのデータに対して、この終端に接続されるエンティティのデータは必ず1個以上存在する。 受注に対して受注明細など。
注)
 上記の図ではカーディナリティの記号はIE表記(Information-Engineering)で表現されています。
 このほかの表記としてIDEF1Xと呼ばれる表記も多く見られます。
 A5:SQL Mk-2では両方の表記に対応しています。


実際に描く

A5:SQL Mk-2のレイアウト

 A5:SQL Mk-2 を起動し、メニューから[ファイルF] - [新規] - [新規ER図] を選択すると、新しいERエディタが開きます。

ERエディタ
ERエディタ

エンティティを追加する

 エンティティを追加するには(エンティティ追加モード)のボタンを押下して、エディタの任意の位置をクリックすると何も項目を持たないエンティティが追加されます。
 このエンティティをダブルクリックすると、プロパティ設定画面が開きます。
 プロパティ画面を使って、エンティティの論理名・物理名、各フィールドの論理名・物理名・型・必須・キー・デフォルト式、インデックスの情報を入力します。
 エンティティの物理名・各フィールドの物理名はデータベーステーブルの物理名となります。

エンティティのプロパティ画面
エンティティのプロパティ画面

リレーションを追加する

 リレーションを追加するには(リレーション追加モード)のボタンを押下して、リレーションの親エンティティをクリックし、その後子エンティティをクリックします。
 親エンティティ・子エンティティとはエンティティBがエンティティAに依存する場合、エンティティAが親エンティティ・エンティティBが子エンティティとなります。
 2つのエンティティが依存関係でない場合、リレーションのカーディナリティが1(あるいは0または1)となるほうが、親エンティティとなります。
 n対mのような、どちらもカーディナリティが1(あるいは0または1)とならない場合はどちらを親としてもかまいません。
 このリレーションをダブルクリックすると、プロパティ設定画面が開きます。

リレーションのプロパティ画面
リレーションのプロパティ画面

データベースにテーブルを作成する

 ひと通り、エンティティとリレーションを作成したら、データベースで実行するDDL(Create table文など)を作成します。
 DDLを作成するには、メニューから[ER図(E)] - [DDLを作成する(D)...]を選択します。
 DDLの生成ダイアログでRDBMSの種類やその他のオプションを選択して、「DDL生成」ボタンを押下すると、SQLエディタが開いてDDLが作成されます。

DDLの生成

 SQLエディタが開いたらデータベースを指定して、「全て実行する」モードにして実行します。

DDLの実行

ビットマップを生成してExcelに貼り付ける

 ER図をデータベースの仕様書に貼り付けたい場合もあります。
 この場合、メニューから、[編集(E)...] - [ビットマップの生成(B)...]を選択します。
 ビットマップのサイズと色数を選択して、「OK」を押下するとクリップボードにビットマップがコピーされます。

ビットマップの作成
ビットマップの作成

Excelに貼り付けられたER図
Excelに貼り付けられたER図


home
 








[an error occurred while processing this directive]