データベース
第8回
関係データモデルと関係代数
1
2015年5⽉28⽇(⽊) 7・8時限
担当:奥 健太
これまでに学習した内容
2
 SQLによるデータベース操作⽅法を学んだ
 データの検索
 データの登録,更新,削除
 データベース,テーブルの作成
mysqld
クライアント
プログラム
結果
データベース
エンジン
問合せ(クエリ)
SELECT
INSERT DELETEUPDATE
CREATE DROP
これから学習する内容
3
 データベース設計について学ぶ
CREATE DATABASE
CREATE TABLE
データベース設計
エンドユーザ
結果
データベース
問合せ(クエリ)
データベース
アプリケーション
要求
応答
データベース設計編での学習⽬標
4
基礎となるデータモデルを理解する
データベース設計の⽅法を理解する
データの冗⻑性と不整合問題の解消⽅法
を理解する
データベースプログラミングの⽅法を理
解する
データベース設計編
回 ⽇付 テーマ
8 5/28 関係データモデルと関係代数
9 6/4 データベース設計
10 6/11 正規化
11 6/18 データベースとプログラム
5
関係データモデル
本⽇の講義で学ぶこと
6
関係データモデル
7
関係データベース管理システム
(RDBMS; Relational DataBase Management System)
8
 エドガー・F・コッドが提唱した関係データモデルを
採⽤したデータベース管理システム(DBMS)
 MySQL, Oracle Database, PostgreSQL, SQLiteなどが
ある
利点
 ExcelやCSVなどの簡易データベースより⼤量のデー
タを保存できる
 ⼤量のデータに対し,検索,並べ替え,抽出,集計な
どの処理を⾼速に実⾏できる
 複数の異なるデータを結合して,⼀つのデータのよう
に取り出すことができる
SQLという問合せ⾔語を使ってデータを操作できる
復習
SQLと関係データモデル
9
 SQLは関係データモデルを基礎としている
 データの表現⽅法やデータに対する演算⽅法が関係
データモデルでルールが決められている
関係データモデル
SQL
SELECT INSERT
UPDATE DELETE
関係(リレーショナル)データモデル
10
 1970年にIBM社にいたエドガー・F・コッドが提案
 データを属性値の集合であるタプルとして表現する
表構造を採⽤し,属性を列,タプルを⾏として関連付ける
 ⾒出し(属性の集合)と本体(タプルの集合)を関係とよぶ
 関係データモデルを採⽤しているDBを,関係データベー
ス(RDB; Relational DataBase) とよぶ
関係(リレーション)
11
番号 ⼭名 標⾼ 都道府県
48剱岳 2,999富⼭県
49⽴⼭ 3,015富⼭県
54槍ヶ岳 3,180⻑野県
64⼋ヶ岳 2,899⻑野県
72富⼠⼭ 3,776⼭梨県
87⽩⼭ 2,702岐⾩県
92⼤⼭ 1,729⿃取県
タプル
属性
関係
⽇本百名⼭
関係名
属性値
関係データモデルの⽤語
12
 関係(リレーション)
 ⾒出しと本体の対で構成される
 ⾒出しは0個以上の属性の集合
 本体は0個以上のタプルの集合
 属性(アトリビュート)
 属性名とデータ型の対
 タプル(組)
 ⾒出しに対応した属性値の集合
SQLでの⽤語
13
番号 ⼭名 標⾼ 都道府県
48剱岳 2,999富⼭県
49⽴⼭ 3,015富⼭県
54槍ヶ岳 3,180⻑野県
64⼋ヶ岳 2,899⻑野県
72富⼠⼭ 3,776⼭梨県
87⽩⼭ 2,702岐⾩県
92⼤⼭ 1,729⿃取県
ロウ
カラム
テーブル
復習
⽇本百名⼭
テーブル名
関係データモデルとSQLでの⽤語の⽐較
14
関係データモデル SQL
関係(リレーション) テーブル(表)
タプル(組) ロウ(⾏)
属性(アトリビュート) カラム(列)
関係といえる表はどれ?
15
1時限 2時限
⽉
英語 C501 OS F201
化学 C202 知識⼯学 C109
⽕
SW⼯学 R103 数理解析 C103
DB C202 HI C306
交戦勢⼒
東軍 ⻄軍
指導者・指揮官
徳川家康
徳川秀忠
結城秀康
⽑利輝元
⽯⽥三成
宇喜多秀家
上杉景勝
戦⼒
70,000~104,000 80,000以上
*(参考)http://ja.wikipedia.org/wiki/関ヶ原の戦い
著者 書籍タイトル 出版社 発⾏年
川越恭⼆ 楽しく学べるデータベース 共⽴出版 2014
北川博之 データベースシステム 昭晃堂 1996
増永良⽂ リレーショナルデータベース⼊⾨ サイエンス社 1991
関係データモデルの形式化
16
関係R
タプルti
関係 R の要素 ti∈ R
集合の要素を表す記号
部分集合を表す記号
ドメイン
直積を表す記号
ドメイン(定義域)
17
 属性値がとりうるすべての値の集合
例;⼈名の集合,年齢の集合,学科名の集合
D1 = {x | xは⼈名}
D2 = {x | xは0以上の整数}
D3 = {コミュ,知能,メディア,システム}
ドメインの例
18
番号 ⼭名 標⾼ 都道府県
48剱岳 2,999富⼭県
49⽴⼭ 3,015富⼭県
54槍ヶ岳 3,180⻑野県
64⼋ヶ岳 2,899⻑野県
72富⼠⼭ 3,776⼭梨県
87⽩⼭ 2,702岐⾩県
⽇本百名⼭
D番号 = {x | xは1以上の整数}
D⼭名 = {x | xは⽇本の⼭名}
D標⾼ = {x | xは0以上の整数}
D都道府県 = {x | xは都道府県名}
⽇本百名⼭ 番号 ⼭名 標⾼ 都道府県
ドメインの直積集合とタプル
19
D1 = {1, 2}, D2 = {a, b, c}, D3 = D1
D1× D2 ×D3 =
{(1,a,1), (1,a,2), (1,b,1), (1,b,2), (1,c,1), (1,c,2),
(2,a,1), (2,a,2), (2,b,1), (2,b,2), (2,c,1), (2,c,2)}
1
2
a
b
c
1
2
× ×
タプル:直積集合の各要素
タプルは必ずドメインの直積集合のいずれかの
要素になる
トランプの例
20
D1 = {♠, ♡, ♢, ♣}
D2 = {A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K}
R ⊆ D1× D2
D1× D2 = {
(♠,A), (♠,2), ..., (♠,K),
(♡,A), (♡,2), ..., (♡,K),
(♢,A), (♢,2), ..., (♢,K),
(♣,A), (♣,2), ..., (♣,K)}
次数と濃度
21
番号 ⼭名 標⾼ 都道府県
48剱岳 2,999富⼭県
49⽴⼭ 3,015富⼭県
54槍ヶ岳 3,180⻑野県
64⼋ヶ岳 2,899⻑野県
72富⼠⼭ 3,776⼭梨県
87⽩⼭ 2,702岐⾩県
⽇本百名⼭
⽇本百名⼭ 番号 ⼭名 標⾼ 都道府県
次数:4
濃度:6
関係Rを構成するタプルの数
関係Rのドメインの数
関係スキーマとインスタンス
22
番号 登録名 登録年 所在地
関係スキーマ
インスタンス
 関係の⾒出し部分
 時間的に不変
 タプルの集合
 時間的に変化
2姫路城 1993兵庫県
3屋久島 1993⿅児島県
8厳島神社 1996広島県
13知床 2005北海道
17富⼠⼭ 2013静岡県
18富岡製⽷場 2014群⾺県
世界遺産の関係の例
関係スキーマの記述
23
世界遺産 (番号,登録名,登録年,所在地)
属性名
関係名
例;
主キーには下線をひく
ドメイン
D番号 = {x | xは1以上の整数}
...
関係の特徴(1)
 ⼀つの関係の中で,まったく同じ値をもつ重複
したタプルは存在してはならない
 関係にはNULLを含めることはできない
24
姫路城 兵庫県
姫路城 兵庫県
富⼠⼭ 静岡県
姫路城 兵庫県
富⼠⼭ NULL
関係の特徴(2)
 タプルの順序は関係としては意味をもたない
 属性の順序は意味をもたない
25
姫路城 兵庫県
屋久島 ⿅児島県
富⼠⼭ 静岡県
富⼠⼭ 静岡県
姫路城 兵庫県
屋久島 ⿅児島県
番号 登録名 登録年 所在地
所在地 登録名 番号 登録年
同じ関係
同じ関係スキーマ
姫路城 兵庫県
姫路城 兵庫県
富⼠⼭ 静岡県
SQLの特徴(1)
 制約がなければ,⼀つのテーブルの中で重複し
たロウは存在しても良い
 テーブルにはNULLを含めることができる
26
姫路城 兵庫県
富⼠⼭ NULL
SQLの特徴(2)
 ロウの順序は存在する(ソートなど)
 カラムの順序は存在する(データ登録時など)
27
姫路城 兵庫県
屋久島 ⿅児島県
富⼠⼭ 静岡県
富⼠⼭ 静岡県
姫路城 兵庫県
屋久島 ⿅児島県
番号 登録名 登録年 所在地
所在地 登録名 番号 登録年
異なる結果
異なるカラムの
定義位置
28
関係代数の演算
29
関係代数の演算 説明
和集合演算 ⼆つの関係の和集合を求める演算
差集合演算 ある関係から他の関係の差集合を求める演算
共通集合演算 ⼆つの関係の両⽅に存在するものを抽出する演算
直積演算 ⼆つの関係のすべての組合せを求める演算
関係代数の演算 説明
射影演算 関係から指定属性集合のみの値を抜き出す演算
選択演算 関係から指定条件を満たすタプル集合を抜き出す演算
結合演算 複数の関係を指定条件によって結合する演算
商演算 ⼆つの関係の商を求める演算
集合演算
関係代数特有の演算
関係代数の演算
30
関係代数の演算 説明
和集合演算 ⼆つの関係の和集合を求める演算
差集合演算 ある関係から他の関係の差集合を求める演算
共通集合演算 ⼆つの関係の両⽅に存在するものを抽出する演算
直積演算 ⼆つの関係のすべての組合せを求める演算
集合演算
⼆つの関係の両⽅または⽚⽅に現れるタプル
からなる関係を求める
和集合演算 P∪Q
名前 所在地
姫路城 兵庫県
屋久島 ⿅児島県
富⼠⼭ 静岡県
P P∪Q
名前 所在地
⼤阪城 ⼤阪府
姫路城 兵庫県
彦根城 滋賀県
名前 所在地
姫路城 兵庫県
屋久島 ⿅児島県
富⼠⼭ 静岡県
⼤阪城 ⼤阪府
彦根城 滋賀県
Q
※PとQが和両⽴であること
和集合演算 P∪Q
32
P
P∪Q
Q
(姫路城, 兵庫県)
(富⼠⼭, 静岡県)
(⼤阪城, ⼤阪府)
(彦根城, 滋賀県)
(屋久島, ⿅児島県)
和両⽴
⼆つの関係P(A1, A2, ..., An)とQ(B1, B2, ..., Bm)が次の⼆
つの条件を満たすとき,⼆つの関係PとQは和両⽴
であるという
i. PとQの次数が等しい
ii. 各i (1≦i≦n)について,
AiとBiのドメインが等しい
A1 A2 ... An
B1 B2 ... Bm
各ドメインが等しい
n = m
P
Q
⼆つの関係のうち,⼀つ⽬の関係だけに現れる
タプルからなる関係を求める
差集合演算 P-Q, Q-P
名前 所在地
姫路城 兵庫県
屋久島 ⿅児島県
富⼠⼭ 静岡県
P
P-Q
名前 所在地
⼤阪城 ⼤阪府
姫路城 兵庫県
彦根城 滋賀県
名前 所在地
屋久島 ⿅児島県
富⼠⼭ 静岡県
Q
Q-P
名前 所在地
⼤阪城 ⼤阪府
彦根城 滋賀県
※PとQが和両⽴であること
差集合演算 P-Q
35
P-Q
(屋久島, ⿅児島県)
(姫路城, 兵庫県)
(富⼠⼭, 静岡県)
(⼤阪城, ⼤阪府)
(彦根城, 滋賀県)
P Q
差集合演算 Q-P
36
Q-P
(姫路城, 兵庫県)
(富⼠⼭, 静岡県)
(⼤阪城, ⼤阪府)
(彦根城, 滋賀県)
P Q
(屋久島, ⿅児島県)
⼆つの関係の両⽅に現れるタプルからなる関
係を求める
共通(積)集合演算 P∩Q
37
名前 所在地
姫路城 兵庫県
屋久島 ⿅児島県
富⼠⼭ 静岡県
P
P∩Q = P-(P-Q)
名前 所在地
⼤阪城 ⼤阪府
姫路城 兵庫県
彦根城 滋賀県
名前 所在地
姫路城 兵庫県
Q
※PとQが和両⽴であること
共通(積)集合演算 P∩Q
38
P∩Q
(姫路城, 兵庫県)
(富⼠⼭, 静岡県)
(⼤阪城, ⼤阪府)
(彦根城, 滋賀県)
P Q
(屋久島, ⿅児島県)
⼆つの関係における,すべてのタプルの組合
せを求める
直積演算 P×Q
名前 所在地
屋久島 ⿅児島県
富⼠⼭ 静岡県
P
名産
薩摩芋
静岡茶
御座候
名前 所在地 名産
屋久島 ⿅児島県 薩摩芋
屋久島 ⿅児島県 静岡茶
屋久島 ⿅児島県 御座候
富⼠⼭ 静岡県 薩摩芋
富⼠⼭ 静岡県 静岡茶
富⼠⼭ 静岡県 御座候
Q
P×Q
濃度:2
濃度:3
濃度:
2×3=6
次数:2+1=3
次数:2
次数:1
直積の次数と濃度
40
A1 A2 ... An B1 B2 ... BmP Q
A1 A2 ... An B1 B2 ... BmP×Q
次数n+m
濃度k 濃度l
濃度k×l
次数n 次数m
関係代数の演算
41
関係代数の演算 説明
射影演算 関係から指定属性集合のみの値を抜き出す演算
選択演算 関係から指定条件を満たすタプル集合を抜き出す演算
結合演算 複数の関係を指定条件によって結合する演算
商演算 ⼆つの関係の商を求める演算
関係代数特有の演算
ある関係から⼀部の属性を取り出したタプル
からなる関係を求める
射影演算(Projection)
42
P
π 都道府県 P
※重複したタプルは
除去される
番号 ⼭名 標⾼ 都道府県
48剱岳 2,999富⼭県
49⽴⼭ 3,015富⼭県
54槍ヶ岳 3,180⻑野県
64⼋ヶ岳 2,899⻑野県
72富⼠⼭ 3,776⼭梨県
都道府県
富⼭県
⻑野県
⼭梨県
ある属性の値に条件θ(=, ≠, <, >, ≦, ≧)を付加し,
その条件を満たすすべてのタプルの集合を求める
選択演算(Selection)
43
σ 都道府県='⻑野県' P
P 番号 ⼭名 標⾼ 都道府県
48剱岳 2,999富⼭県
49⽴⼭ 3,015富⼭県
54槍ヶ岳 3,180⻑野県
64⼋ヶ岳 2,899⻑野県
72富⼠⼭ 3,776⼭梨県
番号 ⼭名 標⾼ 都道府県
54槍ヶ岳 3,180⻑野県
64⼋ヶ岳 2,899⻑野県
※⽐較対象の属性がθ
⽐較可能であること
選択演算(Selection)
44
σ 都道府県='⻑野県' and 標⾼ >3000 P
P 番号 ⼭名 標⾼ 都道府県
48剱岳 2,999富⼭県
49⽴⼭ 3,015富⼭県
54槍ヶ岳 3,180⻑野県
64⼋ヶ岳 2,899⻑野県
72富⼠⼭ 3,776⼭梨県
番号 ⼭名 標⾼ 都道府県
54槍ヶ岳 3,180⻑野県
σ 都道府県='⻑野県' or 標⾼ <3000 P
番号 ⼭名 標⾼ 都道府県
48剱岳 2,999富⼭県
54槍ヶ岳 3,180⻑野県
64⼋ヶ岳 2,899⻑野県
※⽐較対象の属性がθ
⽐較可能であること
θ⽐較可能
θを(=, ≠, <, >, ≦, ≧)のいずれかの2項⽐較演算
⼦とするとき,その⽐較演算が可能となる条件をθ
⽐較可能であるという.
θ⽐較可能である条件
46
I. 関係P(A1, A2, ..., An)の⼆つの属性AiとAjとがθ⽐較可能であ
るとは,次の⼆つの条件を満たしていることをいう
i. AiとAjのドメインが等しい
ii. ⽐較演算(Aiの任意の値 θ Ajの任意の値)の真偽が常に定まる
II. 関係P(A1, A2, ..., An)の属性Aiと関係Q(B1, B2, ..., Bm)の属性Bj
とがθ⽐較可能であるとは,次の⼆つの条件を満たしてい
ることをいう
i. AiとBjのドメインが等しい
ii. ⽐較演算(Aiの任意の値 θ Bjの任意の値)の真偽が常に定まる
III. 関係P(A1, A2, ..., An)の属性Aiと定数cとがθ⽐較可能であると
は,次の⼆つの条件を満たしていることをいう
i. Aiのドメインにcがある
ii. ⽐較演算(Aiの任意の値 θ c)の真偽が常に定まる
⼆つの属性値AiとBjとが等しいタプルを結びつける
等結合演算(equi-Join)
47
P 番号 ⼭名 標⾼
54槍ヶ岳 3,180
64⼋ヶ岳 2,899
72富⼠⼭ 3,776
※⽐較対象の属性がθ
⽐較可能であること
Q ⼭番号 都道府県
54⻑野県
54岐⾩県
64⻑野県
64⼭梨県
72⼭梨県
72静岡県
番号 ⼭名 標⾼ ⼭番号 都道府県
54槍ヶ岳 3,180 54⻑野県
54槍ヶ岳 3,180 54岐⾩県
64⼋ヶ岳 2,899 64⻑野県
64⼋ヶ岳 2,899 64⼭梨県
72富⼠⼭ 3,776 72⼭梨県
72富⼠⼭ 3,776 72静岡県
P 番号=⼭番号Q
⽐較演算⼦θを「=」以外に⼀般化させた結合演算
θ結合演算(Join)
48
P 番号 ⼭名 標⾼
54槍ヶ岳 3,180
64⼋ヶ岳 2,899
※⽐較対象の属性がθ
⽐較可能であること
P.番号 P.⼭名 P.標⾼ Q.番号 Q.⼭名 Q.標⾼
54槍ヶ岳 3,180 48剱岳 2,999
54槍ヶ岳 3,180 49⽴⼭ 3,015
P P.標⾼>Q.標⾼Q
Q 番号 ⼭名 標⾼
48剱岳 2,999
49⽴⼭ 3,015
⼆つの関係の共通属性Cで結びつける
⾃然結合演算(Natural Join)
49
P 番号 ⼭名 標⾼
54槍ヶ岳 3,180
64⼋ヶ岳 2,899
72富⼠⼭ 3,776
※⽐較対象の属性がθ
⽐較可能であること
Q 番号 都道府県
54⻑野県
54岐⾩県
64⻑野県
64⼭梨県
72⼭梨県
72静岡県
番号 ⼭名 標⾼ 都道府県
54槍ヶ岳 3,180⻑野県
54槍ヶ岳 3,180岐⾩県
64⼋ヶ岳 2,899⻑野県
64⼋ヶ岳 2,899⼭梨県
72富⼠⼭ 3,776⼭梨県
72富⼠⼭ 3,776静岡県
P Q
関係Pがもつタプルのうち,関係Qのすべての
要素を含んでいるタプルを抽出する演算
商演算 P÷Q
50
A B C D
a イ 甲 ⼦
a イ ⼄ 寅
b ロ ⼄ 丑
c ハ 甲 ⼦
c ハ ⼄ 丑
c ハ ⼄ 寅
P
C D
甲 ⼦
⼄ 寅
Q P÷Q
A B
a イ
c ハ
商の求め⽅(1/3)
i. 関係PをQの含まれない属性でグループ化
51
A B C D
a イ 甲 ⼦
a イ ⼄ 寅
b ロ ⼄ 丑
c ハ 甲 ⼦
c ハ ⼄ 丑
c ハ ⼄ 寅
P
C D
甲 ⼦
⼄ 寅
Q
C D
甲 ⼦
⼄ 寅
商の求め⽅(2/3)
ii. Qのタプルが全て含まれているグループを残す
52
A B C D
a イ 甲 ⼦
a イ ⼄ 寅
b ロ ⼄ 丑
c ハ 甲 ⼦
c ハ ⼄ 丑
c ハ ⼄ 寅
P Q
商の求め⽅(3/3)
iii. Qに含まれていない属性のみを残す
53
A B C D
a イ 甲 ⼦
a イ ⼄ 寅
c ハ 甲 ⼦
c ハ ⼄ 丑
c ハ ⼄ 寅
P
C D
甲 ⼦
⼄ 寅
Q P÷Q
A B
a イ
c ハ
※重複したタプルは
除去される
レシピの関係Pから「じゃがいも」と「たまねぎ」を
⾷材にしたレシピ集合を求める
商演算の例
54
レシピ ⾷材
カレー じゃがいも
カレー たまねぎ
カレー ⽜⾁
パスタ たまねぎ
パスタ パスタ
パスタ ベーコン
⾁じゃが じゃがいも
⾁じゃが たまねぎ
⾁じゃが 豚⾁
じゃがバター じゃがいも
じゃがバター バター
P
⾷材
じゃがいも
たまねぎ
Q P÷Q
レシピ
カレー
⾁じゃが
関係代数の演算まとめ
55
関係代数の演算 説明
和集合演算 ⼆つの関係の和集合を求める演算
差集合演算 ある関係から他の関係の差集合を求める演算
共通集合演算 ⼆つの関係の両⽅に存在するものを抽出する演算
直積演算 ⼆つの関係のすべての組合せを求める演算
関係代数の演算 説明
射影演算 関係から指定属性集合のみの値を抜き出す演算
選択演算 関係から指定条件を満たすタプル集合を抜き出す演算
結合演算 複数の関係を指定条件によって結合する演算
商演算 ⼆つの関係の商を求める演算
集合演算
関係代数特有の演算
関係代数とSQLによる問合せ(1)
56
P∪Q
SELECT * FROM P UNION SELECT * FROM Q;
P∩Q
SELECT * FROM P INTERSECT SELECT * FROM Q;
SELECT * FROM P WHERE EXISTS (SELECT * FROM Q
WHERE P.名前 = Q.名前 AND P.所在地 = Q.所在地);
P-Q
SELECT * FROM P WHERE NOT EXISTS (SELECT * FROM Q
WHERE P.名前 = Q.名前 AND P.所在地 = Q.所在地);
SELECT * FROM P EXCEPT SELECT * FROM Q;
MySQLではサポート外
MySQLではサポート外
関係代数とSQLによる問合せ(2)
57
P×Q
SELECT * FROM P CROSS JOIN Q;
SELECT P.*, Q.* FROM P, Q;
関係代数とSQLによる問合せ(3)
58
SELECT 都道府県 FROM P;
π 都道府県 P
σ 都道府県='⻑野県' P
SELECT * FROM P WHERE 都道府県='⻑野県';
関係代数とSQLによる問合せ(4)
59
SELECT * FROM P JOIN Q ON 番号=⼭番号;
P 番号=⼭番号Q
SELECT * FROM P JOIN Q ON P.標⾼>Q.標⾼;
P P.標⾼>Q.標⾼Q
SELECT * FROM P NATURAL JOIN Q;
P Q
関係データモデル
まとめ
60
まとめ
和集合演算 差集合演算
共通集合演算
射影演算 選択演算 結合演算 商演算
関係データモデルと関係
関係データモデルの形式化とドメイン
関係スキーマとインスタンス
関係とSQLの特徴
集合演算
直積演算
関係代数特有の演算
本⽇学習したキーワード
〜データベース設計編〜
62
1事実1箇所 繰返しグループ 第三正規形
3層スキーマモデル 更新不整合問題 第⼆次正規化
ER図 削除不整合 第⼆正規形
E-Rモデル 差集合演算 タプル(組)
JDBC θ結合演算 直積演算
インスタンス θ⽐較可能 等結合演算
カーディナリティ 次数 導出属性
概念スキーマ ⾃然結合演算 ドメイン(定義域)
概念設計 実体 内部スキーマ
概念データモデル 射影演算 濃度
外部スキーマ 修正不整合 ⾮正規形
関係(リレーション) 商演算 物理設計
関係スキーマ 推移関数従属性 物理的データ独⽴性
関係代数 選択演算 部分関数従属性
関係データベース(RDB) 挿⼊不整合 論理設計
関係(リレーショナル)
データモデル
属性(アトリビュート) 論理データモデル
関係名 属性値 論理的データ独⽴性
完全関数従属性 第⼀次正規化 和集合演算
関連 第⼀正規形 和両⽴
共通(積)集合演算 第三次正規化
これまでに学習したキーワード
〜データベース設計編〜
63
1事実1箇所 繰返しグループ 第三正規形
3層スキーマモデル 更新不整合問題 第⼆次正規化
ER図 削除不整合 第⼆正規形
E-Rモデル 差集合演算 タプル(組)
JDBC θ結合演算 直積演算
インスタンス θ⽐較可能 等結合演算
カーディナリティ 次数 導出属性
概念スキーマ ⾃然結合演算 ドメイン(定義域)
概念設計 実体 内部スキーマ
概念データモデル 射影演算 濃度
外部スキーマ 修正不整合 ⾮正規形
関係(リレーション) 商演算 物理設計
関係スキーマ 推移関数従属性 物理的データ独⽴性
関係代数 選択演算 部分関数従属性
関係データベース(RDB) 挿⼊不整合 論理設計
関係(リレーショナル)
データモデル
属性(アトリビュート) 論理データモデル
関係名 属性値 論理的データ独⽴性
完全関数従属性 第⼀次正規化 和集合演算
関連 第⼀正規形 和両⽴
共通(積)集合演算 第三次正規化

データベース08 - 関係データモデルと関係代数