SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
データベース
第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) 挿⼊不整合 論理設計
関係(リレーショナル)
データモデル
属性(アトリビュート) 論理データモデル
関係名 属性値 論理的データ独⽴性
完全関数従属性 第⼀次正規化 和集合演算
関連 第⼀正規形 和両⽴
共通(積)集合演算 第三次正規化

Mais conteúdo relacionado

Mais procurados

SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話Narami Kiyokura
 
データベース02 - SQL概要
データベース02 - SQL概要データベース02 - SQL概要
データベース02 - SQL概要Kenta Oku
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来についてshinjiigarashi
 
データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御Kenta Oku
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 Hiroshi Ito
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門増田 亨
 
楽天のデータサイエンス/AIによるビッグデータ活用
楽天のデータサイエンス/AIによるビッグデータ活用楽天のデータサイエンス/AIによるビッグデータ活用
楽天のデータサイエンス/AIによるビッグデータ活用Rakuten Group, Inc.
 
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録Taiki Yoshida
 
SQLアンチパターン~スパゲッティクエリ
SQLアンチパターン~スパゲッティクエリSQLアンチパターン~スパゲッティクエリ
SQLアンチパターン~スパゲッティクエリItabashi Masayuki
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと増田 亨
 
Power BI のいろいろな活用パターン
Power BI のいろいろな活用パターンPower BI のいろいろな活用パターン
Power BI のいろいろな活用パターンYugo Shimizu
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)増田 亨
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する増田 亨
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜Takahiro Inoue
 
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)Koichiro Matsuoka
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計増田 亨
 

Mais procurados (20)

SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話
SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話
 
データベース02 - SQL概要
データベース02 - SQL概要データベース02 - SQL概要
データベース02 - SQL概要
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
 
データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
JIRAを使ったフツウのPJ実践
JIRAを使ったフツウのPJ実践JIRAを使ったフツウのPJ実践
JIRAを使ったフツウのPJ実践
 
楽天のデータサイエンス/AIによるビッグデータ活用
楽天のデータサイエンス/AIによるビッグデータ活用楽天のデータサイエンス/AIによるビッグデータ活用
楽天のデータサイエンス/AIによるビッグデータ活用
 
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
 
SQLアンチパターン~スパゲッティクエリ
SQLアンチパターン~スパゲッティクエリSQLアンチパターン~スパゲッティクエリ
SQLアンチパターン~スパゲッティクエリ
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
Power BI のいろいろな活用パターン
Power BI のいろいろな活用パターンPower BI のいろいろな活用パターン
Power BI のいろいろな活用パターン
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
Sql基礎の基礎
Sql基礎の基礎Sql基礎の基礎
Sql基礎の基礎
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
 
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
 

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

データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用までデータサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用までShunsuke Nakamura
 
Model seminar shibata_100710
Model seminar shibata_100710Model seminar shibata_100710
Model seminar shibata_100710Kazuya Nishina
 
2017年3月版データマエショリスト入門(誤植修正版)
2017年3月版データマエショリスト入門(誤植修正版)2017年3月版データマエショリスト入門(誤植修正版)
2017年3月版データマエショリスト入門(誤植修正版)Yuya Matsumura
 
2017年3月版データマエショリスト入門
2017年3月版データマエショリスト入門2017年3月版データマエショリスト入門
2017年3月版データマエショリスト入門Yuya Matsumura
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JPSercan Ahi
 
連環データ分析へのご招待
連環データ分析へのご招待連環データ分析へのご招待
連環データ分析へのご招待DataCakeBaker corp
 
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706swkagami
 

Semelhante a データベース08 - 関係データモデルと関係代数 (9)

20150329 tokyo r47
20150329 tokyo r4720150329 tokyo r47
20150329 tokyo r47
 
実践データ分析基礎
実践データ分析基礎実践データ分析基礎
実践データ分析基礎
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用までデータサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
 
Model seminar shibata_100710
Model seminar shibata_100710Model seminar shibata_100710
Model seminar shibata_100710
 
2017年3月版データマエショリスト入門(誤植修正版)
2017年3月版データマエショリスト入門(誤植修正版)2017年3月版データマエショリスト入門(誤植修正版)
2017年3月版データマエショリスト入門(誤植修正版)
 
2017年3月版データマエショリスト入門
2017年3月版データマエショリスト入門2017年3月版データマエショリスト入門
2017年3月版データマエショリスト入門
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JP
 
連環データ分析へのご招待
連環データ分析へのご招待連環データ分析へのご招待
連環データ分析へのご招待
 
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706
 

Último

次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~Kochi Eng Camp
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料Tokyo Institute of Technology
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラムKochi Eng Camp
 

Último (8)

次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 

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