Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
実体関連モデル(3/3) ⼭本 祐輔 名古屋市⽴⼤学 データサイエンス学部
[email protected]
第10回 データベース 2024年6月24日 〜 拡張実体関連モデル & n項関連
Slide 2
Slide 2 text
講義ノート https://bit.ly/3xqTSds
Slide 3
Slide 3 text
draw.io: 実体関連図を書くツール https://app.diagrams.net/
Slide 4
Slide 4 text
汎化・継承 1 Generalization/Inheritance
Slide 5
Slide 5 text
クイズ Q. 山の畑大学において大学構成員である「学生」 および「教員」の情報を管理する実体関連モデル を考えたい. § 実体型「学生」は属性「山の畑ID」「氏名」 「生年月日」「所属」と「入学年」をもつ § 実体型「教員」と属性「山の畑ID」「氏名」 「生年月日」「所属」と「研究者ID」「職階」をもつ としよう. 実体型「学生」「教員」を 実体関連モデルで表現せよ.
Slide 6
Slide 6 text
素直にモデリングすると 学⽣ 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ ⼊学年 教員 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ 研究者 ID 職階 ⼤半の属性は共通している… そもそも学⽣も教員も⼭の畑⼤学の構成員…
Slide 7
Slide 7 text
より上位の概念である「⼤学構成員」との⽐較(1/2) 学⽣ 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ ⼊学年 ⼤学構成員 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ VS. 「学⽣」は「⼤学構成員」に属性「⼊学年」を加えた実体型
Slide 8
Slide 8 text
より上位の概念である「⼤学構成員」との⽐較(2/2) 教員 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ 研究者 ID ⼤学構成員 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ VS. 「教員」は「大学構成員」に属性「研究者ID」「職階」を加えた実体型 職階 差分だけをうまく扱えばよいのでは!?
Slide 9
Slide 9 text
汎化階層(IsA階層) ある実体型の属性を継承し、差分の属性を 追加して別の実体型を定義する方法 ひきつぎ ⼤学構成員 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ IsA 学⽣ ⼊学年 IsA 教員 研究者 ID 職階 差分属性のみ書く 差分属性 のみ書く 継承した ことを⽰す 継承先の実体集合は継承元の実体集合に包含される
Slide 10
Slide 10 text
Q1: 汎化・継承 Q. Orange Musicは追加サービスとして 「プレミアムユーザ」サービスを開始した. Orange Musicの「ユーザ」は追加料⾦を⽀払 うことで「プレミアムユーザ」になることが できる. 「プレミアムユーザ」は最⼤100曲 まで「楽曲」を「ダウンロード」できる. 「ダウンロード」には「ダウンロード⽇」を 記録する. 前回の講義で作成した実体関連図に,上記 設定を反映せよ.
Slide 11
Slide 11 text
前回の講義で作成したER図
Slide 12
Slide 12 text
A. A1. 汎化・継承
Slide 13
Slide 13 text
N項関連 2 N-ary relationship
Slide 14
Slide 14 text
クイズ Q. X大学では4年生になると「学生」は研究室配属 される.「研究室配属」が行われると,「学生」には - 活動のための「学生部屋」 - 「指導教員」 が割り当てられる. この状況を実体関連モデルで表現せよ.
Slide 15
Slide 15 text
n項関連(1/2) 関連型は3個以上の実体型とつながることが可能 部屋 教員 学⽣ 研究室 配属 A⽒ B⽒ C⽒ D⽒ 部屋 8601号室 8501号室 8603号室 教員 桜⼭ ⼭畑 ⽥辺 学⽣
Slide 16
Slide 16 text
n項関連(2/2) 関連型は3個以上の実体型とつながることが可能 部屋 教員 学⽣ 研究室 配属 A⽒ B⽒ C⽒ D⽒ 部屋 8601号室 8501号室 8603号室 教員 桜⼭ ⼭畑 ⽥辺 学⽣ 3項以上のn項関係は多重度の把握が難しいので注意すること
Slide 17
Slide 17 text
Q2: n項関連(1/2) Q. Orange Musicでは追加サービスとして,アー ティストがコンサート等のイベントで演奏し た曲⽬(いわゆるセットリスト)を閲覧でき るサービスを開始することにした. このサー ビスでは,「アーティスト」がどの「楽曲」 をどの「イベント」で「演奏」したのかを閲 覧できる. 「イベント」は「イベント名」 「場所」「⽇時」を情報としてもつ. また, 「演奏」には「演奏番号」が記録される. な お,「アーティスト」が「演奏」した「楽 曲」は他者が制作した楽曲も含まれる. 上記設定に関する実体関連図を作成せよ. なお,本クイズに関係のない実体/関連は書か なくてよい.
Slide 18
Slide 18 text
A2: 回答 A.
Slide 19
Slide 19 text
Q3: n項関連(2/2) Q. 第9回の講義資料で⽤いたオンラインショッピ ングの例に戻ろう. このオンラインショッピングサイトでは, 「ユーザ」がどの「商品」を「購⼊」したか を記録している. 購⼊記録においては,購⼊ した「商品」の「数量」や「購⼊⽇」の情報 を記録している. 上記設定に関する実体関連図を作成せよ. なお,本クイズに関係のない実体/関連は書か なくてよい.
Slide 20
Slide 20 text
以前作成した実体関連図 商品 商品ID 商品名 価格 発売⽇ ユーザ ユーザ名 ⽒名 email 住所 購⼊希望 登録⽇ 製造 メーカー 企業名 email TEL ショッピングサイトにおける「ユーザが購⼊希望の商品」 「商品の製造メーカー」の情報の管理
Slide 21
Slide 21 text
A3: 回答? ユーザ 購⼊ 商品 P1 P2 U1 U2 U1,P1 U1,P2 U2,P1 U1,P1 関連は実体のペアで⼀意に特定されないとダメ ダメ!!
Slide 22
Slide 22 text
A3: 回答 A. 実体「伝票」を使って購⼊機会を別々に管理できるように
Slide 23
Slide 23 text
伝票 S1 S2 S3 S4 A3: 回答の解釈 ユーザ 購⼊ 商品 P1 P2 U1 U2 U1,S1 U1,S2 U2,S3 明細 S1,P1 S2,P2 S3,P2 S4,P1 U1,S4 S4,P2 以前購⼊した商品を再度購⼊可能に 1つの伝票で2種類以上の商品の購⼊を記録可能に
Slide 24
Slide 24 text
回 実施日 トピック 1 04/15 ガイダンス:データベースを使わない世界 2 04/22 データベースの概念 3 04/29(祝) 関係データモデル 4 05/13 SQL (1/3) 5 05/20 SQL (2/3) 6 05/27 SQL (3/3) 7 06/03 SQL演習 – レポート課題1 8 06/10 実体関連モデル (1/3) 9 06/17 実体関連モデル (2/3) 10 06/24 実体関連モデル (3/3) 11 07/01 正規化 (1/2) 12 07/08 正規化 (2/2) 13 07/15(祝) データベース設計演習 – レポート課題2 14 07/22 索引付け 15 07/29 NoSQL 16 08/05 期末試験 今後の予定 24