データモデリング モデルの基本作法
エンティティの種類 独立エンティティ 依存(従属)エンティティ それ自身で存在しうるエンティティ 角がある矩形で表現 その存在が他のエンティティに依存するエンティティ 依存エンティティに依存するエンティティもある 依存エンティティは,それが依存するエンティティが削除されると存在し得ない 角がない矩形で表現
独立エンティティと 依存(従属)エンティティ(図2-5) 親エンティティが1つの 依存エンティティ
Quiz: 依存エンティティは2回生の「データベース」の教科書では? 依存実体 従属実体 弱実体 正解は 弱実体
エンティティの分類 特化 汎化 受講科目を例にすると 排他的分類 非排他的分類 確定分類 未確定分類 受講科目には必須科目と選択科目 特化 汎化 受講科目を例にすると 排他的分類 受講科目には必須科目と選択科目 非排他的分類 レポート評価科目と試験評価科目、両方使うもの,一方だけ使うものがある 確定分類 親エンティティを分類する子エンティティがすべて既知であるもの 未確定分類 親エンティティを分類する子エンティティに未知のものがあるもの
[補助] 特化と汎化 動物 ネコ科 猫,トラ, ライオン 大学 私立大学 立命館,立教 大学 大学 汎化 特化
属性 主キー 複合キー(連結キー) 代替キー(alternate key) エンティティ内のインスタンスを一意に同定するための属性 複数の属性でできた主キー 代替キー(alternate key) 主キーとして宣言されていないが,インスタンスを一意に同定できる属性
属性(つづき) 逆方向エントリ(inversion entry) 外部キー 一意には同定できないが絞り込める属性 従属エンティティが依存するエンティティの主キーを示す,従属エンティティ内の属性
図2-6
[復習] データモデルの構成要素 エンティティ(entity) :実体 属性(attribute) モデリングの対象 最終的にRDBのテーブルとして実装 インスタンス(テーブルでは行、関係DBではtuple)の集まり 属性(attribute) エンティティの構成要素 データ項目(テーブルでは行内の各セル) リレーションシップ(relationship) エンティティ間の関連を示す
RDB内のテーブルとの対比 実際の値を 埋めたテーブル
SQL文との対比 社員番号という主キーを作る. 組織テーブルの所属コードを 社員テーブルの所属コードと いう名前の外部キーにする
リレーションシップ(関連) 依存関係 非依存関係 キーの移行 モデリングのさいには,実線で表現 破線で表現 あるエンティティの存在が別のエンティティに依存することを示す 非依存関係 破線で表現 キーの移行 あるエンティティが別のエンティティを参照するとき,参照先(親)エンティティの主キーが参照元(子)エンティティへ移行され,参照元(子)エンティティの外部キーとなる. 一般には,この外部キーは 関係が依存関係なら,参照元エンティティの主キー(の一部)となる. 関係が非依存関係なら,参照元エンティティの 非キー属性 となる.
図2-8
[補助] 依存関係と外部キー 学部 情報理工学部 学部名 人数 440人 場所 CC 学部「情報理工学部」の主キーが [補助] 依存関係と外部キー 学部 情報理工学部 学部名 人数 440人 場所 CC 学部「情報理工学部」の主キーが 学科「情報システム学科」に移行されている. 「情報システム学科」は「情報理工学部」に依存する 学部名 情報理工学部 学科名 情報システム学科 人数 110人 場所 CC 6F 大学院 理工学研究科
[補助] 非依存関係と外部キー 学部 大学院 情報理工学部 学部名 理工学研究科 学部名 人数 440人 場所 CC 人数 440人 人数 440人 場所 CC 人数 440人 場所 CC 「理工学研究科」は 主キーでない属性 (非キー属性)に 移行されている 学部名 情報理工学部 学科名 情報システム学科 人数 110人 場所 CC 6F 大学院 理工学研究科 学部名 理工学部 学科名 電子情報学科 人数 80人 場所 ローム 大学院 理工学研究科
カーディナリティ 関係における参照元(子)と参照先(親)が,何対何の関係にあるかを示したもの 参照先(親)のインスタンスは,参照元(子)のいくつのインスタンスに結びついているかを示す. 参照先はひとつでないと参照する意味がない 関係を表す線の参照元側に ● をつける 非依存関係では参照先がないこともある オプション記号( ◇ )を参照先につける カーディナリティを表す記号を参照元側につける
[補助] 「参照先がひとつでないと意味がない」のは,なぜ? データベースでは,写像を基に作られている. 「集合Xの要素がひとつにきまると 集合Yの要素がひとつに決まる」と いうのが写像 集合 X 集合 Y x1 y1 x2 y2 x3 y3 : : xn yk : : 参照先がひとつでないと写像でない.
カーディナリティを表す記号 図2-9
カーディナリティを表す記号