TOP
>
設計・移行・活用
> リソース系とイベント系
即活用!ツールを活用したデータモデリング
第2回:ERの基礎知識とツールの活用法
著者:
システムインテグレータ 梅田 弘之
2006/3/1
前のページ
1
2
3
次のページ
リソース系とイベント系
データモデリングの基礎知識をマスターしたところで、今度はデータモデリングツールの上手な使い方について説明します。まずは色分けによる視野性の向上について紹介しましょう。
もともとER図はテーブル設計情報を"ビジュアル"的に表現することが目的です。ですので、"色"という便利な情報も使わない手はありません。色の使い方は人それぞれですが、筆者の場合はエンティティがリソース系かイベント系かで色分けしています。つまりマスタテーブルとトランザクションテーブルで色を変えています(図1)。
図1:依存型と非依存型(再掲)
アプリケーションの設計において、マスタ系かトランザクション系かを把握するのは重要です。そのため、よく「受注トラン」「顧客マスタ」などとエンティティ名自体で区別している例があります。しかし、ERツールを使って色で区別するようにすれば、このように名称に"トラン"や"マスタ"などの文字をつけなくても済みます。
ドメイン
データモデリングツールにはドメインという便利な機能が用意されていますので、積極的に使ってみましょう。ドメインとは「個々のアトリビュートの属性を共通化するディクショナリ」のことです。といわれてもピンとこないと思いますので、画面を参照しながら具体的に説明しましょう。
図3はデータモデリングツール上のドメインとER図の表示画面です。画面左側にドメインの一覧が並び、右側にER図が描かれています。
図3:データモデリングツールのドメインとER図
(画像をクリックすると別ウィンドウに拡大図を表示します)
左側のツリーからドメイン「顧客番号」を開くと、図4のようなドメイン定義情報が確認できます。このドメインを右側のER図上のエンティティ(テーブル)にドラッグすると自動的にアトリビュート(列)が追加されます。図3においては「受注」テーブルと「顧客」テーブルに含まれる「顧客番号」列がドメイン「顧客番号」に関連付けられています。
図4:ドメインの定義画面
ドメインを利用するメリットは、データ型やデータサイズを統一できることです。例えば、図4のドメイン「顧客番号」は、"char(5)"というデータ型・サイズで定義されています。
これをエンティティにドラッグすると、エンティティ内のアトリビュート「顧客番号」のデータ型やサイズも"char(5)"というデータ型・サイズに統一されます。このような使い方により、「顧客」テーブルでは"char(5)"なのに、「受注」テーブルを"varchar(5)"で設計してしまうような、よくあるミスを防止できます。
また、ドメインの情報の変更は一括してすべてのエンティティに反映されます。例えば、設計途中でデータサイズを"char(5)"から"char(8)"に仕様変更する場合、ドメイン1箇所を修正すれば済むことになります。
サブモデルとER図マージ
ER図を紙に描いていた時代、システム規模が大きくなると複数のER図をセロテープでつないで全体をあらわしていました。同じようにツールでも、システムが大きくなるとテーブル数が増えて、1つのER画面ですべてを表示するのが大変になってきます。
これを解決する機能がサブモデル機能です。図3の下側を見ると、「メインモデル」というタブの横に「受注」や「受注情報」などのタブがありますが、これらがサブモデルです。
サブモデルとは、指定したエンティティだけを選んで別タブ上に表示する機能です。エンティティの情報は完全に連動していますので、サブモデルで変更した内容は全モデルに反映されます。一方、レイアウト情報は完全に独立していますので、あるサブモデルの配置を変えても他のタブには影響はありません。
ERPのような規模の大きなER図を描く際は、このように機能単位でサブモデルをたくさん作成して設計作業を行うことになります。また、サブシステム単位で複数の設計者に分かれてER図を作成する場合も多いので、一般のツールにはER図のマージ機能なども用意されています。
前のページ
1
2
3
次のページ
著者プロフィール
株式会社システムインテグレータ 梅田 弘之
東芝、住商情報システムを経て1995年にシステムインテグレータ社を設立。 常駐・派遣主体の労働集約的な日本のソフトウェア業の中で、創造性にこだわってパッケージビジネスを行っている。 国際競争力のない日本のIT産業が、ここから巻き返しを図るための切り札は「プロジェクト管理」だと信じ、実践的なプロジェクト管理手法「PYRAMID」を自社開発している。
INDEX
第2回:ERの基礎知識とツールの活用法
前回の復習
リソース系とイベント系
表示レベル