第2章 关系模型及其数学基础
[理学]sql-课件-第2章-关系模型
例子
例如,选择贷款额大于12000元并由经七路支行发放的 贷款
branch_name='经七路支行' ∧ amount>12000(Loan)
loan_number(贷款号) L-15 L-16
branch_name(支行名称) 经七路支行 经七路支行
amount(金额) 15 000 13 000
相关符号
A,t[A], A
若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是 A1,A2,…,An中的一部分,则A称为属性列或域列 。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性 列A上诸分量的集合。A则表示{A1,A2,…,An}中 去掉{Ai1,Ai2,…,Aik}后剩余的属性组。
实体以及实体间的各种联系均用关系来表示。在用户看来, 关系模型中数据的逻辑结构是二维表格。 关系模型支持对数据库中数据的各种操作,这些操作称为关 系代数操作。 关系模型允许定义四类完整性约束,即域完整性约束、实体 完整性约束、引用完整性约束和用户定义完整性约束,
山东财政学院计算机信息工程学院
关系模型的优点
山东财政学院计算机信息工程学院
基本概念
关系:是二维表的一个抽象,是一种规范化了的二维 表。
列的名字称为属性(attribute)。 每个属性都有一个取值范围,这个取值范围称为属性
的值域(domain)。 表中的一行称为元组,它对应各个属性的某个具体属
性值。 元组的集合就称为关系。
山东财政学院计算机信息工程学院
相关符号
tr ts R为n目关系,S为m目关系。tr R,tsS, tr ts称 为元组的连接。它是一个n + m列的元组,前n个分 量为R中的一个n元组,后m个分量为S中的一个m
第2章 关系模型
专门的关系运算
A a1 a1 a2 a3 a4 A B C
袁玲
袁玲
袁玲 袁玲 吴丹 吴丹 吴丹 吴丹 刘杰 刘杰 刘杰 刘杰
男
女 女 男 男 女 女 男 男 女 女
19
18 19 18 19 18 19 18 19 18 19
关系的定义
定义2.3:D1×D2ׄ×Dn上的任意一个子集均 是定义在域D1,D2,„Dn上的一个关系
(relation),记为R
B b b b e e e h h h
C c c c f f f i i I
A a j m a j m a j m
B b k n b k n b k n
C c l p c l p c l p
A a j m
B b k n
(b) S(A,B,C)
C c l p
(d)R×S
专门的关系运算
(1)选择(selection) σ F(R)={t| t∈R∧F(t)=true}
关系的定义
例2-2:已知三个域: D1={袁玲,吴丹,刘杰} D2={男,女} D3={18,19}
则D1、D2和D3的笛卡尔积可以表示成一张二维表,如表2-1所示。
D1 D2
男
D3
18
•该笛卡尔积的基数 为3×2×2=12,即 共有12个元组,(袁 玲、男、18)和(吴 丹、女、19)就是元 组,“袁玲”、 “女”、“吴丹”、 “19”就是分量。 •有时一个元组也被 称为一条记录
第2章关系模型与关系代数
关系完整性约束条件
实体完整性
若属性集A是关系r的主码,则A不能取空值null。
例如,关系Student,由于studentNo是关系 Student的主码,因此它在任何时候的取值都 不能为空值null,但其他属性如sex、 birthday、speciality等都可以取空值,表示 当时该属性的值未知或不存在。
不能重复出现的所有域的所有取值的一个组合。
关系数据结构的形式化定义
▪其中,集合中的每一个元素(d1, d2, …, dn)称为一个n元组, 简称为元组;元素中 的每一个值di称为一个分量。
若Di(i=1,2,…,n)为有限集,其 基数(Cardinal Number,此域中所有 可取值的个数)为mi(i=1,2,…, n),则笛卡尔积的基数M为:
关系是笛卡尔积的有限子集,所以关系也是一个 二维表, 表的每行对应于关系的一个元组,表的 每列对应于关系的一个域。由于域可以相同,为 了区别就必须给每列起一个名字,称为属性 (attribute)。n目关系共有n个属性。
n
M mi i 1
关系数据结构
关系的最基本要求: 关系中的每个属性的域必须是原子的,即域中 的每个值都是不可再分的一个完整单元。 关系中的每个元组都是可区分的,即存在唯一 标识不同元组的属性(集)——码。
关系数据库系统是支持关系数据模型的数据库系统。 关系数据库管理系统是当今的主流数据库管理系统。
关系模型由关系数据结构、关系操作集合和关 系完整性约束三部分组成。
关系数据结构
关系
关系模型的数据结构非常简单,它就是二维表, 亦称为关系 。
关系数据库是表的集合,即关系的集合。 表是一个实体集,一行就是一个实体,它由共
n
M mi i 1
第2章关系模型
王平 女
28
讲师
800
1200
信息
出错!
2、参照完整性: 如果关系R2的外部关系键X与R1的主关 系键相符,则X的每个值或者等于R1中主 关系键的某一个值,或者取空值。
SNO SN S1 赵亦 S2 钱尔 S3 王威 SEX 女 AGE DEPT 17 计算机 18 信息 19
R1
DEPT
ADDR
2.4.2 主属性与非码属性
主属性(prime attribute):包含在主码 中的各个属性称为主属性。 例如:学生关系中的sno,学生选课关系 中的sno, cno 非码属性:不包含在任何候选码中的属性 称为非码属性。
例如:学生选课关系中的score
全码(all-key):所有属性的组合是关系的 候选码,称为全码。 教师授课关系TCS:
2.6 关系代数
关系数据库所使用的语言一般都具有: 定义、查询、更新和控制一体化的特点, 而查询是最主要的部分。因此,建立数据库 的主要目的是查询。 用关系运算表达式来表示查询的条件,按 照表达查询方法的不同,关系运算分为:关 系代数和关系演算。
2.6.1关系代数的分类及其运算符
关系代数的运算对象是关系,运算结果也是 关系 关系代数用到的运算符包括四类: 1、传统集合运算符:∪(并)、 ∩(交)、 -(差)、×(广义笛卡儿积) 2、专门的关系运算符:σ (选择)、∏ (投影),∞ (连接)、*(自然连接),÷(除) 3、算术比较运算符:><≥≤=≠ 4、逻辑运算符:∧(与)、∨(或)、┐(非)
(3)若Di( i=1,2,…,n)为有限集,Di中的 元素个数称为Di的基数,用mi(i=1,2,…,n ) 来表示,则笛卡儿积D1×D2×……×Dn的基 数M(即(d1, d2, …dn ) 的个数)为所有域的 基数的积,即 n M=∏mi I=1
[经济学]第2章 关系数据模型与关系运算_OK
4
2.1 关系数据模型
•键 – 超键:能唯一标识各个元组的属性集合称为关系 R的超键 – 候选键:不含多余属性的超键称为候选键 – 主键:选定了用于标识的候选键称为主键 – 外键:如果一个关系R1的一个属性子集A是另一 个关系R2的主键,但不是R1本身的主键,则称A 是关系R1的外键。其中,R1称为参照关系,R2 称为被参照关系。
S S#'S17' (S) 和 SC S#'S17' (SC)
例2-6 检索不修读任何课程的学生学号:
S#(S) S#(SC)
例2-7 在关系C中增加一门新课程(C13, ML, C3,null)
如果令这门新课程元组所构成的关系为R,则有:R=(C13,ML C3,null),这时结果为:C∪R。
图 2.6 投影 Sn,Sa,Class (S)
如果是 Sex呢?
20
• 2.关系元组选定——选择运算 选择操作是根据某些条件对关系做水平分割,即选 取符合条件的元组。
F (R) {t | t R F(t) true}
“σ”为选择运算符,表示按照给定的条件F从关系R 中选择出满足这一条件F的元组,组成一个新的与R 同类的k元关系。
(2)数据插入 (3)数据修改
2006010104 黄誉 男 622
空值处理
(1)限定主键中不允许出现空值
(2)定义有关空值运算
10
2.1 关系数据模型
关系操作数学基础:关系运算
关系运算
关系代数
关系演算
元组演算
域演算
11
2.1 关系数据模型
• 完整性约束
02《数据库》第二章关系数据模型 #
• 结果关系的所有属性都是原关系的属性。 • 结果关系的所有元组都是原关系的元组。
• 例如:在学生表中将98管理班同学全部
学号 找出姓来名 。 出生年月 性别 班级
0001 • 李伟 <班19级80=.1‵2.0938管男理′>(学9生8管表理)
性、参照完整性和用户定义的完整性。 • 实体完整性:主码的任何属性值都不能为空。 • 参照完整性:若A是基本关系R1的外码。它与
基本关系R2的主码K相对应,则R1中每个元组 在A上的值必须为以下情况之一。 • 等于R2中某个元组的主码值。 • 取空值(A的每个属性值均为空值)。
• 例如:职工关系(职工号,姓名,…部门编号) 和部门关系(部门编号,部门名称,…)。
班级 98管理 98管理 98管理 98管理
学号 课程号 成绩
0001 01
85
0001 02
70
0003 01
80
0003 02
90
• 自然连接 • (学生表)(成绩表)
学号 姓名 0001 李伟 0001 李伟 0003 赵兰 0003 赵兰
出生年月 性别 1980.12.03 男 1980.12.03 男 1979.05.26 女 1979.05.26 女
《数据库技术原理与应用》
章、关系数据模型基础理论
TEL: Email:
本章教学内容
一、关系模型的基本概念 二、关系代数 三、关系演算 四、查询优化 五、关系系统
一、关系模型的基本概念
1、关系模型的数学定义: 关系模型是建立在数学理论基础上的。 定义(1)域:域(Domain)是值的集合
第二章-关系模型PPT课件
数据库系统概念
习题分析与解答
第二章 关系模型
Copyright © by ECNU CS DBLAB All rights reserved.
习题目录
习题2.1 (参阅课本P44) 习题2.3 (参阅课本P44) 习题2.5 (参阅课本P45) 习题2.7 (参阅课本P45) 习题2.9 (参阅课本P45) 习题2.11 (参阅课本P45)
12
❖第二章 关系模型
数据库系统概念
2.5.c. 找出First Bank Corporation所有年收入在10 000美元 以上的员工的姓名和居住的街道、城市。
参考解答: c. ∏person-name,street,city (σcompany-name=“First Bank Corporation”∧salary>10000(works ∞ emplyee))
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
Copyright © by ECNU CS DBLAB All rights reserved.
Copyright © by ECNU CS DBLAB All rights reserved.
7
❖第二章 关系模型
数据库系统概念
2.3.a. 修改数据库,使Jones现在居住在Newtown
参考解答: a.employee←∏emplyee-name,street,city←“Newtown”(σ employee=“Jones”(employee))∪
第2讲关系模型
38
外键
若关系中某个属性集合的取值来自另一 个关系或自身的候选键的取值。则此属性集 合称为该关系的一个外键 外键。 外键
39
键及外键举例
客户
客户编号 客户姓名 省份 城市 外键 邮编
订单
订单编号 订货日期 客户编号
订单细目 产品
外键
订单编号 产品编号 数量
产品编号 产品说明 单价
26
表举例
学号 31022301 31022302 31022303 31022304 31022332 31022201 31022202 31022230 姓名 张峰 李蔚蓝 王弘 赵飞龙 王梦丽 刘玉虎 严鹏 石英 性别 男 女 男 男 女 男 男 女 所在系 计算机 计算机 计算机 计算机 计算机 经济 经济 经济
外键
外键
42
关系数据库模式
关系模式的集合。集合中的每个关系都有 不同的名字。 设R1, R2, …, Rn为关系模式,关系数据库 的模式可表示为: R = {R1, R2, …, Rn}
22
关系模型(Relation Model)
对数学中的关系概念作如下限定和扩充: 将关系只限定在有限集合上 根据语义,给关系中每个域起一个唯一的别名 用关系作为描述数据库模式的工具,并称 之为关系模型。
23
属性(Attribute)
关系中域的别名称为关系的属性 属性(Attribute)。 属性 一个简单属性应包括物理描述和语义描述。 物理描述指数据的类型、长度以及其它约束。 语义描述指属性的功能和目的。语义描述可以 把具有相同物理描述的属性区分开来。
33
关系的两个术语
度/元(Degree): 元
第2章关系模型
返回
18
6. 关系中每一分量必须是不可分的数据项,或者说所有属性值都 是原子的,即是一个确定的值,而不是值的集合。属性值可 以为空值,表示“未知”或“不可使用”,即不可“表中有 表”。满足此条件的关系称为规范化关系,否则称为非规范 化关系。 例如,在表2.8中,籍贯含有省、市/县两项,出现了“表中有表” 的现象,则为非规范化关系,而把籍贯分成省、市/县两列,将 其规范化,如表2.9所示。 姓名 籍贯 姓名 省 市/县 省 张强 王丽 吉林 山西 市/县 长春 大同 张强 王丽 吉林 山西 长春 大同
域名无排列次序,如D2={男,女}={女,男}
返回
7
2.2.2 笛卡尔积(Cartesian Product) 给定一组域D1,D2,…,Dn(它们可以包含相同的元素, 即 可 以 完 全 不 同 , 也 可 以 部 分 或 全 部 相 同 ) 。 D1 , D2 , … , Dn 的笛卡尔积为 D1×D2×……×Dn={ ( d1 , d2,…,dn)|di∈Di,i=1,2,…,n}。 由定义可以看出,笛卡尔积也是一个集合。 其中:
如果一个关系的元组个数是无限的,则称为无限关系; 如果一个关系的元组个数是有限的,则称为有限关系。 由于计算机存储系统的限制,我们一般不去处理无限关系,而只考虑有 限关系。
3. 同样可以把关系看成一个二维表。其中,
(1)表的框架由域Di(i=1,2,……n)构成; (2)表的任意一行对应一个元组; (3)表的每一列来自同一域; (4)域可以相同,为了加以区别,每列起一个名字,称为属性,n目关系 有n个属性,属性的名字唯一,属性的取值范围 Di(i=1,2,…,n)称 为值域 (5)具有相同关系框架的关系成为同类关系, 例如,有另一个关系 T2 , 如表2.3所示:
第二讲 关系模型
第二讲关系模型第二讲关系模型主要内容¾关系模型的数据结构¾关系的定义与性质¾关系数据库的基本概念¾关系代数¾关系演算第二讲关系模型关系模型的数据结构关系数据结构非常简单,在关系数据模型中,现实世界中的实体及实体与实体之间的联系均用关系来表示。
关系模型的本质是用二维表来表示实体与实体之间联系。
每个关系有一个关系模式,由一个关系名和其所有属性名构成,如:R(A1,A2,…,An),称为关系的内涵。
具体关系是关系模式的值和实例。
第二讲关系模型关系的形式化定义•关系的非形式化定义:在关系模型中,数据是以二维表的形式存在的,该二维表称为关系。
z关系理论以集合代数理论为基础,可以用集合代数给出关系的形式化定义。
第二讲关系模型关系的形式化定义基础•域:一组具有相同数据类型的值的集合,又称为值域(用D表示)。
域中包含的值的个数称为域的基数。
关系中用域表示属性的取值范围。
例如:D1={李力,王平,刘伟} m1=3D2={男,女} m2=2D3={47,28,30} m3=3其中,D1,D2,D3为域名,分别表示教师关系中姓名、性别、年龄的集合。
第二讲关系模型关系的形式化定义基础笛卡尔积(Cartesian Product)•给定一组域D1,D2,…,Dn(它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。
D1,D2,…,Dn的笛卡尔积为D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}。
•笛卡尔积也是一个集合。
z分量:元素中的每一个di叫做一个分量(Component),来自相应的域(di∈Di)z元组:每一个元素(d1,d2,d3,…,dn)叫做一个n 元组(n-tuple),简称元组(Tuple)。
但元组不是di的集合,元组的每个分量(di)是按序排列的。
第二讲关系模型第二讲关系模型z 基数:若Di (i=1,2,……n )为有限集,Di 中的集合元素个数称为Di 的基数,用mi (i=1,2,……n )表示,则笛卡尔积D1×D2×……×Dn 的基数M (即元素(d1,d2,……dn )的个数)为所有域的基数的累乘之积,即––M= ∏=ni im 1关系的形式化定义基础关系的形式化定义基础笛卡尔积可用二维表的形式表示。
第2章.关系模型.ppt
零件关系P(主码是“零件号”,外码是“供应商号”)
零件号 010 312 201
颜色 红 白 蓝
供应商号 B01 S10 T20
用户定义的完整性规则
用户定义的完整性规则:
这条规则是指用户根据应用环境的不同,针对 某一具体关系数据库定义的约束条件。
这是针对某一具体数据的约束条件,由应用 环境决定。它反映某一具体应用所涉及的数据必须 满足的语性名
ѧºÅ ÐÕ Ãû
980101 ÕÅ Á¦
980102 ÁÖ ºê Òµ
980103 Íõ Ã÷
…
…
980203 Àî æà æÃ
ÐÔ ±ð Äê Áä Å® 22 ÄÐ 21 ÄÐ 22
…… Å® 23
ѧ²¿ ºÅ Ô µ¥ λ
1 ¼Æ Ëã »ú ϵ
2 Êý ѧϵ
Sage Sdept
20
SC
19
IS
18 MA
19
IS
πA(R) = {t[A] | t∈R}
投影
投影的结果中要去掉相同的行
R
A
B
C
a
b
c
d
e
f
c
b
c
B , C(R)
B
C
b
c
e
f
投影示例
示例:
1.给出所有学生的姓名和年龄 SN, AGE(S)
2.查找成绩>80分的学生的学号
SNO( 成绩>80 (sc))
4 ÕÜ Ñ§Ïµ
…
…
1 ¼Æ Ëã »ú ϵ
码
值域(15<=年龄<=30)
关系模型示例
候选关键字或候选码
第二章 关系数据模型 课件2
2.2.2 关系运算
选择
从关系中找出满足给定条件的那些元组称为选择。 (在行的方向上)
联接
联接是将两个关系模式通过公共的属性名拼接成一 个更宽的关系模式,生成的新关系中包含满足联接 条件的元接。
2.2 关系运算
2.2.3 外关键字
外关键字概念 如果一个关系中的属性或属性组
并非该关系的关键字,但它是另外一 个关系的关键字,则称其为该关系的 外关键字。
2.2 关系运算
返回目录
关系模式——对关系的描述称为关系模式。 元数——关系模式中属性的数目。
2. 关系术语间的联系
一个具体的关系模型是若干个关系模式的集合。 关系模式是命名的属性集合。 关系是元组的集合。 元组是属性值的集合。
2.1 关系模型
2.2.1 集合运算
并 R∪S 交 R∩S 差 R-S
2.2 关系运算
第二章 关系数据模型
2.1.2 关系术语
关系术语
关系——一个关系就是一张二维表,每个关系有一 个关系名。
元组——表中的行称为元组。(元组 记录) 属性——表中的列称为属性。
属性
属性名
字段名
属性值 字段值 域——属性的取值范围。
2.1 关系模型
2.1.2 关系术语
关键字——属性或属性的组合,其值能够唯一的标 识一个元组。
第2章 关系模型及其数学基础
关系名 组成该关系的属性名集合 属性组U中属性所来自的域 dom 属性向域的映象集合 F 属性间的数据依赖关系集合
定义关系模式 (续)
关系模式通常可以简记为
R (U) 或 R (A1,A2,…,An) R 关系名 A1,A2,…,An 属性名
注:域名及属性向域的映象常常直接说明为 属性的类型、长度
例如:
Oracle , FoxPro 等都允许关系表中存在两个完全相同的 元组,除非用户特别定义了相应的约束条件。
关系(续)
⑤ 行的顺序无所谓
行的次序可以任意交换。
遵循这一性质的数据库产品 ( 如 ORACLE) ,插入
一个元组时永远插至最后一行。
但也有许多关系数据库产品没有遵循这一性质, 例如FoxPro仍然区分了元组的顺序。
关系(续)
5) 码
候选码(Candidate key)
若基本关系表中的某一属性(或属性组)的值能唯一地 标识一个元组,则称该属性(或属性组)为候选码。 在最简单的情况下,候选码只包含一个属性,在最极端 的情况下,关系模式的所有属性是这个关系模式的候 选码,称为全码(All-key)
主码
若一个关系有多个候选码,则选定其中一个为主码 (Primary key) 主码的诸属性称为主属性( Prime attribute )。不包含 在任何侯选码中的属性称为非码属性 (Non-key attribute)
2.3.1 实体完整性
实体完整性规则(Entity Integrity) 实体完整性是针对基本关系而言的。实体完整性用 “主键”约束。该规则规定:若属性 A 是基本关 系R的主属性,则属性A不能取空值。 原因: 现实世界中的实体是可区分的(即具有唯一性标识) 若实体的主属性为空,意味着它不可标识。例: 选修(学号,课程号,成绩) “学号、课程号”为主码,则两个属性都不能取空 值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系(续)
③ 列的顺序无所谓
列的次序可以任意交换。
遵循这一性质的数据库产品(如ORACLE),增加新 属性时,永远是插至最后一列。 但也有许多关系数据库产品没有遵循这一性质,例 如FoxPro仍然区分了属性顺序
关系(续)
④ 任意两个元组不能完全相同
由笛卡尔积的性质决定。但许多关系数据库产 品没有遵循这一性质。
关系数据库简介(续)
典型商用系统
ORACLE SYBASE INFORMIX DB2 SQL Server
其它
Access, Visual ForPro
关系数据库简介(续)
关系数据模型包含三方面的含义:
关系数据结构(2.2节) 关系完整性约束(2.3节) 关系操作集合 (2.4节)
2.2 关系数据结构
第二章 关系模型及其数据基础
2.1 2.2 2.3 2.4 2.5 2.6 关系数据库简介 关系数据结构 关系模型三要素 关系的完整性 关系操作的集合 关系代数 关系模型的理论基础 关系演算
2.1 关系数据库简介
系统而严格地提出关系模型的是美国 IBM公司的 E.F.Codd
1970年提出关系数据模型
R U D
关系名 组成该关系的属性名集合 属性组U中属性所来自的域 dom 属性向域的映象集合 F 属性间的数据依赖关系集合
定义关系模式 (续)
关系模式通常可以简记为
R (U) 或 R (A1,A2,…,An) R 关系名 A1,A2,…,An 属性名
注:域名及属性向域的映象常常直接说明为 属性的类型、长度
关系(续)
注意:
关系是笛卡尔积的有限子集。无限关系在数据库 系统中是无意义的。 由于笛卡尔积不满足交换律,即 (d1,d2,…,dn )≠(d2,d1,…,dn ) 但关系满足交换律,即 (d1,d2 ,…,di ,dj ,…,dn)=(d1,d2 ,…, dj,di ,…,dn) (i,j = 1,2,…,n) 解决方法:为关系的每个列附加一个属性名以取 消关系元组的有序性
1.什么是关系模式
关系模式( Relation Schema )是型,关系 是值 关系模式是对关系的描述:
元组集合的结构
有哪些属性 属性来自的域 属性与域之间的映象关系(属性的类型和长度)
元组语义以及完整性约束条件 属性间的数据依赖关系集合(见后续章节)
2.定义关系模式
关系模式可以形式化地表示为: R(U,D,dom,F)
3. 关系模式与关系
关系模式
对关系的描述 静态的、稳定的
关系
关系模式在某一时刻的状态或内容 动态的、随时间不断变化的
关系模式和关系往往统称为关系。
2.3 关系的完整性约束
关系模型的完整性规则是对关系的某种约束条件。 关系模型中三类完整性约束: 实体完整性 参照完整性 用户定义的完整性 实体完整性和参照完整性是关系模型必须满足的完 整性约束条件,被称作是关系的两个不变性,应 该由关系系统自动支持。 而用户定义的完整性反映应用领域需要遵循的约束 条件,体现了具体领域中的语义约束。用户定义 后由系统支持。
M mi i 1
5)笛卡尔积的表示方法
笛卡尔积(续)
表 2.1
SUPERVISOR 张清玫 张清玫 张清玫 张清玫 张清玫 张清玫 刘逸 刘逸 刘逸 刘逸 刘逸 刘逸
D1, D2, D3 的笛卡尔积
POSTGRADUATE 李勇 刘晨 王敏 李勇 刘晨 王敏 李勇 刘晨 王敏 李勇 刘晨 王敏
若Di(i=1,2,…,n)为有限集,其基数为mi (i=1,2,…,n),则D1×D2×…×Dn的基 数M为: n ×2×3=12个元组 笛卡尔积可表示为一个二维表。表中的每行对应 一个元组,表中的每列对应一个域。 在上例中,12个元组可列成一张二维表
关系(续)
6) 三类关系
基本关系(基本表)
实际存在的表,是实际存储数据的逻辑表示
查询表
查询结果对应的表
视图表
由基本表或其他视图表导出的表,是虚表,不对 应实际存储的数据
关系(续)
7)关系的性质 ① 列是同质的(Homogeneous)
每一列中的分量是同一类型的数据,来自同 一个域
② 不同的列可出自同一个域
学生(学号,姓名,性别,专业号,年龄)
课程(课程号,课程名,学分)
选修(学号,课程号,成绩)
学生
学号 801 802 803 804 805 姓名 张三 李四 王五 赵六 钱七 性别 女 男 男 女 男 专业号 01 01 01 02 02 年龄 19 20 20 20 19
课程
课程号 01 02 03 04 课程名 数据库 数据结构 编译 PASCAL 学分 4 4 4 2
关系(续)
5) 码
候选码(Candidate key)
若基本关系表中的某一属性(或属性组)的值能唯一地 标识一个元组,则称该属性(或属性组)为候选码。 在最简单的情况下,候选码只包含一个属性,在最极端 的情况下,关系模式的所有属性是这个关系模式的候 选码,称为全码(All-key)
主码
若一个关系有多个候选码,则选定其中一个为主码 (Primary key) 主码的诸属性称为主属性( Prime attribute )。不包含 在任何侯选码中的属性称为非码属性 (Non-key attribute)
域是一组具有相同数据类型的值的集合。例:
整数 实数 介于某个取值范围的整数 长度指定长度的字符串集合 {„男’,‘女’} 介于某个取值范围的日期
2. 笛卡尔积(Cartesian Product)
1) 笛卡尔积
给定一组域 D1 , D2 , … , Dn , D1 , D2 , … , Dn 的笛卡尔积为: D1×D2×…×Dn = { ( d1 , d2 , … , dn ) | diDi,i=1,2,…,n}
其中的每一列称为一个属性 不同的属性要给予不同的属性名
关系(续)
上例中也可以只给出两个域: 人(PERSON)=张清玫,刘逸,李勇,刘晨,王 敏 专业(SPECIALITY)=计算机专业,信息专业 SAP关系的导师属性和研究生属性都从 PERSON域 中取值 为了避免混淆,必须给这两个属性取不同的属性 名,而不能直接使用域名。 例如定义: 导师属性名为SUPERVISOR 研究生属性名为POSTGRADUATE
SPECIALITY 计算机专业 计算机专业 计算机专业 信息专业 信息专业 信息专业 计算机专业 计算机专业 计算机专业 信息专业 信息专业 信息专业
3. 关系(Relation)
1) 关系
D1×D2×…×Dn 的子集叫作在域 D1 , D2 , … , Dn上的关系,表示为 R(D1,D2,…,Dn) R:关系名 n:关系的目或度(Degree)
笛卡尔积(续)
2) 元组(Tuple)
笛卡尔积中每一个元素(d1,d2,…,dn)叫作 一个 n 元组 ( n-tuple )或简称 元组, 元组通常 用t表示。
3) 分量(Component)
笛卡尔积元素(d1,d2,…,dn)中的每一个成 员di叫作一个分量。
笛卡尔积(续)
4) 基数(Cardinal number)
关系(续)
4) 属性
关系中不同列可以对应相同的域,为了加以区分,必须 对每列起一个名字,称为属性(Attribute)。 n元关系必有n个属性。
关系的规范化
能否把关系定义成如下形式:
导师 ... 专业 ... 研究生 研一 ... 研二 ...
不能。在关系数据库,要求每个分量是不可再分的数据, 这是定义关系时的最基本要求,称为“第一范式”。
现实世界的实体以及实体间的各种联系均用 关系来表示 数据的逻辑结构----二维表 关系模型建立在集合代数的基础上 关系数据结构的基本概念
关系 关系模式
2.2.1 关系
⒈ 域(Domain) 2. 笛卡尔积(Cartesian Product) 3. 关系(Relation)
⒈ 域(Domain)
801 802 803 804 805 张三 李四 王五 赵六 钱七
性别, 性别 专业号, 专业号年龄) 年龄
女 男 男 女 男 01 01 01 02 02 19 20 20 20 19
专业( 专业号,
专业号 01 02 03
专业名)
专业名 信息 数学 计算机
关系间的引用(续)
例2 学生、课程、学生与课程之间的多对 多联系
也就是所有域的所有取值的一个组合。
例:
给出三个域:
D1=SUPERVISOR ={ 张清玫,刘逸 } D2=SPECIALITY ={计算机专业,信息专业} D3=POSTGRADUATE={李勇,刘晨,王敏} 则D1,D2,D3的笛卡尔积为: D1×D2×D3 =
{(张清玫,计算机专业,李勇), (张清玫,计算机专业,刘晨), (张清玫,计算机专业,王敏), (张清玫,信息专业,李勇), ... (刘逸,信息专业,刘晨), (刘逸,信息专业,王敏) }
关系(续)
⑥ 分量必须取原子值
每一个分量都必须是不可分的数据项。 这是规范条件中最基本的一条
表 2.3 非规范化关系
SUPERVISOR 张清玫 刘逸 SPECIALITY 信息专业 信息专业 POSTGRADUATE PG1 PG2 李勇 王敏 刘晨
2.2.2 关系模式
1.什么是关系模式
2.定义关系模式 3. 关系模式与关系
关系(续)
例如,在表 2.1 的笛卡尔积中取出有实际意义的 元组来构造关系 假设:导师与专业:1:1,导师与研究生:1:n 于是:SAP关系可以包含三个元组
SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)