pgAdmin 4 ER図の自動作成
ER図を自動作成する方法は、下記のブログを参照して下さい。
参照:ER図の自動作成
pgAdmin 4 でER図を作成する
ER図(エンティティ・リレーションシップ図)とは、データベースの設計や分析に使用される図で、データの構造を視覚的に表現するためのものです。ER図では、データベース内の要素とそれらの関係を図で表現します。
ER図の要素
ER図の主な要素は次の通りです。
- エンティティ(Entity): データベースの中で管理される主要なオブジェクトを表します。例えば、顧客や商品などです。
- アトリビュート(Attribute): エンティティの特性や属性を表します。例えば、顧客エンティティに対する「名前」「住所」(カラム
などがアトリビュートです。 - リレーションシップ(Relationship): エンティティ同士の関連性を表します。例えば、「注文」というリレーションシップは、顧客と商品を結びつけます。
エンティティ
ER図を作成する目的
●工程の後戻り作業を防ぐ
ER図を正しく作成する事でシステム全体の理解が進み、完成度が高いシステムを早期に作成する為の重要な要素となります。
●保守や機能の拡張時に必要となる
保守が必要になった場合や機能の拡張時、システムの設計資料が残っている事で、迅速な対応が可能になり、機能の拡張に対しても素早く作業を行う事が可能となります。
pgAdmin 4 によるER図の作成
本紹介文で作成するER図のシステムについて
「ER図の要素」の説明で示している様に、あるショップが「仕入先」から仕入れた「商品」を、「顧客」が「どの商品」を「いつ」「何個」購入したのかを記録する「購入テーブル」を作成するシステムのER図を作成します。
データベースの作成
●データベースの作成
先ずは「仕入れ先」テーブルを作成します。左メニューの「データベース」を右クリックして「作成」→「データベース」を選択します。
データベース作成ダイアログボックスの「データベース」名にデータベース名称を入力して「保存」ボタンをクリックします。
入力した名称のデータべースが作成されました。
各テーブルの作成
左メニューの「スキーマ」を展開し「テーブル」を右クリック、「作成」→「テーブル」を選択します。
テーブル作成ウィザードで、「名前」にテーブル名称「supplier_tbl」を入力し、「General」タブ右側の「列」タブに移動します。
右側の「+」ボタンをクリックして「列」入力欄を作成し、下図のように「名前」「データ型」「NOT NULL」「主キー」を入力します。本テーブルの「主キー」は「supplier_id」です。全て入力したら「保存」ボタンをクリックしてテーブルを作成します。
作成されたテーブル「supplier_tbl」テーブル。
「supplier_tbl」のようにして、「customer_tbl」「merchandise_tbl」「purchase_tbl」を作成します。
リレーションシップの種類
作成した各テーブルに「リレーションシップ」を設定していきます。「リレーションシップ」には、「1対多」「多対多」等の種類があります。
●「1対多」の関係
あるテーブルの1つのレコードが、別のテーブルの複数のレコードに関連する関係のことを指します。
●「多対多」の関係
本例では、「1対多」の関係のリレーションシップしか扱いませんが、「多対多」の関係のリレーションシップもあります。、あるテーブルの複数のレコードが、別のテーブルの複数のレコードと関連付けられる関係を指すもので、この関係を表現するためには、中間テーブル(結合テーブル)を使用します。
リレーションの作成
ER図を作成したいデータベースを右クリックして「データベースに対するERD」を選択します。
下図ように、テーブルの一覧が表示されます。
先ず、「仕入れ先テーブル(Supplier_tbl)」と「商品テーブル(merchandise_tbl)」を「1対多」のリレーションで関連付けてみましょう。
「商品テーブル(merchandise_tbl)」をクリックした後、「1M」をクリックします。
「1対多」のリレーションを設定するウィジェットが表示されるので、「商品テーブル(merchandise_tbl)」の「主キー」と、関連付けるテーブル「仕入れ先テーブル(Supplier_tbl)」とその「主キー」を設定し、保存します。
そうすると、「仕入れ先テーブル(Supplier_tbl)」と「商品テーブル(merchandise_tbl)」を「1対多」で関連付ける事ができます。同様に、「顧客テーブル(customer_tbl)」と「購入テーブル(purchase_id)」、「商品テーブル(merchandise_tbl)」と「顧客テーブル(customer_tbl)」も「1対多」で関連付けて下さい。
リレーションの関連付けが完了すると下図のようになります。
●リレーションの表記方法について
- IE表記(鳥の足記法)
- IDEF1X表記(チェン記法)
これまでは、「IE表記」を使用してきましたが、赤く囲ったメニューアイコンをクリックすると「IDEF1X表記」との切り替えができます。
■IE表記(鳥の足記法)
■IDEF1X表記(チェン記法)