連載 [第2回] :
即活用!ツールを活用したデータモデリングERの基礎知識とツールの活用法
2006年3月1日(水)
リソース系とイベント系
データモデリングの基礎知識をマスターしたところで、今度はデータモデリングツールの上手な使い方について説明します。まずは色分けによる視野性の向上について紹介しましょう。
もともとER図はテーブル設計情報を"ビジュアル"的に表現することが目的です。ですので、"色"という便利な情報も使わない手はありません。色の使い方は人それぞれですが、筆者の場合はエンティティがリソース系かイベント系かで色分けしています。つまりマスタテーブルとトランザクションテーブルで色を変えています(図1)。
アプリケーションの設計において、マスタ系かトランザクション系かを把握するのは重要です。そのため、よく「受注トラン」「顧客マスタ」などとエンティティ名自体で区別している例があります。しかし、ERツールを使って色で区別するようにすれば、このように名称に"トラン"や"マスタ"などの文字をつけなくても済みます。
ドメイン
データモデリングツールにはドメインという便利な機能が用意されていますので、積極的に使ってみましょう。ドメインとは「個々のアトリビュートの属性を共通化するディクショナリ」のことです。といわれてもピンとこないと思いますので、画面を参照しながら具体的に説明しましょう。
図3はデータモデリングツール上のドメインとER図の表示画面です。画面左側にドメインの一覧が並び、右側にER図が描かれています。
左側のツリーからドメイン「顧客番号」を開くと、図4のようなドメイン定義情報が確認できます。このドメインを右側のER図上のエンティティ(テーブル)にドラッグすると自動的にアトリビュート(列)が追加されます。図3においては「受注」テーブルと「顧客」テーブルに含まれる「顧客番号」列がドメイン「顧客番号」に関連付けられています。
ドメインを利用するメリットは、データ型やデータサイズを統一できることです。例えば、図4のドメイン「顧客番号」は、"char(5)"というデータ型・サイズで定義されています。
これをエンティティにドラッグすると、エンティティ内のアトリビュート「顧客番号」のデータ型やサイズも"char(5)"というデータ型・サイズに統一されます。このような使い方により、「顧客」テーブルでは"char(5)"なのに、「受注」テーブルを"varchar(5)"で設計してしまうような、よくあるミスを防止できます。
また、ドメインの情報の変更は一括してすべてのエンティティに反映されます。例えば、設計途中でデータサイズを"char(5)"から"char(8)"に仕様変更する場合、ドメイン1箇所を修正すれば済むことになります。
サブモデルとER図マージ
ER図を紙に描いていた時代、システム規模が大きくなると複数のER図をセロテープでつないで全体をあらわしていました。同じようにツールでも、システムが大きくなるとテーブル数が増えて、1つのER画面ですべてを表示するのが大変になってきます。
これを解決する機能がサブモデル機能です。図3の下側を見ると、「メインモデル」というタブの横に「受注」や「受注情報」などのタブがありますが、これらがサブモデルです。
サブモデルとは、指定したエンティティだけを選んで別タブ上に表示する機能です。エンティティの情報は完全に連動していますので、サブモデルで変更した内容は全モデルに反映されます。一方、レイアウト情報は完全に独立していますので、あるサブモデルの配置を変えても他のタブには影響はありません。
ERPのような規模の大きなER図を描く際は、このように機能単位でサブモデルをたくさん作成して設計作業を行うことになります。また、サブシステム単位で複数の設計者に分かれてER図を作成する場合も多いので、一般のツールにはER図のマージ機能なども用意されています。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。