Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データベース10: 拡張実体関連モデル
Search
Y. Yamamoto
PRO
June 23, 2025
Science
0
960
データベース10: 拡張実体関連モデル
1. 汎化・継承
2. n項関連
講義ノートURL
https://dbnote.hontolab.org/content/er-model/03.html
Y. Yamamoto
PRO
June 23, 2025
Tweet
Share
More Decks by Y. Yamamoto
See All by Y. Yamamoto
データベース15: ビッグデータ時代のデータベース
trycycle
PRO
0
320
データベース14: B+木 & ハッシュ索引
trycycle
PRO
0
430
データマイニング - グラフ埋め込み入門
trycycle
PRO
0
60
データマイニング - ウェブとグラフ
trycycle
PRO
0
150
データベース12: 正規化(2/2) - データ従属性に基づく正規化
trycycle
PRO
0
950
データマイニング - コミュニティ発見
trycycle
PRO
0
130
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
930
データマイニング - ノードの中心性
trycycle
PRO
0
250
データマイニング - グラフ構造の諸指標
trycycle
PRO
0
160
Other Decks in Science
See All in Science
Celebrate UTIG: Staff and Student Awards 2025
utig
0
110
傾向スコアによる効果検証 / Propensity Score Analysis and Causal Effect Estimation
ikuma_w
0
110
テンソル分解による糖尿病の組織特異的遺伝子発現の統合解析を用いた関連疾患の予測
tagtag
2
210
CV_3_Keypoints
hachama
0
200
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
130
データから見る勝敗の法則 / The principle of victory discovered by science (open lecture in NSSU)
konakalab
1
120
mathematics of indirect reciprocity
yohm
1
160
生成検索エンジン最適化に関する研究の紹介
ynakano
2
1.3k
動的トリートメント・レジームを推定するDynTxRegimeパッケージ
saltcooky12
0
170
academist Prize 4期生 研究トーク延長戦!「美は世界を救う」っていうけど、どうやって?
jimpe_hitsuwari
0
160
Symfony Console Facelift
chalasr
2
460
Trend Classification of InSAR Displacement Time Series Using SAE–CNN
satai
4
530
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Why Our Code Smells
bkeepers
PRO
338
57k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
A better future with KSS
kneath
239
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Navigating Team Friction
lara
188
15k
Transcript
実体関連モデル(3/3) ⼭本 祐輔 名古屋市⽴⼤学 データサイエンス研究科
[email protected]
第10回 データベース 〜 拡張実体関連モデル
& n項関連
講義ノート https://bit.ly/3xqTSds
draw.io: 実体関連図を書くツール https://app.diagrams.net/
汎化・継承 1 Generalization/Inheritance
クイズ Q. 山の畑大学において大学構成員である「学生」 および「教員」の情報を管理する実体関連モデル を考えたい. § 実体型「学生」は属性「山の畑ID」「氏名」 「生年月日」「所属」と「入学年」をもつ § 実体型「教員」と属性「山の畑ID」「氏名」
「生年月日」「所属」と「研究者ID」「職階」をもつ としよう. 実体型「学生」「教員」を 実体関連モデルで表現せよ.
素直にモデリングすると… 学⽣ 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ ⼊学年 教員
所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ 研究者 ID 職階 ⼤半の属性は共通している… そもそも学⽣も教員も⼭の畑⼤学の構成員…
より上位の概念である「⼤学構成員」との⽐較(1/2) 学⽣ 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ ⼊学年 ⼤学構成員
所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ VS. 「学⽣」は「⼤学構成員」に属性「⼊学年」を加えた実体型
より上位の概念である「⼤学構成員」との⽐較(2/2) 教員 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ 研究者 ID
⼤学構成員 所属 ⼭の畑 ID ⽒名 ⽣年 ⽉⽇ VS. 「教員」は「大学構成員」に属性「研究者ID」「職階」を加えた実体型 職階 差分だけをうまく扱えばよいのでは!?
汎化階層(IsA階層) ある実体型の属性を継承し、差分の属性を 追加して別の実体型を定義する方法 ひきつぎ ⼤学構成員 所属 ⼭の畑 ID ⽒名 ⽣年
⽉⽇ IsA 学⽣ ⼊学年 IsA 教員 研究者 ID 職階 差分属性のみ書く 差分属性 のみ書く 継承した ことを⽰す 継承先の実体集合は継承元の実体集合に包含される
Q1: 汎化・継承 Q. Orange Musicは追加サービスとして 「プレミアムユーザ」サービスを開始した. Orange Musicの「ユーザ」は追加料⾦を⽀払 うことで「プレミアムユーザ」になることが できる.
「プレミアムユーザ」は最⼤100曲 まで「楽曲」を「ダウンロード」できる. 「ダウンロード」には「ダウンロード⽇」を 記録する. 前回の講義で作成した実体関連図に,上記 設定を反映せよ.
前回の講義で作成したER図
A. A1. 汎化・継承
N項関連 2 N-ary relationship
クイズ Q. X大学では4年生になると「学生」は研究室配属 される.「研究室配属」が行われると,「学生」には - 活動のための「学生部屋」 - 「指導教員」 が割り当てられる. この状況を実体関連モデルで表現せよ.
n項関連(1/2) 関連型は3個以上の実体型とつながることが可能 部屋 教員 学⽣ 研究室 配属 A⽒ B⽒ C⽒
D⽒ 部屋 8601号室 8501号室 8603号室 教員 桜⼭ ⼭畑 ⽥辺 学⽣
n項関連(2/2) 関連型は3個以上の実体型とつながることが可能 部屋 教員 学⽣ 研究室 配属 A⽒ B⽒ C⽒
D⽒ 部屋 8601号室 8501号室 8603号室 教員 桜⼭ ⼭畑 ⽥辺 学⽣ 3項以上のn項関係は多重度の把握が難しいので注意すること
Q2: n項関連(1/2) Q. Orange Musicでは追加サービスとして,アー ティストがコンサート等のイベントで演奏し た曲⽬(いわゆるセットリスト)を閲覧でき るサービスを開始することにした. このサー ビスでは,「アーティスト」がどの「楽曲」
をどの「イベント」で「演奏」したのかを閲 覧できる. 「イベント」は「イベント名」 「場所」「⽇時」を情報としてもつ. また, 「演奏」には「演奏番号」が記録される. な お,「アーティスト」が「演奏」した「楽 曲」は他者が制作した楽曲も含まれる. 上記設定に関する実体関連図を作成せよ. なお,本クイズに関係のない実体/関連は書か なくてよい.
A2: 回答 A.
Q3: n項関連(2/2) Q. 第9回の講義資料で⽤いたオンラインショッピ ングの例に戻ろう. このオンラインショッピングサイトでは, 「ユーザ」がどの「商品」を「購⼊」したか を記録している. 購⼊記録においては,購⼊ した「商品」の「数量」や「購⼊⽇」の情報
を記録している. 上記設定に関する実体関連図を作成せよ. なお,本クイズに関係のない実体/関連は書か なくてよい.
以前作成した実体関連図 商品 商品ID 商品名 価格 発売⽇ ユーザ ユーザ名 ⽒名 email
住所 購⼊希望 登録⽇ 製造 メーカー 企業名 email TEL ショッピングサイトにおける「ユーザが購⼊希望の商品」 「商品の製造メーカー」の情報の管理
A3: 回答? ユーザ 購⼊ 商品 P1 P2 U1 U2 U1,P1
U1,P2 U2,P1 U1,P1 関連は実体のペアで⼀意に特定されないとダメ ダメ!!
A3: 回答 A. 実体「伝票」を使って購⼊機会を別々に管理できるように
伝票 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種類以上の商品の購⼊を記録可能に
回 実施日 トピック 1 04/14 ガイダンス:データベースを使わない世界 2 04/21 データベースの概念 3
04/28 関係データモデル 4 05/12 SQL (1/3) 5 05/19 SQL (2/3) 6 05/26 SQL (3/3) 7 06/02 SQL演習 – レポート課題1 8 06/09 実体関連モデル (1/3) 9 06/16 実体関連モデル (2/3) 10 06/23 実体関連モデル (3/3) 11 06/30 正規化 (1/2) 12 07/07 正規化 (2/2) 13 07/14 データベース設計演習 – レポート課題2 14 07/21 索引付け 15 07/28 授業の振り返り or 発展的話題 16 08/04 期末試験 今後の予定 24