関連の追加
前節で、テーブルを追加方法の基本解説は終了しました。ここでは、もうひとつ表2のemployeesテーブルを追加して、departmentsテーブルとの関連を追加する方法を紹介します。
関連を追加する2種の方法
今回は、図23は、前節で紹介した同様の手順でemployeesテーブルを追加したキャンパスです。
このemployeesテーブルのdepartment_idカラムは、外部キーとしてdepartmentsテーブルのidカラムを参照しています。その設定を行い、この2テーブル間に関連を追加する必要があります。
ERMasterで関連を追加する方法は2種類あり、ひとつが既存の列を使った関連の追加で、もうひとつが単なる関連の追加です。違いは、外部キーとなるカラムが、対象テーブルにあらかじめ存在するかどうかの違いです。図23のように、employeesテーブルにはすでに外部キーカラムであるdepartment_idを登録しています。よって、前者を利用します。
既存の列を使った関連の追加
早速、関連を追加しましょう。パレットから[既存の列を使った関連]をクリックします。すると、マウスカーソルが図24のように変化します。
このマウスカーソルの状態で、関連を追加する両テーブルをクリックします。ただし、その順番が大切で、参照先テーブル→参照元テーブルの順番でクリックします。この場合だと、departmentsテーブル→employeesテーブルの順番でそれぞれをクリックします。すると、図25の関連情報画面が表示されます。
参照先カラムは主キーである[部門ID]が自動的に表示されています。このカラムを参照する外部キーカラムをドロップダウンから選択します。図26のように、あらかじめ作成しておいた[所属部門ID]を選択し、[OK]をクリックします。
すると、キャンパスは、図27のように変化し、employeesテーブルとdepartmentsテーブルに関連が追加され、department_idには、外部キーを表す色とアイコンが付与されています。
なお、この関連線をダブルクリックすると、図28の関連情報画面が表示されます。この画面から、参照操作や多重度の設定などが行えます。
単なる関連の追加
もうひとつの関連の追加は、外部キーカラムがあらかじめない状態で行います。図29は、employeesテーブルから外部キーカラムのdepartment_idを削除した状態です。この場合、パレットで選択するのは、[1:N関連]です。図29のように、マウスカーソルが変化します。
テーブルをクリックする順番は、前項と同じなので、departmentsテーブル→employeesテーブルの順番でそれぞれをクリックします。すると、図30のように、外部キーカラムが自動的に追加されます。
ただし、カラム名は参照先主キーのカラム名と同一になってしまいます。図30の場合は、employeesテーブルの主キーカラムidと同一名称になってしまうので、これではまともにテーブル作成ができません。この場合は、該当テーブルをダブルクリックして表示されたテーブル情報画面から、該当カラムをダブルクリックして表示された列情報画面を使って、カラム情報を変更する必要があります。
N:N関連の追加
本節の最後に、N:N関連追加を紹介します。パレットから[N:N関連]を選択して、両テーブルをクリックすると、図31のように両テーブルの主キーを複合主キーかつ外部キーとしたテーブル、つまり、交差テーブル(中間テーブル)が自動生成されます。もちろん、ここからテーブル名、必要に応じてカラム名を変更する必要がありますが、このようなテーブルが必要な時に、この機能は便利です。
その他の便利な機能
最後に、ERMasterのその他の機能を2個ほど紹介します。
テーブルやビュー以外のオブジェクトの追加
ERMasterのパレットには、テーブルやビュー、関連のアイコンが表示されているので、これらのオブジェクトを追加する場合は、パレットとキャンパスを利用すると可能です。一方、シーケンスやトリガーなど、テーブルとビュー以外のオブジェクトを追加する場合は、アウトラインビューを利用します。
例えば、シーケンスを追加する場合は、アウトラインビューからシーケンスを右クリックして表示されるメニューから[シーケンス追加]を選択し、表示された画面に必要情報を入力すると、シーケンスオブジェクトが追加されます。
なお、ここで作成しているczer.ermは、MySQLを対象データベースとしているので、シーケンスの作成は行えないようになっています。対象データベースを、PostgreSQLなど、シーケンスをサポートしたデータベースにすると、図32のメニューが表示されます。
強力なエクスポート機能
ERMasterは、エクスポート機能も充実しています。これらは、キャンパスを右クリックして表示されるメニューから、[エクスポート]を選択して表示されるメニューから選択できます(図33)。
図34は、試しに[DDL]を選択して表示されるDDL出力画面です。
この画面から必要なチェックボックスにチェックを入れ、[OK]をクリックすると、[出力ファイル]欄のファイル名でDDLファイルが作成されます。このDDLファイル内のSQLを該当データベースにインポートするだけで、必要テーブルから関連、ビュー、シーケンスなど、全てが自動作成されます。
同様に、図33のメニューから[Excel]を選択すると、テーブル定義書エクセルファイルが生成されます。これらの強力なエクスポート機能があるため、データベースの仕様変更がある場合は、DDLファイルやエクセル定義書を変更するのではなく、あくまでERMaster上で変更を行い、エクスポートし直す、というワークフローが確立できます。
まとめ
今回は、Eclipseでデータベース設計を行うERMasterを紹介しました。ここまで紹介してきたように、さまざまな便利機能がERMasterには含まれています。本稿では紹介しきれませんが、そのさわりを感じていただけたのではないかと思います。Eclipseを紹介する本連載も、次回でいよいよ最終回です。その次回は、AWSと連携するプラグインである、AWS Toolkit for Eclipseを紹介します。