ERの基礎知識とツールの活用法

2006年3月1日(水)
梅田 弘之(うめだ ひろゆき)

リソース系とイベント系


   データモデリングの基礎知識をマスターしたところで、今度はデータモデリングツールの上手な使い方について説明します。まずは色分けによる視野性の向上について紹介しましょう。

   もともとER図はテーブル設計情報を"ビジュアル"的に表現することが目的です。ですので、"色"という便利な情報も使わない手はありません。色の使い方は人それぞれですが、筆者の場合はエンティティがリソース系かイベント系かで色分けしています。つまりマスタテーブルとトランザクションテーブルで色を変えています(図1)。
依存型と非依存型
図1:依存型と非依存型(再掲)

   アプリケーションの設計において、マスタ系かトランザクション系かを把握するのは重要です。そのため、よく「受注トラン」「顧客マスタ」などとエンティティ名自体で区別している例があります。しかし、ERツールを使って色で区別するようにすれば、このように名称に"トラン"や"マスタ"などの文字をつけなくても済みます。


ドメイン


   データモデリングツールにはドメインという便利な機能が用意されていますので、積極的に使ってみましょう。ドメインとは「個々のアトリビュートの属性を共通化するディクショナリ」のことです。といわれてもピンとこないと思いますので、画面を参照しながら具体的に説明しましょう。

   図3はデータモデリングツール上のドメインとER図の表示画面です。画面左側にドメインの一覧が並び、右側に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図のマージ機能なども用意されています。

著者
梅田 弘之(うめだ ひろゆき)
株式会社システムインテグレータ

東芝、SCSKを経て1995年に株式会社システムインテグレータを設立し、現在、代表取締役会長。2006年東証マザーズ、2014年東証第一部、2019年東証スタンダード上場。

前職で日本最初のERP「ProActive」を作った後に独立し、日本初のECパッケージ「SI Web Shopping」や開発支援ツール「SI Object Browser」を開発。日本初のWebベースのERP「GRANDIT」をコンソーシアム方式で開発し、統合型プロジェクト管理システム「SI Object Browser PM」など、独創的なアイデアの製品を次々とリリース。

主な著書に「Oracle8入門」シリーズや「SQL Server7.0徹底入門」、「実践SQL」などのRDBMS系、「グラス片手にデータベース設計入門」シリーズや「パッケージから学ぶ4大分野の業務知識」などの業務知識系、「実践!プロジェクト管理入門」シリーズ、「統合型プロジェクト管理のススメ」などのプロジェクト管理系、最近ではThink ITの連載をまとめた「これからのSIerの話をしよう」「エンジニアなら知っておきたいAIのキホン」「エンジニアなら知っておきたい システム設計とドキュメント」「徹底攻略 JSTQB」を刊行。

「日本のITの近代化」と「日本のITを世界に」の2つのテーマをライフワークに掲げている。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています