トリッキーな事をすれば可能です〜
私の周りではER図と言えばermaster、という程に普及しました。(させました)
そこで、小技である「外部キーを貼らずにリレーションの線を引く」をやってみたいと思います。
ER図を書く
よくあるパターン。
子テーブルBは、親テーブルAの主キーと、B自身もPKをもっているパターン。
DDLのオプションを確認する
現状だと線を引いてしまっているので、外部キーが貼られています。
ここでまず右クリックから、以下のように「エクスポート→DDL」と選択します。
次がポイントです。出力オプションをよく見て下さい。
「CREATE」の部分に「外部キー」があります。つまり、
外部キーを出力しない事ができるのです。
ではやってみましょう。
DDLを出力する
出力されたDDLは以下の通りです。
SET SESSION FOREIGN_KEY_CHECKS=0; /* Drop Tables */ DROP TABLE B; DROP TABLE A; /* Create Tables */ CREATE TABLE A ( I1 INT NOT NULL, V1 VARCHAR(10), PRIMARY KEY (I1) ); CREATE TABLE B ( I1 INT NOT NULL, I2 INT UNSIGNED NOT NULL, V1 VARCHAR(20), PRIMARY KEY (I1, I2) );
外部キーを出力しないでDDLが出力できましたね!
雑感
特にMySQLでは外部キーを貼らないという選択をする事があるので、この技は非常に有用かと思います。是非使ってみてくださいね。
ermasterに関しては以下のトピックも参考にどうぞ。
treeapps.hatenablog.com
treeapps.hatenablog.com