概要
データモデリングは根源にデータ中心指向が存在します。データをモデリングする意味を理解しないと失敗します。
データベース設計の手法としてしか認識されていない場合もあるようですが、必ずしもそうではありません。
モデリングをしていくうちに、特定のデータは永続化させる必要がある場合、データベースの必要が出るだけです。
データモデリングが正常にできない人に、オブジェクト指向設計は不可能だと思います。
ちなみに SpringFramework の開発中心にいるRod Johnsonはその著書の「Expert One-On-One J2EE Design and Development」の中でデータ(ベース)中心のモデリングを推奨している事も付記しておきます。
モデリング方法論
- リソース系には状態遷移:見込み客~商談中~契約など。リソース系はひとつのテーブルに対して状態が色々とぶら下がる
- イベント系はワークフロー:見積~契約~出荷~売上~回収など。イベント系は複数のテーブルをまたがって状態が移動する
DATARUN
DATARUNはデータモデリング方法論の一つです。
提唱者はD.Pascot
DATARUNは基本的に記法も含む方法論なのですが、その記法が特殊でサポートするツールがまれです。それが最大の欠点です。しかし、方法論としての本質は記法とは独立です。記法のみをいれかえる事も可能です(ただし工夫は必要です)。
C/S(クライアントサーバー)データベース設計入門―情報システムの新しい分析・設計法:DATARUNの考え方がわかります。(絶版ではありませんでした。)
失敗のないシステム開発入門―良いシステムは良い設計から:これは実質DATARUNの解説書です。 この方法論にはやや曖昧な部分もありますがデータ中心アプローチとオブジェクト指向の融合点をさぐろうとする時の参考になるでしょう。
http://www.pfu.fujitsu.com/silver/index.htm
http://www.ipsj.or.jp/members/SIGNotes/Jpn/09/1998/121/article011.html
http://leo.nit.ac.jp/~ohki/ohki/paper/ieice2001_1.htm
T字形ER
T字形ERです。型ではありません。ティージケイイーアル
ぼくがあまり良く理解できてないのかも、、DATARUNの場合はD.Pascotの書籍とか読むと内容をかなり詳細に理解可能なのですが、T字形ERって最後はコンサルやセミナー受けてね的部分がある感じ。セミナー受けてないので理解できてないのでしょうか?
再読。結構誤解している部分があったようだ。
コード体系中心主義的な部分があります。ただ実際の業務だとコード体系こそが癌って場合が結構あるので、コード体系絶対主義は良くないと思います。
書籍の記述に論理学の記述があるのは当然なのだが、まっとうでかなり良いと思います。
論理データベース論考―データ設計の方法:数学の基礎とT字形ER手法
http://www.sdi-rad.com/ter/terter.html
方法論の比較
完全な方法論ってのはないですが、ある程度属人性は排除可能です。
データモデリングツール
http://www.sint.co.jp/siob/er/default.asp
http://www.pfu.fujitsu.com/silver/
http://wiki.fdiary.net/kog/?ModelingTool
Database design tool - Toad™ Data Modeler Freeware:フリー版
SQL Designer
DBDesigner
http://fabforce.net/dbdesigner4/
トップページ - DB Designer 4 日本語化サイト
eclipse
書籍
実践的データモデリング入門 DB magazine selection
グラス片手にデータベース設計〜販売管理システム編 DB Magazine SELECTION
Data Model Patterns: Conventions of Thought:Data Modelにもパターンはあります。内容はとっても明快です。
アイデフワンエックス―リレーショナル・データモデルの新しい表現法:IDEF1Xの解説書。意外とすくない。IDEF1Xをちゃんと知らない人がいてこまる。
ERモデルによるデータベース設計技法―モデルベース開発のための必修技術
組込みソフトウェア開発のための構造化モデリング 要求定義/分析/設計からソースコード作成までソフトウェア開発上流工程の基本を構造化手法に学ぶ組込みエンジニア教科書: 本
参考サイト
http://www.sra.co.jp/public/doc/GSletter/vol.27/case/case.html
http://www.sdi-rad.com/index2.html
http://www.ogis-swe.jp/process/am-res/am/artifacts/index.html
http://www.juas.or.jp/project/workshop/ws95/open/chap1.html
http://d.hatena.ne.jp/muimy/20040416#1082103338
Directory of Data Modeling Resources
A UML Profile for Data Modeling
CodeZine:楽々ERDレッスン 第1回:「お持ち帰りご注文用紙」編