ソフトウェア産業に産業革命を起こすデータモデリング

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

ツールを使った表裏一体モデリング


   データモデラーの方々は3種類のモデルについてのアプローチをよく解説しますし、筆者もExcelやVisioなどを使ってよくER図を作りました。しかしその経験上、上記のアプローチは労力に見合うほどの効率が得られないと考えています。

   この方式の最大の欠点は、モデル間の可逆性(リバース)がないことです。確かに、最初にもやもやとした事象を整理して「概念モデル → 論理モデル → 物理モデル」とブレークダウンするには役立つでしょう。

   しかし、データベースの設計においては設計途中で頻繁に変更が入りますし、運用・保守で変わることもあります。そのため、データモデリング作業は順方向(トップダウンアプローチ)と逆方向(ボトムアップアプローチ)を繰り返しながら進むとされています。

   変更の度に「概念モデル ← 論理モデル ← 物理モデル」と逆方向に手動修正するというのは、口でいうほどたやすいことではありません。修正ミスや漏れがでてくる可能性があります。その結果、「ER図は残っているけれど、実際のテーブルと一致するかどうかは定かでない」という事態を招いてしまうのです。

   そういった問題を解決するために登場したのがデータモデリングツールです。「ERwin」や「ER/Studio」などの海外製品や「Object Browser ER」など国産製品が相次いでリリースされ、その可逆性を解決しました。

   これらのツールを使えば、「論理モデル ← 物理モデル ← RDBMS」というリバース連携が実現できます。また、それと同時に「論理モデル → 物理モデル → RDBMS」というフォワード連携も可能なので、フォワードとリバースを組み合わせたスパイラルなデータモデリングが可能になるのです。

データモデリングツールを使った表裏一体アプローチ
図3:データモデリングツールを使った表裏一体アプローチ

   図3はこのようなツールを使った表裏一体型のデータモデリングです。ツールを使うことにより、いつでも実際のRDBMSの定義をER図にリバース生成できます。また、リバース生成したものを修正してRDBMSにフォワード反映できますので、RDBMSとER図の情報がいつでも完全一致することになります。


ツールの論理モデルとモデリング理論の論理モデルの違い


   「物理 → 論理」の可逆性を確保する場合、ツール上の論理モデルはモデリング理論における論理モデルとは少し異なります。ツールでは物理モデルからの可逆性を確保するために、より物理モデルに近いモデル構造になっています。

   例えば、論理モデルでは図4のようにn対nのエンティティ関係を直接記述します(線の端の太丸がnをあらわす)。

n対nのエンティティ関係
図4:n対nのエンティティ関係

   しかし、このままではRDBMSへ実装できないので、図5のように中間に結合用テーブルを用意して2つの1対nから構成されることになります。

結合用エンティティを間にはさんでn対nの関係を実現
図5:結合用エンティティを間にはさんでn対nの関係を実現

   ツール上の論理モデルは、表2のようにエンティティ名やアトリビュート名、リレーションなどの論理情報を物理情報とは別に持てるのですが、このような構造情報に関しては可逆性確保のため物理モデルと同じになるのです。

RDBMS 物理モデル 論理モデル
テーブル名 テーブル名 エンティティ名
参照整合性制約 参照整合性制約 リレーション
列名 列名 アトリビュート

表2:物理情報と別に論理情報を持てるデータモデリングツール

   みなさんのまわりで、ER図で概念モデルを作成している人はいますか。設計手法は人それぞれの得意があるので否定はしませんが、筆者は概要設計段階の作業はUMLや業務フロー図など、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のキホン」「エンジニアなら知っておきたい システム設計とドキュメント」を刊行。

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

連載バックナンバー

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

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

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

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