ワタシシゴトチョットデキル

ひとまず読んだ本の紹介を続けていく

真野正『実践的データモデリング入門』の紹介

ずっと気になっていた『実践的データモデリング入門』を紹介する。

実践的データモデリング入門 (DB magazine selection)

実践的データモデリング入門 (DB magazine selection)

 

指標

  • テーマ:テーブル設計/データベース
  • 文章量:少なめ
  • 内 容:易しい
  • 行 間:普通
  • 推薦度:★★★★☆

内容

かなり飛ばし読みだったが簡単に内容を振り返る。

第1部 基礎編

まず、モデリングの動機や簡単な概論などイントロダクションから始まる。

第1章 なぜモデリングを行うのか

もちろんシステムの構築にあたり必要だからという結論に落ちるのだけど、データモデルを、

  • 概念データモデル
  • 論理データモデル
  • 物理データモデル

の3つに分けて説明している。

それぞれ分けたということは、個々に別の目的があるのだ。

今回、この本を読みたかったのは、概念データモデルについて知りたかったからだ。

第2章 モデルの基本作法

これからデータモデリングの話をしていくにあたって、基礎的な知識を説明している。

具体的には、

  • エンティティ
  • 属性
  • リレーション

の説明や、ERDの記法なんかについても触れている。

最初の方は常識ばかりだったが、後半はビジネスとの絡みが出てきておもしろかった。

例えば、リレーションシップはビジネスモデルを表すものとして説明されている。

言われてみれば当然な話で、依存関係やカーディナリティはビジネスに即した形で実装されるべきなのだ。

第3章 データモデルを補完するモデル

データ周りの設計にあたりERDと持ちつ持たれつになるいくつかの図/手法を説明している。UMLだったり、DFDだったり。

第2部 実践編

ここからは実際にどうやっていくかだ。大きく分けて2つの方針がある。

第4章 エンティティの切り出し方

データモデリングの手始めに、何をエンティティにするのかという話だ。

本章ではトップダウンモデルとしてビジネスフローから、

  • リソース系エンティティ
  • イベント系エンティティ

の順で切り出すべしとしている。

第5章 トップダウンでの主キーと主要属性の定義

そして、切り出したエンティティにどうリレーションを張るか、すなわちPKをどうするかという話に続く。

第6章 ネーミング標準とドメイン

さらに属性を精査していくうえで、命名規則ドメインの有効性について説明している。

第7章 ボトムアップ分析(その1)

続いてボトムアップモデルの話に移る。

その方法とは、画面設計から(そして、ほとんどの場合は現行システムの画面から)項目を拾い集め、テーブル設計に落とし込む方法だ。

第8章 ボトムアップ分析(その2)

上記を行うと、ある程度の情報は簡単に集まる。しかし漏れがないかを確かめたり、改めて依存関係を見直したりしなくてはならない。

そのために行うのがDFDの作成だったりCRUD分析だ。

第9章 トップダウンモデルとボトムアップモデルの融合

両モデルは、どちらかを選択しなければならないわけではない。むしろ、補完しあうものとして位置付けられている。

したがって両モデルは統合され、それが完成品となるのだ。

第10章 RDB理論とビジネスルール

冒頭でリレーションをビジネスモデルとして捉える話があったが、今度はRDBの制約をビジネスモデルとして捉えた話だ。

 

(以下、省略)

第11章 モデルパターンの活用
第12章 ツールの活用法
第13章 モデルレビューの視点
第14章 論理モデルから物理モデルへの変換
第15章 物理実装のポイント
第16章 ビジネス環境の変化に伴うモデルへの影響
第17章 モデルの変更管理

まとめ

仕事でモヤモヤしたのがきっかけ。ずっとビジネスを落とし込むという意味でのテーブル設計を知りたいと思っていた。

ただ、本を探してみても、ほとんどがERDの書き方か、RDBとしてのあり方(正規化など)についてだ。そんな中、ようやくこの本にたどり着いた。

読んでみると意外とあっさりとした内容だった。というのもデータモデリング側の知識は、どれも基礎的なものばかりだったからだ。

結局、それをビジネスモデルとして捉えることができるか。逆に言えば、ビジネスモデルをデータモデリングの言葉に焼き直せるか。

その視点をトレースできたのが最大の収穫だった

ただし、やってみないと身に付かないタイプの話だ。機会を見つけてデータモデリングの経験を重ねてから、もう1度読んでみたい。