実践的データモデリング入門/真野正
実践的データモデリング入門 (DB magazine selection)第1章 なぜモデリングを行うのか □ ひとつの事実を表すもの(エンティティと属性の両方)は1箇所で管理せよ。 □ トップダウンアプローチ、ボトムアップアプローチは、どちらかが一方を採用すると言うのではなく、最初にトップダウンでエンティティを切り出して、そこにボトムアップ分析で抽出した結果を付加していくのが最適です。 □ プロジェクト全体の鳥瞰図である概念モデルを作ってから、個別システムの論理モデルにとりかからないと不整合や重複が発生する。第2章 モデルの基本作法 □ データモデリングは、メタデータを対象とします。 □ エンティティを名詞、属性を形容詞、リレーションシップを動詞とすると業務の実態を文章で表現できる。第3章 データモデルを補完するモデル □ プロセスモデルとしては、IDEF0(Icam DEFinition)モデルやDFD(Data Flow Diagram)など用います。 □ プロセスモデルの利用 1)プロセスモデル(IDEFE0)を描く 2)IDEFE0モデルからエンティティを抽出する 3)IDEF1Xデータモデルでエンティティ間の関連付けを行う 4)エンティティ/属性(アトリビュート)の追加を行いデータモデルに反映させる 5)データの発生/更新のタイミングをDFDで捉える第4章 エンティティの切り出し方 □ エンティティはリソースとイベントを分けて考える。 □ 最初にリソースデータを抽出し、それらの関連付けを行った後、イベント系データ抽出を行う □ 全体ビジネスフローからリソース系エンティティを切り出す 1)他と重複しないこと 2)あまり長くならないこと 3)xxマスターとかxx管理といった意味のない修飾は付加しないこと 第5章 トップダウンで主キーと主要属性の定義 □ 主キーの選定基準は以下のようになります 1)値の変わらないもの 2)できるだけ桁数の短いもの 3)複合キーでの連結が多くならない(5つを超えない) 4)必ず存在するものであること(NULLを許さない) □ モデルは視覚的に捉えられるところに意義がある □ 主キー候補、主な属性を埋めながらモデルの矛盾や不足を発見し、エンティティ、リレーションシップの追加、変更を行う。 第6章 ネーミング標準とドメイン □ 基本コード、住所、名称、日付といった業務にあまり依存しないものを「共通ドメイン」とし、販売、物流、購買、会計といった業務固有で発生するものを「業務固有ドメイン」とするのが望ましいと思います第7章 ボトムアップ分析(1) □ 主キーの選定基準に従って定義していきます。 □ 複合キーの一部に従属する属性は別のエンティティとせよ □ 主キー以外の項目に依存する項目は、別なエンティティとせよ。 □ 正規化作業とは、同じキーにのみ依存するデータ項目を一つの1つのエンティティにまとめる作業といえます。第8章 ボトムアップ分析(2) □ DFDからはデータモデルだけではわからない業務ルールが読み取れる。第13章 モデルレビューの観点 □ 誰にでも容易に説明できるモデルになっているか □ 業務の流れを含んだモデル構成が理解できれば完成度は高いと言えます □ 論理モデルのレビュー 1)データモデルがユーザ要件(業務要件)を正しく反映しているか 2)定められた記法(IDEF1Xなど)に従い、データモデルとして論理矛盾がないか 3)プロジェクトで規定した標準が遵守されているか □ レビューチェックシートの分類 1)準拠性 2)要件充足性 3)正規化 4)論理変換 5)物理属性定義 6)変更管理第15章 物理実装のポイント □ 容量見積手順 1)各テーブルのレコード長を算出する 2)レコード長をもとに最適なブロックサイズを決める 3)レコードあるいはブロック単位で付加情報の長さを考慮して、1ブロックあたりの格納レコード数を算出する 4)最大格納数を算出する 5)必要サイズを算出する(初期分、増分) 6)追加/更新の頻度を考慮してブロック当たりのフリースペースサイズ(割合)を決める