DBeaver-CE入門(5) – ER図の作成

ER図を作る。ERとはエンティティ・リレーションシップといい、難しく感じるかもしれないが、わかりやすく言えばテーブル同士の関係性を表したものをいう。この関係性を図によって表したものがER図なのである。DBeaverには簡便だが、キー同士を参照させることで自動ER図作成機能があるので、今回はこの機能を使ってER図を作成する。ただ、別にDBeaverでなくともDraw.ioやERMASTER、LibreOffice Baseなど、ほかのツールを使って作成することも可能である。

ひとつの例として、Visual Studio Codeに「Drawio.io Integration」という拡張機能を導入することで、ER図を作成することができる。データベースの拡張機能と併せて使用するといいだろう。

Visual Studio CodeでER図を描く
Visual Studio CodeでER図を描く

ER図を作成する

あたりまえのことだが、ER図を作成するには2つ以上のテーブルが必要である。まず、新しくテーブルを2つ作成する。ひとつは貸出テーブル(tlending)、もうひとつは利用者テーブル(tuser)である。それぞれのテーブルの内容は次のとおりである。制約で必ずPRIMARY KEYを設定するのを忘れないようにしよう。なお、DBeaverではIDEF1X記法でテーブル同士の関連性を表している。

貸出テーブル(tlending)

フィールド名データ型NOT NULLキー説明
book_idint(11)PRIMARY KEY書籍管理コード(5桁)
titlevarchar(64)書籍名
isbnvarchar(14)ISBN
user_idint(11)外部キー利用者コード
表1. 貸出テーブルの定義

利用者テーブル(tuser)

フィールド名データ型NOT NULLキー説明
user_idint(11)PRIMARY KEY利用者コード(5桁)
user_namevarchar(10)利用者名
user_addressvarchar(100)住所
user_phonevarchar(20)電話番号
表2. 利用者テーブルの定義

外部キーの設定

外部キーを設定するのは貸出テーブルのみである。テーブルtlendingをダブルクリックして、プロパティタブをクリックする。その後に[外部キー]をクリックする。

貸出テーブルを開く
貸出テーブルを開く

下部ツールバーから「新しく作る 外部キー」のアイコンをクリックする。まず蔵書テーブルのbook_idと関連付ける。参照表に表示されているtbooksをクリックして、カラムのbook_idと参照欄のbook_idになっているか確認し、[OK]をクリックする。

外部キーを新しく作成
外部キーを新しく作成
蔵書テーブルと関連付ける
蔵書テーブルと関連付ける

次に利用者テーブルと関連付ける。下部ツールバーから「新しく作る 外部キー」のアイコンをクリックして、参照表のtuserをクリックする。カラムのuser_idと参照欄のuser_idになっているか確認し、[OK]をクリックする。もし、カラムになにも表示されていなければ、カラムをクリックして、関連付けるキーを選択する。

利用者テーブルと関連付ける
利用者テーブルと関連付ける
貸出テーブルに2つの外部キーを設定
貸出テーブルに2つの外部キーを設定

これで設定は終わりである。最後に[Save…]をクリックして保存する。「ER図」タブをクリックすると、自動的に作成されている。

作成されたER図
作成されたER図

他のテーブルも自動的にER図が作成されているので確認してみるとよい。

以上でER図の作成は終わりである。制約でPRIMARY KEYの設定と外部キーでキー同士を指定すれば、自動的にER図は作成されるので活用してみるといいだろう。ただし、今回の例では貸出テーブル(tlending)から蔵書テーブル(tbooks)を参照しているので、蔵書テーブルから貸出テーブルへ外部キーを設定する必要はない。