データモデリング エンティティの切り出し トップダウンによる エンティティの切り出し • リソース系エンティティ – 企業活動に実際に存在するもの – DB構築時に最初からあるかのように扱われる – 一般に,「○○マスタ」と呼ばれるテーブルになる • イベント系エンティティ – 企業活動内の行為(注文,販売,出荷,etc) – 注文などから始まり,売り上げまでの一連の活動 を考え,その構成要素として同定する • サマリー系エンティティ – 他のエンティティのインスタンスをまとめたもの Quiz: リソース系エンティティと イベント系エンティティ • 物議をかもしたCSに関して、次のエンティティ はリソース系?イベント系? – 開催球場エンティティ リソース系 • 都市名,収容可能観客数 – 選手エンティティ リソース系 • ポジション,背番号 – 選手交代エンティティ イベント系 • 退出選手,新規参加選手 – 対戦エンティティ • 先攻チーム,後攻チーム イベント系 ステップ1:全体ビジネスフローから リソース・エンティティを切り出す • (図4-1のような)ビジネス・フロー上のボック ス(絵)の部分が候補 • ビジネス・フローから抜けているものもあるの で注意 • 名前付け が実は肝心 – 他と重複がないこと – 長すぎないこと – 「○○管理」など 意味のない名前 はつけない • エンティティ定義を必ずしておく [補助] なぜ,意味がない? • データベースは情報を管理するためにある. – 「売り上げ管理」とするのは,「売り上げ」と書いて あるのと同じ – 他には • ○○処理 • ソフトウェアの世界でデータを処理するのは当たり前! • どう処理するかを書くべき ビジネス・フローに出ていない リソース・エンティティ 配送センタが配 送計画を立てる のに必要 顧客本人の 住所 もしくはギフト のときは贈答 先の住所 Webサイトで 購入予定商 品を一時的 に入れておく ところ リソース系エンティティの定義 エンティティを抽出した理由が不明となりがちなため ステップ2: リソース系エンティティの 関連付け • 特定のエンティティから関連するエンティティ を調べていく • 各関連について – カーディナリティ を設定 – 独立か依存か を決定 – 関連(リレーションシップ)に 動詞 を付加する 1: n n:n [補助] どうして n 対 n? • 書籍卸と出版社 – ひとつの書籍卸は,複数の出版社から本を仕入 れる – ひとつの出版社は,複数の書籍卸に本を納入す る. • 考え方のヒント – どちらか一方をひとつに固定して,相手が複数あ るか考える. – 反対側も,ひとつに固定して,相手が複数あるか 考える. ステップ3: イベント系エンティティの 抽出 • (図4-1のような)ビジネス・フローの中の 業務の流れ を説明した文からイベント系エ ンティティの候補を抽出 • 発生順を矢印で表記 • やはり, 名前付け が肝心 • やはり,イベント系エンティティの定義を必ず おこなう 図4-8 図4-9 ステップ4: イベント間の関連付け • 依存関係とカーディナリティを設定 – 1つの注文に複数の商品があれば,出荷が複数。 注文と出荷は1:多 – 出荷と売り上げは1:1 – 売り上げと支払い請求は1:1 – 発注に対して配送センタに分割して納入 発注と入荷は1:多 図4-10 ステップ5:イベントとリソースの関連 • リソース系エンティティ間の関連の中に,イベントを おいてみる • イベントがどのリソースを参照するかを調べる – 注文から • 顧客(1対1) • 届け先(1対1) • ショッピング・カート(1対多) 注文と商品(多対多) • 1つの注文の中で複数の商品を指定でき,1つの商品はさまざま な人から注文される(複数の注文から参照される). • 「注文商品」(1つの注文の中で指定された商品)というエンティ ティをつくり,多対多の関係を1対多(1対1)の関連2つに分ける – 「出荷」「発注」などの他のイベントについても同様に実施 [補助] どうして, イベントからリソースへ調べるの? • なぜ,イベントからリソースへの参照を調べる のか? – イベントは人間の動作により起こされる. – リソースは世の中にある物体や人 – 動作の中で物体や人が参照される – よってイベントからリソースを参照するが,リソー スからイベントを参照することには無理がある. • リソースからイベントへは調べなくていいの? – 無理があるものは,しないほうがよい ステップ5:サマリー系エンティティの 追加 • 他のエンティティのインスタンスについて統計 処理を施して束ねたエンティティ • CRMなどで傾向を探るのに有効 • Data Warehouse (データの問屋さんシステ ム)の研究には欠かせないエンティティ 図4-13
© Copyright 2024 ExpyDoc