以前にM5M2を使ってER図を作成する方法を紹介しました。
A5M2では、作成したER図からテーブル作成のSQL(DDL)を作成することができます。今回はER図を基にテーブル作成のSQLを作成し、DBにテーブルを構築するまでの流れを紹介します。
使用するER図
今回は以下のER図からSQLを作成します。
DDLを起こす
まずはER図からDDLを作成します。
A5M2でER図を開いたら、上部メニューバーから[ER図]を選択し、さらに[DDLを作成する]を選択します。
すると以下のようなポップ画面が現れます。RDBMS種類は使用しているDBMSを指定してください。一通りの設定を終え、右下の「DDL作成」を押すとDDLが作成されます。
今回のER図から作成されるDDLは以下のようなものです。
-- Project Name : studentinfo
-- Date/Time : 2022/07/17 13:56:33
-- Author : learn_nao
-- RDBMS Type : PostgreSQL
-- Application : A5:SQL Mk-2
/*
<< 注意!! >>
BackupToTempTable, RestoreFromTempTable疑似命令が付加されています。
これにより、drop table, create table 後もデータが残ります。
この機能は一時的に $$TableName のような一時テーブルを作成します。
この機能は A5:SQL Mk-2でのみ有効であることに注意してください。
*/
-- 学部マスタ
--* RestoreFromTempTable
create table facultyMaster (
facultyID uniqueidentifier not null
, facultyName NVARCHAR2(20)
, constraint facultyMaster_PKC primary key (facultyID)
) ;
-- 学生
--* RestoreFromTempTable
create table student (
studentNumber NCHAR(4) not null
, studentName NCHAR(20)
, facultyID uniqueidentifier
, constraint student_PKC primary key (studentNumber)
) ;
comment on table facultyMaster is '学部マスタ';
comment on column facultyMaster.facultyID is '学部ID:学部を一意に識別するID';
comment on column facultyMaster.facultyName is '学部名:学部の名称';
comment on table student is '学生';
comment on column student.studentNumber is '学生番号:学生を一意に識別する値';
comment on column student.studentName is '学生名:学生の名前';
comment on column student.facultyID is '学部ID:学部を一意に識別するID';
あとはこのDDLを、テーブル作成したいデータベースで実行すればOKです。
DDLの実行
作成したDDLを実行します。テーブル作成対象のデータベースは既に作成されていることが前提です。
作成したSQLを開いた状態で、画面上部の(データベースを選択してください)というタブを押し、接続するデータベースを選択します。
データベースを選択した後は、下図赤枠内のタブを開き、実行位置を「先頭から全て」とします。この設定で、画面上のSQLが全て実行されます。そして、同じく赤枠内のアイコンを押すとDDLが実行されます。
DBへ未接続の場合、実行前に接続ユーザとパスワードが要求されます。実行すると、実際にテーブルが作成されたことが確認できます。
まとめ
A5M2でER図からDDLを作成する方法を紹介しました。
この機能を使えばSQL(DDL)を作成する手間が省けるだけでなく、ミスなく設計したテーブル定義のままテーブルを作成することができ便利です。
是非お試しください^^
ではでは👋