第2回 データのモデル化(1)

第2回 データのモデル化(1)
1.5 実体関連モデル
1.6 E-R ⇒Rスキーマ
1.7 RDBの意義
2.リレーショナルモデル
2.3 リレーション
2.4 属性名とリレーション名
2.5 リレーションスキーマとインスタンス
(pp.12-31)
1.5 実体関連モデル
•
•
•
•
•
実体とは?
関連とは?
属性とは?
主キーとは?
実体間の対応関係
– 1対1、1対多、多対多
• 実体関連図
• 実体関連モデルの拡張
– 弱実体+ID関連、ISA関連
1.6 E-R ⇒ Rスキーマ
• 実体から作成されるリレーションスキーマ
– 実体 ⇒ リレーション(表)名
– 属性 ⇒ 属性(列)名
– 実体の主キー ⇒ リレーションの主キー
• 関連から作成されるリレーションスキーマ
– 関連 ⇒ リレーション(表)名
– 関連付けている実体の主キー ⇒ 属性(列)名
– リレーションの主キーは
• 対応関係が1対1の場合は、いずれかの実体の主キー
• 多対1、1対多、多対多の場合は、「多」側の実体の主
キー
1.6 E-R ⇒ Rスキーマ (例)
• 例:図1.4からできるリレーション(表)
• 実体からできる表
– 教員(教員名,職種,給与), 科目(科目名,単位数), 学生(学
籍#,学生名,住所)
• 関連からできる表
– 担当(教員名,科目名), 履修(学籍#,科目名,得点)
1.6 E-R ⇒ Rスキーマ(表の省略)
• 多でない(つまり1)側の実体の主キー属性を、他方
(多または1)側の実体から作られるリレーション(表)
に追加することで、関連からできる表を省略できる。
• 例: 担当は教員と科目間の1対多の関連なので、教
員の主キーの教員名を科目に加えることにより担当
を省略できる。
– 教員(教員名,職種,給与), 担当(教員名,科目名), 科目(科目名,単位数)
– ↓
– 教員(教員名,職種,給与), 科目(科目名,単位数,教員名)
2.3 リレーション
• ドメイン(domain:定義域)とは?
• ドメインの直積とは?
• リレーションとは?
– ドメインの直積の(有限)部分集合
•
•
•
•
タプル、濃度、次数、
リレーション(relation)⇔ 表(table)
タプル(tuple)
⇔ 行(row)
属性(attribute)
⇔ 列(column)
2.4 属性名とリレーション名
• 属性に名前をつけると、列の順が自由になり
好都合。
• リレーションにも名前をつける。
2.5 リレーションスキーマとインスタンス
• リレーションスキーマ
– リレーションの形
– リレーション名(属性1、属性2 、属性3、、)
• インスタンスとは?
第2回 理解チェック
(1) 実体とは?関連とは?何か。
(2) 対応関係の「1対多」の例をあげよ。
(3) E-RモデルからRスキーマの求め方をまと
めよ。
(4) リレーションの定義を書け。
(5) タプルとは何か?
(6) リレーションスキーマの例を書け。