关系数据库设计理论PPT教学课件
合集下载
第5章 关系数据库设计PPT教学课件
• 对于例5-1,分解为三个新的关系模式:
学生-系(学号,姓名,系名) 学生成绩(学号,课程号,成绩)
系-系主任(系名,系主任名)
2020/12/11
5
• 那么如何判断分解后的三个关系模式是否是 “好”模式呢?
• 这就需要从理论上来解决这个关系数据库的 逻辑设计问题。
• 这个理论就是关系规范化理论,通过分解关 系模式来消除其中不合适的数据依赖,以解 决插入异常、删除异常、更新异常和数据冗 余问题。
• 关系数据库设计需要找到一个“好”的 关系模式,避免数据冗余、避免数据更 新时的各种异常。
2020/12/11
2
5.1 关系数据库设计中出现的问题
【例5-1】试分析以下关系模式是否存在问题。
学生信息(学号,姓名,系名,系主任名, 课程号,成绩),
该关系模式包含如下语义:书71页
通过分析,确定主键为(学号,课程号),但 这是一个“不好”的关系模式。该关系模式主 要存在以下问题:
2020/12/11
14
5.3关系模式的规范化
1、第一范式 定义8 如果一个关系模式R的所有属性都是不
可分的基本数据项,则R∈1NF。
2020/12/11
15
2、第二范式
定义11 如果R∈1NF,且每一个非主属性完全 函数依赖于候选码,则R∈2NF。
• 由定义可以看出2NF在1NF基础上消除了非主 属性对候选码的部分函数依赖。
• 因此,关系模式学生-系不属于第三范式。将
其投影分解,将传递依赖的属性分离出来。分 解为:
学生(学号,姓名,系名)
系(系名,系主任名)
2020/12/11
19
5.4 数据库设计过程
• 数据库设计是软件工程的一个部分,主 要包括6个阶段:需求分析阶段、概念 结构设计阶段、逻辑结构设计阶段、数 据库物理设计阶段、数据库实施阶段、 数据库运行和维护阶段。
学生-系(学号,姓名,系名) 学生成绩(学号,课程号,成绩)
系-系主任(系名,系主任名)
2020/12/11
5
• 那么如何判断分解后的三个关系模式是否是 “好”模式呢?
• 这就需要从理论上来解决这个关系数据库的 逻辑设计问题。
• 这个理论就是关系规范化理论,通过分解关 系模式来消除其中不合适的数据依赖,以解 决插入异常、删除异常、更新异常和数据冗 余问题。
• 关系数据库设计需要找到一个“好”的 关系模式,避免数据冗余、避免数据更 新时的各种异常。
2020/12/11
2
5.1 关系数据库设计中出现的问题
【例5-1】试分析以下关系模式是否存在问题。
学生信息(学号,姓名,系名,系主任名, 课程号,成绩),
该关系模式包含如下语义:书71页
通过分析,确定主键为(学号,课程号),但 这是一个“不好”的关系模式。该关系模式主 要存在以下问题:
2020/12/11
14
5.3关系模式的规范化
1、第一范式 定义8 如果一个关系模式R的所有属性都是不
可分的基本数据项,则R∈1NF。
2020/12/11
15
2、第二范式
定义11 如果R∈1NF,且每一个非主属性完全 函数依赖于候选码,则R∈2NF。
• 由定义可以看出2NF在1NF基础上消除了非主 属性对候选码的部分函数依赖。
• 因此,关系模式学生-系不属于第三范式。将
其投影分解,将传递依赖的属性分离出来。分 解为:
学生(学号,姓名,系名)
系(系名,系主任名)
2020/12/11
19
5.4 数据库设计过程
• 数据库设计是软件工程的一个部分,主 要包括6个阶段:需求分析阶段、概念 结构设计阶段、逻辑结构设计阶段、数 据库物理设计阶段、数据库实施阶段、 数据库运行和维护阶段。
第2章关系数据库设计理论PPT课件
R ABC 123 456 789
S ABC 123 258 704
T ABC 456 789
3、交运算(Intersection) 设有关系R和S,它们具有相同的关系模式,
并且对应属性的作用域相同,R与S的交运算结 果生成一个新的关系,由既属于R同时也属于S 的元组组成。记作:
R∩S={t|t∈R∧t∈S}
▲关系操作集合 ➢选择、投影、连接 ➢并、差、交、除 ➢插入、删除、更新、查询
▲关系的完整性约束 ➢关系模型的数据完整性是指数据库中数据的
正确性、相容性和一致性。 ➢数据的完整性由完整性规则来维护,关系模
型的完整性规则是对关系的某种约束,也称为完 整性约束。
➢完整性性约束是为了保证数据库中数据的完 整性对关系模型提出的某种约束条件和规则。
▲关键字(码、键)
能唯一识别一个元组的属性或属性的组合称为 该关系的关键字(在数据表中即为字段或字段的 组合)。
关键字可分为:
➢候选关键字(候选码)
如果一个关系关系中的一个关键字移去了其中 任何一个属性,它就不再是这个关系的关键字, 则称这样的关键字为该关系的候选关键字。
➢主关键字(主码)
一个关系中往往有多个候选关键字,若选定其 中一个用来唯一标识该关系的元组,则称这个被 指定的关键字为该关系的主关键字。
Select gh , xm , zc From js (2)从kc表中查询kcdm和kcmc信息。
Select kcdm , kcmc From kc
3、笛卡尔积运算(Cartrdisn Product)
若需对两个结构不同的关系模式进行合并操作,
则可以用笛卡尔积表示。设关系R有n个属性、p行
R ABC 123 456 789
数据库课件 第六章 关系数据库设计理论优秀课件
注:主码和外码一起提供了表示关系间联系的手段。
6.3 规范化
• 范式是对关系数据库的规范化过程中为不同 程度的规范化要求设立的不同标准。
• 范式是符合某一种级别的关系模式的集合。
• 范式的种类: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 第五范式(5NF)
6.1 问题的提出
存在的问题: ⒈ 数据冗余太大
– 浪费大量的存储空间 ⒉ 更新异常
– 更新代价大,可能导致数据不一致 ⒊ 插入异常
– 该插的数据插不进去 ⒋ 删除异常
– 不该删除的数据不得不删,造成某些数据丢失
6.1 问题的提出
结论: • WAE关系模式不是一个好的模式。 • “好”的模式:不会发生插入异常、删除异常、 更新异常,数据冗余应尽可能少。
例:在关系wae中有:
仓库号→所在区域,所在区域→区域主管 可得到传递函数依赖:仓库号 t 区域主管
6.2.2 码
定义6.5 设K为R<U,F>中的属性或属性组合。若 K F U,则K称为R的一个侯选码。 若关系模式R有多个候选码,则选定其中的一 个做为主码。 • 主属性:包含在任何一个候选码中的属性
注:对任一关系模式,平凡函数依赖必然存在,则一般讨论非平凡函 数依赖。
6.2.1 函数依赖
• 完全函数依赖与部分函数依赖 定义6.3 在R(U)中,如果X→Y,并且对于X的任何 一个真子集X’ ,都有X’ → Y, 则称Y对X完全函数依 赖,记作X f Y。
若X→Y,但Y不完全函数依赖于X,则称Y对X 部分函数依赖,记作X P Y。
注:当确定函数依赖关系时,可从属性间的联系入手
6.2.1 函数依赖
6.3 规范化
• 范式是对关系数据库的规范化过程中为不同 程度的规范化要求设立的不同标准。
• 范式是符合某一种级别的关系模式的集合。
• 范式的种类: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 第五范式(5NF)
6.1 问题的提出
存在的问题: ⒈ 数据冗余太大
– 浪费大量的存储空间 ⒉ 更新异常
– 更新代价大,可能导致数据不一致 ⒊ 插入异常
– 该插的数据插不进去 ⒋ 删除异常
– 不该删除的数据不得不删,造成某些数据丢失
6.1 问题的提出
结论: • WAE关系模式不是一个好的模式。 • “好”的模式:不会发生插入异常、删除异常、 更新异常,数据冗余应尽可能少。
例:在关系wae中有:
仓库号→所在区域,所在区域→区域主管 可得到传递函数依赖:仓库号 t 区域主管
6.2.2 码
定义6.5 设K为R<U,F>中的属性或属性组合。若 K F U,则K称为R的一个侯选码。 若关系模式R有多个候选码,则选定其中的一 个做为主码。 • 主属性:包含在任何一个候选码中的属性
注:对任一关系模式,平凡函数依赖必然存在,则一般讨论非平凡函 数依赖。
6.2.1 函数依赖
• 完全函数依赖与部分函数依赖 定义6.3 在R(U)中,如果X→Y,并且对于X的任何 一个真子集X’ ,都有X’ → Y, 则称Y对X完全函数依 赖,记作X f Y。
若X→Y,但Y不完全函数依赖于X,则称Y对X 部分函数依赖,记作X P Y。
注:当确定函数依赖关系时,可从属性间的联系入手
6.2.1 函数依赖
关系数据理论PPT精品课件
数据的冗余度很大,浪费了存储空间。
2021/3/1
7
(2)插入异常
学号
姓名
年龄
部门 系主任 课程号 成绩
S1
赵亦
17
计算机 刘伟
C1
90
S1
赵亦
17
计算机 刘伟
C2
85
S2
钱尔
18
信息
王平
C5
57
S2
钱尔
18
信息
王平
C6
80
S2
钱尔
18
信息
王平
C7
70
S2
钱尔
18
信息
王平
C5
70
S3
孙珊
20
信息
王平
C1
0
S3
孙珊
20
信息
王平
C2
70
S3
孙珊
20
信息
王平
C4
85
S4
李思
19
自动化 刘伟
s5
刘一己
18
null
null
C1 null
? 93
null
在这个关系模式中,(学号,课程号)是主关键字。根据关 系的实体完整性约束,主关键字的值不能为空,而这时没有学 生,学号,课程号均无值,因此导致插入异常。
2021/3/1
2021/3/1
11
6.2 怎么选择
一个好的关系模式应该具备以下条件: ✓尽可能小的数据冗余 ✓没有插入异常 ✓没有删除异常 ✓没有更新异常
2021/3/1
12
案例分析
SCD (学号,姓名,年龄,部门,系主任,课程号,成绩)
数据库第四章 关系数据库设计理论PPT课件
影响数据库模式的主要是U和F,因此,关系简化三元 组为R(U,F)
4-
5
4.1 数据依赖
4.1.1 关系模式的形式化定义 4.1.2 函数依赖与存储异常 4.1.3 有关概念
4-
6
4.1.2 函数依赖与存储异常
数据依赖:通过一个关系中属性间值的相等与 否体现出来的数据间的相互关系的抽象,是数 据内在的性质,是语义的体现。
4-
20
4.2.1 1NF
例.SCL(Sno,Sdept,Sloc学生住处,Cno,Grade)假 设每个系学生住在同一地方.
该关系满足1NF
存在问题:
(1)插入异常 若要插入
3.插入异常:如一个系刚成立,尚无学生,则无法把系信息 存入
4.删除异常:如某系学生全毕业,学生全删,则系信息也丢 了.
鉴于以上种种,Student不是一个好的模式
以上四个问题称为存储异常
4-
9
4.1.2 函数依赖与存储异常
一个”好”的模式应当不会发生存储来自常:插入异常 更新异常 删除异常 数据冗余多
Y X,YZ, 则称Z对X传递函数依赖;
例:上例中SnoSdept SdeptMname 则 SnoMname
4-
15
4.1.3 有关概念
5.码(关键字) 定义:设K为R<U,F>中的属性或属性组合,若 K F U,则K为R的侯选码(Candidate key). 若
侯选码多于一个,则选定其中的一个为主码 (Primary key). 例:student中Sno F U(完全决定),则Sno为 主关键字
(Sno,Cname)Grade
4-
8
4.1.2 函数依赖与存储异常
4-
5
4.1 数据依赖
4.1.1 关系模式的形式化定义 4.1.2 函数依赖与存储异常 4.1.3 有关概念
4-
6
4.1.2 函数依赖与存储异常
数据依赖:通过一个关系中属性间值的相等与 否体现出来的数据间的相互关系的抽象,是数 据内在的性质,是语义的体现。
4-
20
4.2.1 1NF
例.SCL(Sno,Sdept,Sloc学生住处,Cno,Grade)假 设每个系学生住在同一地方.
该关系满足1NF
存在问题:
(1)插入异常 若要插入
3.插入异常:如一个系刚成立,尚无学生,则无法把系信息 存入
4.删除异常:如某系学生全毕业,学生全删,则系信息也丢 了.
鉴于以上种种,Student不是一个好的模式
以上四个问题称为存储异常
4-
9
4.1.2 函数依赖与存储异常
一个”好”的模式应当不会发生存储来自常:插入异常 更新异常 删除异常 数据冗余多
Y X,YZ, 则称Z对X传递函数依赖;
例:上例中SnoSdept SdeptMname 则 SnoMname
4-
15
4.1.3 有关概念
5.码(关键字) 定义:设K为R<U,F>中的属性或属性组合,若 K F U,则K为R的侯选码(Candidate key). 若
侯选码多于一个,则选定其中的一个为主码 (Primary key). 例:student中Sno F U(完全决定),则Sno为 主关键字
(Sno,Cname)Grade
4-
8
4.1.2 函数依赖与存储异常
第3章 关系数据库的基本理论PPT课件
31.10.2020
5
关系模式(4)
关系是一种规范化了的二维表格,具有如下性质: ➢ 属性值是原子的,不可分解。 ➢ 没有重复元组。 ➢ 没有行序。 ➢ 理论上没有列序,但一般使用时都有列序。
❖ 关键码和表之间的联系
超键:在一个关系中,能惟一标识元组的属性或属性集称为关系的超键。
候选键:如果一个属性集能惟一标识元组,且又不含有多余的属性,那 么这个属性集称为关系的候选键。
学生关系模式 S(SNO,SNAME,SEX,AGE,SDPET) 选修关系模式 SC( SNO,CNO,GRADE) 课程关系模式 C(CNO,CNAME,CDEPT,TNAME)
SNO CNO GRADE
学生关系实例如下表;选修关系实例如右表。 S1 C1
87
S1 C2
78
SNO SNAME SEX AGE SDEPT
主键:若一个关系中有多个候选键,则选其中的一个为关系的主键。
外键:若一个关系R中包含有另一个关系S的主键所对应的属性组F,则 称F为R的外键。并称关系S为参照关系,关系R为依赖关系。
31.10.2020
6
关系模式(5)
例如,学生关系和系部关系分别为: 学生(SNO,SNAME,SEX,AGE,SDNO) 系部(SDNO,SDNAME,CHAIR) 学生关系的主键是SNO,系部关系的主键为SDNO,在学生关系 中,SDNO是它的外键。更确切地说,SDNO是系部表的主键,将它 作为外键放在学生表中,实现两个表之间的联系。在关系数据库中, 表与表之间的联系就是通过公共属性实现的。我们约定,在主键的属 性下面加下划线,在外键的属性下面加波浪线。
GRADE 87 67 …
11
关系模式(10)
第3章关系数据库设计原理精品PPT课件
数据库管理系统
现实世界随着时间在不断地变化,因而在不同的时 刻,关系模式的关系也会有所变化。但是,现实世界的 许多已有事实限定了关系模式所有可能的关系必须满足 一定的完整性约束条件。
这些约束或者通过对属性取值范围的限定,或者通过 属性值间的相互关连(主要体现于值的相等与否)反映出 来。后者称为数据依赖,它是数据模式设计的关键,关 系模式应当刻划这些完整性约束条件。
数据的冗余度尽量低。 不出现插入、删除等操作异常; 能尽量如实反映现实世界的实际情况,而且又 易懂。 这就要求研究关系模式中各属性之间的依赖关 系,及其对关系模式性能的影响,探讨关系模式应 满足什么样的约束,这就是关系规范化的目的。
数பைடு நூலகம்库管理系统
关键字
学号 姓名 SNO sname
2001 李样
年龄 系 系主任 课程号
Cname)→Grade }
数据库管理系统
我们就得到了一个描述学校的数据库模式S〈U,F 〉:
U = { Sno,Sdept,Mname,Cname, Grade }
F = { Sno→Sdept,Sdept→Mname,(Sno ,Cname)→Grade }
数据库管理系统
3.2关系的规范化
设计一个的关系数据库,首先要定义一组关系, 这组关系定义的好,系统的性能就好,定义的差, 系统的性能就差。一般的设计原则是:
同样课程信息的操作也存在着插入异常、删除异常和数 据冗余。
数据库管理系统
上述问题出现的原因
上述问题的出现是因为在学生关系的属性之间存在
着数据依赖。
该关系的关键字是SNO(学号)+CNO(课程号)
属性dept(系)和mn(系主任)仅与SNO(学号)有关
数据库原理 第4章 关系数据库设计理论PPT课件
DEPT 计算机 计算机
外语 外语 外语
MN 张文斌 张文斌 刘伟华 刘伟华 刘伟华
CNO C1 C2 C5 C6 C7
SCORE 90 85 57 80
8
对于该学生-课程数据库,比较好的关系数据库模式可以是
: SNO SN AGE DEPT MN CNO SCORE
S1 赵红 20 计算机 张文斌 C1
90
S1 赵红 20 计算机 张文斌 C2
85
S2 王小明 17 外语 刘伟华 C5
57
S2 王小明 17 外语 刘伟华 C6
80
S2 王小明 17 外语 刘伟华 C7
S(SNO, SN, AGE, DEPT)
9
对于该学生-课程数据库,比较好的关系数据库模式可以是
: SNO SN AGE DEPT MN CNO SCORE
SNO S1 S1 S2 S2 S2
SN 赵红 赵红 王小明 王小明 王小明
AGE 20 20 17 17 17
DEPT 计算机 计算机
外语 外语 外语
MN 张文斌 张文斌 刘伟华 刘伟华 刘伟华
CNO C1 C2 C5 C6 C7
SCORE 90 85 57 80
7
举例:要求设计学生-课程数据库。不好的关系模式 SDC( SNO, SN, AGE, DEPT, MN, CNO, SCORE)。其中:
X → Y:X为决定因素,Y为依赖因素; X:Y=M:1 X → Y:Y不函数依赖于X,例如SNO → SCOXR:EY;=M:N X Y X:Y=1:1
12
关于函数依赖的几点说明: 平凡与非平凡的函数依赖: 平凡函数依赖:Y是X的子集,(SNO,CNO) →SNO; 若无特殊声明,讨论的都是非平凡依赖,(SNO,CNO) → SCORE; 函数依赖与1:1, 1:N, M:N之间的对应联系; 函数依赖是一种语义的要求,不能根据其形式化定义来 证明一个函数依赖是否成立; 函数依赖关系的存在与时间无关(不会因为某一时刻增 加、删除或更新了某个元组,就破坏或更改这种函数依 赖);
第七章关系数据库设计精品PPT课件
❖ 在bor_loan模式中,loan_number不是候选 码,loan的amount将会被重复。也就是说, 我们需要分解bor_loan
S.J.T.U.
更小的模式 (续…)
❖ 并不是所有的分解都是有益的,假定我们将 employee分解为:
▪ employee1 = (employee_id, employee_name) ▪ employee2 = (employee_name, telephone_number,
▪ 范例:customer_street customer_city
S.J.T.U.
子的 ▪ 这种做法并不好:使得解析信息的工作将由应用程序
完成,而不是数据库。
S.J.T.U.
目标:设计以下理论
❖ 判断一个关系R是否属于良好的范式 ❖ 关系R不属于良好范式的情况:将其分解为关系
集合{R1, R2, ..., Rn} :
▪ 其中每个关系均属于良好的范式 ▪ 分解是无损的
❖ 我们的理论基于:
❖ 无冗余
S.J.T.U.
更小的模式
❖ 假定我们开始得到的是bor_loan模式,我们应 如何将其分解为borrower和loan?
❖ 写一条规则“如果存在模式(loan_number, amount),则loan_number应该是候选码”
❖ 表示为函数依赖:
▪ loan_number amount
关系数据库设计
S.J.T.U.
关系数据库设计
❖ 好的关系设计的特点 ❖ 原子域和第一范式 ❖ 使用函数依赖的分解 ❖ 函数依赖理论 ❖ 分解的算法 ❖ 使用多值依赖的分解 ❖ 更多的范式 ❖ 数据库设计过程 ❖ 时态数据建模
S.J.T.U.
S.J.T.U.
更小的模式 (续…)
❖ 并不是所有的分解都是有益的,假定我们将 employee分解为:
▪ employee1 = (employee_id, employee_name) ▪ employee2 = (employee_name, telephone_number,
▪ 范例:customer_street customer_city
S.J.T.U.
子的 ▪ 这种做法并不好:使得解析信息的工作将由应用程序
完成,而不是数据库。
S.J.T.U.
目标:设计以下理论
❖ 判断一个关系R是否属于良好的范式 ❖ 关系R不属于良好范式的情况:将其分解为关系
集合{R1, R2, ..., Rn} :
▪ 其中每个关系均属于良好的范式 ▪ 分解是无损的
❖ 我们的理论基于:
❖ 无冗余
S.J.T.U.
更小的模式
❖ 假定我们开始得到的是bor_loan模式,我们应 如何将其分解为borrower和loan?
❖ 写一条规则“如果存在模式(loan_number, amount),则loan_number应该是候选码”
❖ 表示为函数依赖:
▪ loan_number amount
关系数据库设计
S.J.T.U.
关系数据库设计
❖ 好的关系设计的特点 ❖ 原子域和第一范式 ❖ 使用函数依赖的分解 ❖ 函数依赖理论 ❖ 分解的算法 ❖ 使用多值依赖的分解 ❖ 更多的范式 ❖ 数据库设计过程 ❖ 时态数据建模
S.J.T.U.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/12/09
3
2.1.2 关系模型 关系模型是用二维表格结构来表示实体及实体间
联系的模型。 关系模型由关系数据结构、关系操作集合和完整
性规则三部分组成。
关系模型的特点: (1) 关系必须规范化,指关系模型中的每一个关系 模式都必须满足一定的要求; (2) 模型概念单一; (3) 集合操作,操作对象和结果都是元组的集合, 即关系。
3. 集合的交运算 设有关系R、S(R、S具有相同的关系模式),二者的“交”运
算定义为: R∩S={ t|t ∈ R ∧ t ∈ S } 式中“∩”为交运算符,结果R∩S为一个新的与R、S同类的
关系,该关系是由属于R而且属于S的元组构成的集合,即两者所 有的相同的那些元组的集合。
2020/12/09
关系的描述称为关系模式(relation schema)。它可以形式化 地表示为:
R(U,D,Dom,F) 其中R为关系名,U为组成关系的属性名集合,D为属性组 U中属性所来自的域,Dom为属性向域的映像集合,F为属性 间数据依赖关系的集合。
2020/12/09
7
2.3 关系代数
关系数据操作就是关系的运算。关系的基本运算有两类:传 统的集合运算(并、交、差等)和专门的关系运算(选择、投影、联 接),关系数据库进行数据查询时有时需要几个基本运算的组合。
2020/12/09
4
2.2 关系数据结构及形式化表示
在关系模型中,无论是实体还是实体之间的联系都由单一 的结构类型关系来表示。
2.2.1 关系数据结构
(1) 笛卡儿积(Cartesian Product) 设有一组域D1,D2,…,Dn,这些域可以部分或者全部相同。 域D1,D2,…,Dn的笛卡儿积定义为如下集合: D1×D2 × … × Dn={(d1,d2, …,dn)|di∈Di,i=1,2, …,n} 其中每一个元素(d1,d2, …,dn)称为一个n元组(或简称元组),元素 中的每一个值称为一个分量。
在关系模型中,对关系作了下列规范性限制: ①关系中不允许出现相同的元组; ②不考虑元组之间的顺序,即没有元组次序的限制; ③关系中每一个属性值都是不可分解的; ④关系中属性顺序可以任意交换; ⑤同一属性下的各个属性的取值必须来自同一个域,是同
一类型的数据; ⑥关系中各个属性必须有不同的名字。
2020/12/09
第二章 关系数据库设计理论
2020/12/09
1
本章要点
1、关系模型的概念与分类 2、关系数据结构及定义 3、关系代数的基本运算 4、关系完整性 5、关系数据库设计与设计规范
2020/12/09
2
2.1 关系模型
2.1ห้องสมุดไป่ตู้1 关系的一些术语
(1) 关系:在关系模型中,一个关系就是一张二维表。 (2) 属性:表中的列称为属性,每一个列有一个属性名。 (3) 元组:表中的行称为元组。 (4) 域:具有相同数据类型的值的集合称为域(Domain),域是 属性的取值范围。 (5) 候选码:如果关系中的某个属性或属性组能唯一地标识一 个元组,称该属性或属性组为候选码。 (6) 主码(主键):若一个关系中有多个候选码,则选定其中一 个为主码(主键)。主码的属性称为主属性。 (7) 外码(外键):设F是基本关系R的一个或一组属性,但不 是R的候选码,如果F与基本关系S的主码Ks相对应,则称F为 基本关系R的外码。
人们通常感兴趣的是笛卡儿积的某些子集,笛卡儿积的子 集就是一个关系。
2020/12/09
5
(2) 关系(Relation) 笛卡儿积D1×D2 × … × Dn 的子集R称为在域D1,D2,…,
Dn上的一个关系(Relation),通常表示为: R(D1,D2,…,Dn)
其中,R表示关系的名称,n称为关系R的元数或度数 (Degree),而关系R中所含有的元组个数称为R的基数(Cardinal Number)。
i1,i2,...in(R)=<,,…,>,那么关系R在其分量,,…,
(n≤k, i1,i2, …,in为1到k之间互不相同的整数)上的投影定义 为: ={ t|t=<,,…,><,,…,>R }
2020/12/09
10
系模型中的主要概念有: 关系、属性、元组、域和关键字等。
与层次和网状模型相比,关系模型有下列优点: (1) 数据结构单一,不管实体还是实体间的联系都用
9
2.3.2 专门的关系运算
学习专门的关系运算有助于查询的设计。 1. 选择运算
选取关系中满足一定条件的元组。 选择运算的形式定义为:设有关系R,选择条件(逻辑表达式) 用F表示,则从关系R中选择出满足条件F的元组定义为:
F (R) ={ t|t∈R∧F(t)=true } 2. 投影运算
选取关系中的某些列,并且将这些列组成一个新的关系。 投影运算的形式定义为:设有关系R,其元组变量为
的与R、S同类的关系,该关系是由属于R和S的元组构成的集合。 例如,合并两个相同结构的数据表,就是两个关系的并集。
2020/12/09
8
2. 集合的差运算 设有关系R、S(R、S具有相同的关系模式),二者的“差”运
算定义为:
R-S={ t|t ∈ R∧t S }
式中“-”为差运算符,t为元组变量,结果R-S为一个新的与R、 S同类的关系,该关系是由属于R但不属于S的元组构成的集合,即 在R中减去与S中元组相同的那些元组。
6
2.2.2 关系模式
关系模式是对关系的描述。关系是元组的集合,也就是笛
卡儿积的一个子集。因此关系模式必须指出这个元组集合的结
构,即它由哪些属性构成,这些属性来自哪些域,以及属性和 域之间的映像关系。
其次,一个关系通常是由赋予它的元组语义来确定的,元
组语义实质上是一个n目谓词(n是属性集中属性的个数)。凡使 该n目谓词为真的笛卡儿积中的元素(或者说凡符合元组语义的 元素)的全体就构成了该关系模式的关系。
2.3.1 集合运算
并、差、交是集合的传统运算形式,进行集合运算的关系R 与S必须具有相同的关系模式,即R和S必须具有相同的属性集。
1. 集合的并运算 设有关系R、S(R、S具有相同的关系模式),二者的“并”运
算定义为:R∪S={t|t∈R∨t ∈ S} 式中“∪”为并运算符,t为元组变量,结果R∪S为一个新