ER図作成ソフトをいくつか紹介

Hibi

2008年01月27日 06:30



先日、データベースを使用するシステムを作ろうとした時、ER図を書くことにしましました。

ER図とはデータベース内のデータ間の関連付けを図にすることによってデータの構造を分かりやすくするための手法です。言葉で書くと分かりにくいのですが、もっと簡単に言うとデータのつながりを絵に描いて一目で分かりやすくする絵のことです。

簡単なデータベースなら頭の中で考えれば済むことなのですが、数多くのデータを持つシステムを扱うとなるとそれなりの絵を描かないと訳がわからなくなってしまいます。

ER図を書くにはペンと紙で書いてもいいのですが、それなりのツール(ソフト)が世の中には出回っています。下記に私が使用したER図を描くためのツールをいくつか紹介します。

Office Visio


Microsoft社のOfficeシリーズにお絵かきソフトのVisioがあります。このソフトはいろいろなビジネスプロセスやフローチャート、ネットワーク図などを描くために作られたソフトウェアで、昔(今もありますが)の花子のようなソフトになります。

このVisioにはデータベースと連携してER図を描く「データベースモデル図」という機能があって、既にあるデータベースと接続してER図を自動生成する機能があります。もちろん、データベースと接続せずにER図を単体で書くこともできます。

ただ、このVisioでER図を描こうとするとMicrosoft社の製品だけあって、基本はMicrosoft社のSQL Serverを対象にして作られているようです。その為、カラムのテーブル型の種類がSQL Serverに偏った種類しかないのが欠点です。


Office Access


Microsoft社のAccessはER図を描くためのソフトではなく、あくまでデータベースソフトなのですが、Accessの場合「リレーションシップ」という機能があります。このリレーションシップはAccess内のテーブル関係を連携させるものなのですが、ビジュアル的に作りこむため、リレーションシップの画面そのものが既にER図となってしまうのです。

なので、Accessでテーブルを定義してそのテーブル間をリレーションシップで繋いでしまえば図のようなER図ができてしまいます。AccessをER図として使用するのが正しいかは疑問ですが・・・。


XEAD


以前、Javaの仕事をした時に提供されたER図が「XEAD」で作られたER図でした。

私は提供されたER図を見て仕事をしていたので、このソフトでER図を描いたことは無いのですが、はっきり言って非常に見にくかったです。本来、XEADは業務システムの基本設計情報を作るためのツールのようなのですが、DBの設計としても使用することができるようです。


Clay データベース モデリング


最近、私がなかなか良いなと思うソフトはEclipseのプラグインの「Clay データベース モデリング」(Clay)です。

EclipseはJavaのRunTimeで動作する開発環境ソフトで、そのEclipseで動作するER図を描くためのプラグインです。このClayはフリーと有償の2種類があるのですが、フリー版のCore Editionでも十分使用することができます。

このClayはMySQLやPostgreSQLなどのフリーのDBに合わせたER図(データ型)を書くことができ、そのDBにあわせたSQL文の生成もできます。(商用版のDBに対応するには有償のPro Editionが必要)

ER図を描くためのツールも4つしかないのですが、テーブルや列の型などの設定は別のウィンドで設定できるので非常にシンプルで使いやすいです。

まだ、本格的に使用してはいませんが、かなり役に立ちそうなツールと感じました。


上記のER図作成ソフトは他にもたくさんありますが、私が感じたソフトはこの通りです。「他にもこんなソフトがあるよ」という意見がありましたら下記コメントにお願いします。m(__)m
関連記事