ER図を楽して書こう

この投稿はドキュメント作成技術 Advent Calendar 2014の18日目の記事です。

皆さん、ER図やテーブル定義書は何で管理されていますか? まさかExcelでちまちま書いていたりしませんか?

ER図を書いてから、手動でテーブル定義書を作る。 もうそんな不毛なことは止めましょう。 それを解決するのが、皆さんご存知【A5:SQL Mk-2】です。

(え、ご存知ない?そんな方はググってください!w)

ここではそんなA5:SQL Mk-2の便利さを語って行きたいと思います。


1, ER図を書いてみよう

メニューから【ファイル→新規】を選択後、【ER図】を選択。

そうするとプロジェクト名と対象DBを選択して完了を選択。

これでER図が書けるように様になります。

2, エンティティを書いてみよう!

ER図のメニューから【エンティティの追加】を選択。

適当な場所をクリックして、エンティティを配置。

出来たエンティティをダブルクリックして、プロパティを表示。ここにテーブルの情報を記述していく形になります。

タブで[エンティティ]、[属性(列)][インデックスとユニーク制約]それぞれの役割は、

  • エンティティ:テーブル名等のテーブルの属性を記述する箇所
  • 属性(列):テーブルのカラム情報等を記述する箇所
  • インデックスとユニーク制約:名前の通り、インデックス等を記述する箇所

になります。

次に各項目で重要そうな設定を説明します。

エンティティ

  • 論理名:テーブルの論理名になります。よく分からない人は日本語名で書く事が出来る位の認識でいいと思います。
  • 物理名:テーブルの物理名になります。よく分からない人はプログラムで指定する名前位の認識でいいと思います。
  • コメント:その名の通りコメントです。備考的な扱いとして記述される事をおすすめします。ドキュメントの価値が高くなります。

属性(列)

  • 論理名:エンティティと一緒。
  • 物理名:エンティティと一緒。
  • コメント:エンティティと一緒。
  • DDLオプション:複雑なカラム定義をここで記述。SQL SERVERのIDENTITY(1,1)等はここで記述。

属性(列)

  • 物理名:エンティティと一緒
  • タイプ:インデックスなのかユニークインデックスなのかを選択。
  • 列定義:実際のインデックス対象カラムを指定。

3, リレーションを書いてみよう!

ER図のメニューから【リレーションシップの追加】を選択。

親エンティティを選択後、子エンティティを選択。

依存リレーションにするか、非依存リレーションにするか聞かれるので、その時に応じたリレーションを選択。

その後、リレーションシップにどのカラムをリレーションするか設定して完了。

これで基本的なER図が書けたと思います。次からはドキュメント出力能力も優れているので、そちらの説明をしていきます。

ER図からDDL作成をしてみよう!

メニューから【ER図→DDLを作成】を選択。

デフォルトのまま【DDL作成】をクリックして、簡単にDDLを作成することができます。

ER図からテーブル定義書を出力してみよう!

メニューから【ER図→エンティティ定義を出力】を選択。

デフォルトのまま【エンティティ定義作成】をクリックして、簡単にHTML形式の定義書を作成することができます。

ER図を出力してみよう!

メニューから【ファイル→印刷】を選択。

ER図の印刷はデフォルトのまま、【印刷】をクリック。

プリンター名を【CubePDF】を選択、保存先を選び【OK】を押す事で、PDF出力ができます。

ER図をDBから抽出してみよう!

メニューから【データベース→データベースの追加と削除】を選択。

【追加】からER図を作りたいデータベースコネクションを作成。

メニューから【データベース→ER図→ER図のリバース生成】を選択。

ER図化したいテーブルを選択し、リバースER生成をクリック。

これで既存のER図, カラム情報, index情報を簡単に作成することができます!

最後に

【A5:SQL Mk-2】は、ここで紹介したもの以外にも便利な機能があります。

興味がありましたら、ご自身でも調べてみてください。