TOP設計・移行・活用> 前回の復習




実践!モデリングツール
即活用!ツールを活用したデータモデリング

第2回:ERの基礎知識とツールの活用法
著者:システムインテグレータ  梅田 弘之   2006/3/1
1   2  3  次のページ
前回の復習

   前回の説明でデータモデリングツールを使った設計作業の効率化をテーマとしました。ER図のEとRの意味の解説にはじまり、表1のことが理解できたかと思います。
  • 概念モデルから論理モデル
  • 物理モデルへ展開する手法
  • フォワード/リバース機能によりトップダウン/ボトムアップを繰り返す設計作業
  • 論理モデルと物理モデルの表裏一体アーキテクチャ

表1:前回解説したこと

   前回からデータモデリング全体の利用法が理解できたかと思います。今回はデータモデリングの中身の話に入り、ERの基礎知識とツールの活用方法について解説します。データ中心設計(DOA)の基礎となるERについて、ぜひマスターしてください。


依存型リレーションと非依存型リレーション

   ERの醍醐味はリレーションです。リレーションの線がなければERはただの箱(エンティティ)の羅列で、無味乾燥したものになります。エンティティとエンティティの関係が一目であらわされることがER図の意義なのです。

   ERのリレーションには依存型と非依存型があります。親エンティティがなければ子エンティティが存在できないものが依存型リレーション、親がなくとも子が独立して存在できるものが非依存型リレーションです。

   図1はSQL ServerのサンプルデータベースNorthwindをリバースしたER図の一部です。

依存型と非依存型
図1:依存型と非依存型

   「受注」と「受注明細」の関係は、依存/非依存のどちらでしょうか。この2つは受注伝票のヘッダとボディの関係ですので、「受注」エンティティがなければ「受注明細」エンティティは存在し得ません。つまり、この2つのエンティティは依存関係にあります。

   では、「受注」と「顧客」はどうでしょうか。この2つは非依存関係となります。「受注」がなくても「顧客」データは存在できますし、「顧客」がなくても「受注」は存在できます。図1のように、ER図上では依存関係が実線、非依存関係が破線のリレーションであらわします。

   リレーション(関係)が依存型/非依存型かはモデリング上の定義ですが、実装面では主キー項目で判断することができます。依存型の場合、子の主キー項目に親の主キーが含まれます。「受注」と「受注明細」の例で見てみると、子(受注明細)の主キーに親(受注)の主キー「受注番号」が含まれていますので、依存関係であることがわかります。

   一方、非依存型の場合は親の主キー項目が子の主キー項目に含まれません。「受注」と「顧客」の例ですと、親の主キー「顧客番号」は子の非主キー部分に外部キー(フォーリンキー)として存在していますので、非依存関係ということになります。


カーディナリティ

   エンティティとエンティティの関係には、次の3種類のリレーションがあります。

  • 1対1
  • 1対n
  • n対n

表2:エンティティとエンティティの関係においての3種類のリレーション

   このような対応関係をカーディナリティと言います。簡単にいえば「あるテーブルの1レコードに対して、他のテーブルのレコードが複数存在するか」というようなものです。例えば図1の「受注」と「受注明細」の場合は、1つの受注(伝票)に対して明細行が複数存在するので1対nの関係になります。

   カーディナリティはリレーションの形状で表されます。図1の例でいえば、線の端っこが太丸ならn(多)、線のままなら1ということになります。このリレーションの形は重要です。例えば、「受注明細」側の終端が太丸でなく線のまま結合すると、「受注」と「受注明細」は1対1の関係となります。つまり、この場合は1回の受注では1品目しか注文を受けないというアプリケーションを示すのです。

   ER図のカーディナリティは、RDBMSへの実装においては内部結合と外部結合に関連します。1対1は内部結合、1対nなら外部結合に相当しますので、複数テーブルを組み合わせたSQLを作成する時の結合方法になります。


IDEF1X表記とIE表記

   ER図にはいくつかの表記法があります。図1の描き方はIDEF1X(アイデフワンエックス)と呼ばれる表記法で、著者はもっぱらこちらを使っています。これと人気を2分しているのが図2のようにn側を鳥の足のように表示すIE表記です。データモデリングツールは両方の表記をサポートしていますので、ワンタッチで切り替えることができます。

IE表記法
図2:IE表記法

1   2  3  次のページ


システムインテグレータ  梅田 弘之
著者プロフィール
株式会社システムインテグレータ  梅田 弘之
東芝、住商情報システムを経て1995年にシステムインテグレータ社を設立。 常駐・派遣主体の労働集約的な日本のソフトウェア業の中で、創造性にこだわってパッケージビジネスを行っている。 国際競争力のない日本のIT産業が、ここから巻き返しを図るための切り札は「プロジェクト管理」だと信じ、実践的なプロジェクト管理手法「PYRAMID」を自社開発している。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。
ご意見、ご要望にお応えします! インプレスIT INSIDE

INDEX
第2回:ERの基礎知識とツールの活用法
前回の復習
  リソース系とイベント系
  表示レベル
即活用!ツールを活用したデータモデリング
第1回 ソフトウェア産業に産業革命を起こすデータモデリング
第2回 ERの基礎知識とツールの活用法
第3回 日本語名の是非とデータ型採用方針
第4回 制約の使い方、Unicode使用可否、明細テーブルの設計
第5回 教科書的ではなく、現場にあったデータベース設計のコツ
即活用!業務システムの開発ドキュメント標準化
第1回 開発ドキュメント体系と業務フロー
第2回 機能一覧表とI/O関連図
第3回 基本設計書
第4回 詳細設計書(前半)
第5回 詳細設計書(後半)
第6回 単体テスト仕様書&報告書
第7回 結合テストと総合テスト
第8回 要求仕様書の標準化プロセス
「即活用!企業システムにおけるプロジェクト管理」
第1回 プロジェクト管理力を強化するための具体的プラン
第2回 PMBOKをベースにしたプロジェクト管理の管理
第3回 スコープ管理とスケジュール管理
第4回 コスト管理の構造と見積手法
第5回 品質管理
第6回 組織管理
第7回 コミュニケーション管理
第8回 リスク管理
第9回 調達管理(外注管理)

Think IT 過去人気記事

注目おすすめ情報

Think IT人気ライター BEST 5

IT製品/サービス資料ダウンロード
    おすすめのホワイトペーパー情報を準備中です