特化 汎化

Download Report

Transcript 特化 汎化

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