第4章 关系数据库规范化理论
数据库原理 第四章关系数据库理论期末习题与答案

1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()。
A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑正确答案:A2、下列关于规范化理论各项中正确的是()。
A.对于一个关系模式来说,规范化越深越好B.满足第二范式的关系模式一定满足第一范式C.第一范式要求---非主码属性完全函数依赖关键字D.规范化一般是通过分解各个关系模式实现的,但有时也有合并正确答案:B3、X→Y能从推理规则导出的充分必要条件是()。
A.B.C.D.正确答案:D4、两个函数依赖集F和G等价的充分必要条件是()。
A.B.C.D.5、设有关系模式R(A,B,C,D,E),函数依赖集F={A→B,B→C,C→D,D→A},ρ={AB,BC,AD}是R上的一个分解,那么分解ρ相对于F()。
A.既是无损连接分解,又是保持函数依赖的分解B.是无损连接分解,但不是保持函数依赖的分解C.不是无损连接分解,但是保持函数依赖的分解D.既不是无损连接分解,也不是保持函数依赖的分解正确答案:D6、关系模式中,满足2NF的模式()。
A.可能是1NFB.必定是1NFC.必定是3NFD.必定是BCNF正确答案:B7、不能使一个关系从第一范式转化为第二范式的条件是()。
A.每一个非主属性都完全函数依赖于主码B.每一个非主属性都部分函数依赖于主码C.关系中没有非主属性D.主码由一个属性构成正确答案:B二、判断题1、关系模式的分解是唯一的。
(错)2、一个关系模式属于BC范式,它一定属于第三范式。
(对)3、在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,称函数依赖X→Y为完全函数依赖。
(错)4、函数依赖集F={A→B,B→C,C→A,C→B,A→C,BC→A},它的最小函数依赖集Fmin={A→B,B→C,A→C}。
(错)三、填空题1、被函数依赖集F逻辑蕴涵的函数依赖的全体构成的集合,称为。
正确答案:函数依赖集F的闭包2、设有关系模式R(A,B,C,D,M,N),函数依赖集F={N→D,M→D,D→B,BC→D,DC→N},R的候选码为。
关系数据库规范化理论

关系数据库规范化理论数据库设计的问题可以简单地描述为:如果要把一组数据存储到数据库中,如何为这些数据设计一个合适的逻辑结构呢?在关系数据库系统中,就是如何设计一些关系表以及这些关系表的属性。
这就是本章主要介绍的关系模式的规范化设计问题;问题的提出假设有如下关系sS(sno,name,sex,cno,cname,degr) 其中,s表示学生表,对应的各个属性依次为学号、姓名、性别、课程号、课程名和成绩。
主码为(sno,cno);这个关系模式存在如下问题:(1)数据冗余当一个学生选修多门课程就会出现数据冗余。
例如:可能存在这样的记录(s0102,’王华’,’男’,c108,’c语言’,84),(s0102,’王华’,’男’,c206,’数据库原理与应用’,92)和(s0108,’王丽’,’女’,c206,’数据库原理与应用’,96),这样导致name、sex和cname属性多次重复存储。
(2)不一致性由于数据存储冗余,当更新某些数据项时,就有可能一部分字段修改了,而另一部分字段未修改,造成存储数据的不一致性。
例如:可能存在这样记录:(s0102,’王华’,’男’,c108,’c语言’,84),(s0108,’王丽’,’女’,c206,’数据库原理与应用’,92),这就是数据不一致性;(3)插入异常如果某个学生未选修课程,则其no、name 和sex属性值无法插入,因为cno为空,关系数据模式规定主码不能为空或部分为空,这便是插入异常。
例如,有一个学号为s0110的新生“陈强”,由于尚未选课,不能插入到关系s中,无法存放该学生的基本信息。
(4)删除异常当要删除所有学生成绩时,所有no、name和sex属性也都删除了,这便是删除异常。
例如,关系s中只有一条学号为s0105的学生记录:(s0105,’王华’,’男’,c018,’c语言’,84),现在需要将其删除,在该记录删除后,学号为s0105的学生“王华”的基本信息也被删除了,而没有其他地方存放该学生的基本信息。
关系数据库的规范化理论与数据库设计

关系数据库的规范化理论与数据库设计在当今数字化的时代,数据成为了企业和组织的重要资产,而关系数据库作为存储和管理数据的重要手段,其设计的合理性直接影响着数据的质量、完整性和可用性。
关系数据库的规范化理论是指导数据库设计的重要原则,它能够帮助我们避免数据冗余、更新异常等问题,从而提高数据库的性能和可靠性。
首先,我们来了解一下关系数据库的基本概念。
关系数据库是由一组二维表组成的,每张表都有一个唯一的表名,表中的每一行称为一个元组,代表一个实体;每一列称为一个属性,代表实体的一个特征。
通过在不同的表之间建立关联,我们可以实现数据的查询和操作。
那么,什么是规范化理论呢?规范化理论是一种用于设计关系数据库的方法和原则,其目的是通过对关系模式进行分解和优化,消除数据冗余和更新异常,确保数据的一致性和完整性。
规范化理论主要包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。
第一范式要求表中的每个属性都是不可再分的原子值。
例如,如果有一个“联系人信息”表,其中包含“地址”这个属性,如果地址又分为“省”“市”“区”“详细地址”等子属性,那么就不满足第一范式,需要将其拆分成多个属性。
第二范式要求在满足第一范式的基础上,每个非主属性都完全依赖于主键。
举个例子,如果有一个“订单”表,主键是“订单号”,而“客户姓名”和“客户地址”等非主属性只依赖于“客户编号”,而不是“订单号”,那么就不满足第二范式,需要将其拆分成两个表,一个是“订单”表,一个是“客户”表。
第三范式要求在满足第二范式的基础上,每个非主属性都不传递依赖于主键。
比如说,有一个“员工”表,主键是“员工编号”,“部门名称”依赖于“部门编号”,而“部门编号”又依赖于“员工编号”,这就不满足第三范式,需要将“部门名称”这个属性移到“部门”表中。
规范化理论在数据库设计中具有重要的意义。
通过规范化设计,可以减少数据冗余,节省存储空间。
想象一下,如果一个客户的信息在多个表中重复存储,不仅浪费空间,而且当客户信息发生变化时,需要在多个地方进行更新,容易导致数据不一致。
关系数据库规范化理论

规范化可以消除数据冗余,确保每个数据只在数据库中存储一次,从而提高数据的一致性。
第一范式 (1NF)
表结构
第一范式要求每个数据表都应具有原子性,即每 个表中的列不能再进一步分解。
主键
每个表必须具有一个唯一标识记录的主键,用于 保证数据的唯一性和关联性。
第二范式 (2NF)
1 函数依赖
数据表中出现函数依赖时,就需要进行第二范式的规范化。避免冗余数据。
关系数据库规范化理论
规范化是设计关系数据库中的一项重要理论,它能使数据存储结构更加合理、 高效。通过划分数据表,规范化能够消除数据冗余、提高数据一致性和查询 性能。
规范化定义
目的明确
规范化通过一定的规则将一个大的数据表拆分成多个小的数据表,以实现数据的高内聚和低 耦合。
数据准确性
规范化能确保数据的准确性,因为数据被划分为更小的范围,每个数据表只存储特定类型的 数据。
3 学生管理系统
拆分学生、课程、成绩等信息,确保学生信息的一致性和教务管理的高效性。
规范化的局限性及未来研究方向
局限性
规范化可能导致表结构复杂,加重查询和维护 的工作量。某些情况下,冗余数据可能是必要 的。
未Hale Waihona Puke 研究方向未来的研究可以探索如何在规范化的基础上平 衡数据一致性和查询性能,以及结合其他技术 实现更灵活的数据存储。
优点 数据一致性提高 数据冗余减少 数据更新更容易
缺点 可能会导致过度分解数据表,增加查询复杂性 可能引起频繁的表连接操作,影响查询性能 增加了设计和维护的复杂性
规范化的应用举例
1 在线购物系统
将用户、订单、商品等信息拆分为多个表,确保数据的一致性和查询效率。
数据库课件第4章关系数据库(RDB)规范化设计理论

3. 完全函数依赖与部分函数依赖
完全函数依赖: 在关系模式R(U)中,如果X→Y,并且对于X的任何一 个真子集X′,都有X′ Y,则称Y完全函数依赖于X, 记作X f Y。 部分函数依赖: 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依 p Y。 赖于X,记作X
例8: 学生(学号,姓名,所在系,系主任姓名,课程号,成绩) 学生关系模式存在的部分函数依赖: p (学号,课程号) 姓名 p 所在系 (学号,课程号) p (学号,课程号) 系主任姓名
教师姓 名
李林 78号
住址
课程号
C1
课程名
N1
李林
李林 汪佳 吴仪
78号
78号 59号 79号
C2
C3 C4 C5
N2
N3 N4 N5
师帆
76号
C6
N6
⑷当执行数据插入时,DB中的数据不能产生插入 异常现象 所谓“插入异常”是指希望插入的信息由于不 能满足数据完整性的某种要求而不能正常地被 插入到DB中的异常问题。 比如:上例中插入一个尚未安排授课的新进教师 信息. 原因: 因多种信息混合放在一个表中,可能造成因一 种信息被捆绑在其他信息上而产生的信息之间 相互依附存储的问题,使得信息不能独立插入。
第4章
关系数据库(RDB)规范化理论
4.1 关系模式规范化的必要性 4.2 数值依赖 4.3 范式与规范化 、关系分解原则
RDB规范化理论的目的是要设计“好的”RDB模式。要设计 好的关系模式,必须是关系满足一定的约束条件,此约束 形成了规范。 范式(Normal Form):衡量DB规范的层次或深度,DB规范化 层次由范式来决定。简记作NF. 根据关系模式满足的不同性质和规范化的程度,将关系模 式分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、 BC范式、第四范式(4NF)、第五范式(5NF),范式越高规范 化程度越高。 规范化:低级关系模式通过模式分解转换为若干高级范式 的关系模式集合的过程。 规范化是在RDB中减少数据冗余的过程。
关系的范式习题(含答案解析)

第4章 关系数据库的规范化理论
1
[例]假设某商业集团数据库中有一关系模式R如下: R(商店编号、商品编号、商品库存数量、部门编号、部门负 责人) 如果规定: 每个商店的每种商品只在该商店的一个部门销售。 每个商店的每个部门只有一个部分负责人 每个商店的每种商品只有一个库存数量。 请回答以下问题: (1) 根据上述规定,写出关系模式R的基本函数依赖。 (2) 找出关系模式R的候选码。 (3) 关系模式R最高已经达到第几范式?为什么? (4) 如果R不属于3NF,请将R分解成3NF。
第4章 关系数据库的规范化理论
2
[解答] (1) R(商店编号,商品编号,商品库存数量,部门编号, 部门负责人) 每个商店的每种商品只在该商店的一个部门销售 (商店编号,商品编号)部门编号 每个商店的每个部门只有一个部门负责人 (商店编号,部门编号)部门负责人 每个商店的每种商品只有一个库存数量 (商店编号,商店编号)商品库存数量
第 关系数据库的规范化理论
9
(3)分解为两个关系,使之达到3NF; 职工(职工号,职工名,年龄,性别,部门号) 部门(部门号,部门名称) (4)分解后的关系可以避免上述操作异常问题。 当增加一个新部门,而该部门还没有员工时,仍然 可以向部门关系中加入该部门信息,从而解决了 插入异常问题。 当某部门只有一名员工,删除该员工时,直接删除 职工关系中的该行信息即可。 不再会把该部门的 信息也删除,从而解决了删除异常的问题。
第4章 关系数据库的规范化理论
6
[例]设有如下所示的关系R 职工号 E1 E2 E3 职工名 年龄 万千里 20 于得水 25 余乐 38 性别 女 男 男 部门号 部门名 D3 D1 D3 开发部 财务部 开发部
E4
第4章 关系数据库理论1

成员;
若X(X∈R)是L类属性,且X+包含了R的全部属性,
则X必为R的唯一候选键;
若X(X∈R)是R类属性,则X不在任何候选键中; 若X(X∈R)是N类属性,则X包含在R的任一候选键
中;
若X(X∈R)是R的N类和L类属性组成的属性集,且
} while (result有所改变) ;
4.2.7 候选键的求解理论和算法
关键码的定义
定义4.7 设关系模式R的属性集是U,X是U的一
个子集,F是在R上成立的一个函数依赖集。
如果
X→U 在R上成立(即X→U在F+中),那么称X 是R的一个超键。 如果 X→U 在R上成立,但对X的任一真子集X'都有 f X'→U不成立(即X'→U不在F+中,或者X→U),那么 称X是R上的一个候选键。
SNo 决定函数(SN,Age,Dept) (SN,Age,Dept)函数依赖于 SNo
定义4.1 设关系模式R(U,F),U是属性全集,F是 U上的函数依赖集,X和Y是U的子集,如果对于R(U) 的仸意一个可能的关系r,对于X的每一个具体值, Y都有唯一的具体值与之对应,则称X决定函数Y, 或Y函数依赖于X,记作X→Y。我们称X为决定因素, Y为依赖因素。当Y不函数依赖于X时,记作:X→Y。 当X→Y且Y→X时,则记作:X Y。
SN Age Dept MN
SNO
Score
f
CNO
P
P
图4.4 SCD中的函数依赖关系
由此可见,在SCD中,既存在完全函数依赖,又存在部 分函数依赖和传递函数依赖。
4.4.2 第二范式
第4章+关系规范化理论 (数据库原理及应用) PPT

100101
姜珊
女
信电学院 C150101 数据结构
100101
姜珊
女
信电学院 C150103 数据库
120102
陈默
女
管理学院 C150102 操作系统
120102
陈默
女
管理学院 C150103 数据库
130103
孙浩
男
外语学院 C150100 计算机基础
Score 78
70 85 68 82 72
模式分解后,消除了原关系S中的部分函数依赖,即S1、 S2、S3 3个关系模式都不存在部分函数依赖,S1、S2、S3 都属于2NF。
PNO,PN,COLOR,PRICE,SNO商店号, SN商店名称,CITY所在城市, QTY销售 商品数量
❖(SNO,SN,CITY,PNO,PN,COLOR, PRICE,QTY)
(1)如果X→Y,且YX,则称X→Y是平凡的函数依赖。
YX
(2)如果X→Y,但
,则称X→Y是非平凡的函数依赖。
(3)如果X→Y,则称X为决定因素(Determinant),称Y
为依赖因素(Dependent)。
(4)如果X→Y且Y→X,则记作X←→→Y。
(5)如果Y不函数依赖于X,则记作X Y 。
4.3.2 第二范式(2NF)
定义4.5:如果关系模式R∈1NF,且每个非主属性 都完全函数依赖于主键,则称R属于第二范式,记为 R∈2NF。
由定义可知,如果某个1NF的关系的主键只由一个属 性组成或关系的全体属性均为主属性,那么这个关系就是 2NF。如果主键是由多个属性列共同构成的复合主键,并 且存在非主属性对主属性的部分函数依赖,则这个关系就 不是2NF。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
已知R( XYWZ ), F {W Y , Y W , X WY , Z WY , XZ W }, 求F ' 和所有的候选码 F ' {W Y , Y W , X Y , Z W }, 唯一的候选码为ZX
Z X
W Y
已知R( SDBIOQ ), F {S D, I B, B O, O Q, Q I }, 求F ' 和所有的候选码
说明:如果X+F中含有Y,则F逻辑蕴含XY
引理2:设F为属性集U上的一组函数依赖, X,YU,X Y能根据Armstrong公理导出的充分 必要条件是Y X+F
也是用于判定XY能否由F根据Armstrong公理导出的算法
Armstrong公理系统
Armstrong公理系统
A1自反律: 若Y X U , 则X Y为F所蕴含 A2增广律: 若X Y为F所蕴含, 且Z U , 则XZ YZ为F所蕴含
2016/1/10
关系数据库规范化理论
要点
规范化问题的提出
函数依赖 关系模式的分解 关系模式的范式
4.1 规范化问题的提出
问题提出:
针对一个具体问题,如何构造合适的(更好
的)数据模式,即如何更好地设计数据的逻 辑结构?
关系数据理论的研究背景
关系模型建立在严格的数据理论基础上,并
可向别的数据模型转换,因此常以关系模型 为背景来讨论这个问题
原因:数据依赖存在一些不合适的性质,需寻找更好的模 式,如 S(SNO, SDEPT, SNO SDEPT ) SG(SNO, CNAME, G, (SNO, CNAME ) G ) DEPT(SDEPT, MN,
SDEPT MN )
4.2 函数依赖
定义1
设R(U)是属性集U上的关系模式。X,Y是U的子集。若
(1) 将R所有属性分为L,R,N,LR四类,并令X代表L,N两类, 令Y代表LR类 (2) 求X+,若X+包含R全部属性,则X即为R的唯一候选码, 结束,否则转下一步 (3) 在Y中取一属性A,求(XA)+,若它包含R的全部属性,则 转下一步,否则换一个属性重试,直至试完所有Y中的 属性 (4) 若已找出所有候选码,则结束,否则在Y中依次取两个、 三个、…,求它们的属性闭包,直至其闭包包含R的全 部属性
对于R(U)的任意一个可能的关系r,r中不可能存在两 个元组在X上的属性值相等,而在Y上的属性值不等, 则称X函数确定Y或Y函数依赖于X,记作 X Y
术语和记号
X Y ,但 Y X X Y ,但 Y X 若 X Y 若 X Y
,则称 X Y 是非平凡的函数依赖 ,则称 X Y 是平凡的函数依赖
N类:在函数依赖的两边均未出现的属性
LR类:出现在函数依赖的两边的属性
函数依赖图FDG
用有向图表示的函数依赖,如
X
Y
即X Y
快速求解候选码的充分条件
对于给定的关系模式R及其函数依赖集F
如果X是L或N类属性,则X必为R的任一候选
码的成员
如果X是R类属性,则X必不在任何候选码中 如果X是L和N类组成的属性组,且X+包含了
已知R ( A, B, C , D, E , G ), F { AB C , D EG , C A, BE C , BC D, CG BD , ACD B, CE AG}, 求F的所有候选码
根据已经求得的 F ' { AB C , D E , D G , C A, BE C , BC D, CG D, ACD B, CE G}可知 没有L和N类属性,故该算法不能 使用,需要其他解法。
X ( 0) AB, X (1) AB CD, X ( 2) ABCD EB 故( AB ) F ABCDE
例2
已知R( A, B, C , D, E , G ), F { AB C , D EG , C A, BE C , BC D, CG BD , ACD B, CE AG}, 求( BD ) F
F' F, 候选码为SI , SB, SO, SQ
S I
D B O Q
已知R( IBOQSD ), F {I B, B O, I Q, S D}, 求F ' 和所有的候选码
F' F, 候选码为IS
I
B Q
O
S
D
算法:对左边为多属性的函数依赖集 求所有候选码
• 多属性下求解候选码的充分条件
背景知识
数据模式(schema)
数据库中全体数据的逻辑结构和特征描述,
如数据记录的构成,数据间的联系,安全性、 完整性要求等。常以某一种数据模型为基础
关系模型的形式化定义:R(U,D,dom,F), 本章简化为R(U, F) 关系模型R的一个关系r:U上的一个关系 r满足F
一组 数据 依赖 属性 组
A3传递律: 若X Y及Y Z为F所蕴含, 则X Z为F所蕴含
Armstrong公理系统的推理规则
合并规则: 分解规则:
由X Y,X Z , 有X YZ 由X Y及Z Y , 有X Z
伪传递规则: 由X Y,WY Z , 有XW Z
引理5.1 (由合并规则和分解规则可得)
定义
如果G+=F+,就说函数依赖集F覆盖G,或F 与G等价
引理3:
用于判定F与G是否等价的算法
F G 的充分必要条件是F G , G F
若要判定F G , 只需逐一对F中的函数依赖X Y ,
考察Y是否属于X G
定义
如果函数依赖集F满足下列条件,则称F为一个极小函数依 赖集,或称最小依赖集
U 则K为
F
R的候选码(Candidate Key)。
若候选码多于一个,则选定其中的一个为主键
(Primary Key)
相关术语
包含在任何一个候选码中的属性,叫做主属性 不包含在任何码中的属性,叫做非主属性 整个属性组是码,称为全码
求解关系模式的候选码
属性分类
L类:只出现在函数依赖的左边的属性 R类:只出现在函数依赖的右边的属性
F {SNO SDEPT , SDEPT MN , (SNO, CNAME ) G}
该模式存在的问题?怎么改善这个模式?
问题和改进
MN SDEPT SNO CNAME
G
该模式存在的问题
插入异常:一个系无学生或未安排课程时,无法存入系与负责人 删除异常:删除一个系的所有学生信息时,系与负责人也丢失 冗余太大:负责人姓名重复存入 更新异常:当某系负责人更换时,须更新该系所有学生信息中的 信息,更新不完全时,易造成数据不一致
全部属性,则X是R的唯一候选码
算法:对左边为单属性的函数依赖集求所 有候选码
• 单属性下求解候选码的充要条件
(1) 求F的最小依赖集F’ (2) 作出函数依赖图FDG (3) 从FDG图中找出无入边的属性集X (4) 察看FDG图中有无回路,若无,则输出X并结 束,否则 进行下一步 (5) 从各独立回路中各取一个结点的属性与X组成一个候选 码,重复取得所有可能的组合,即R的全部候选码
定义:逻辑蕴涵
对于满足一组函数依赖F的关系模式R<U, F>,
其任何一个关系r,若函数依赖XY都成立, 则称F逻辑蕴含X Y
Armstrong公理系统是函数依赖的一个有 效而完备的公理系统
可用于从一组函数依赖F求得蕴含(导出)的函
数依赖 可用于求得关系模式的码
定义:闭包
或导出 在关系模式R<U, F>中为F所逻辑蕴含的函数依赖的全 体叫做F的闭包,记为F+ 怎样计算F+? Armstrong 公理系统的有效性 怎样判断一个函数依赖一定在闭包中? 由F出发根据Armstrong公理导出的每一个函数依赖 一定在F+
Y Z , X Y ,( Y X ) ,Y X ,
则称Z对X传递函数依赖,记作 X Z
传递
算法:求属性集X关于函数依赖集F的闭包X+F
(1)令X ( 0 ) X , i 0 (2)求B, 这里B { A | (V )(W )(V W F V X (i ) A W )}, 即在F中寻找尚未用过的左边是X (i )子集的函数依赖V W , 并 找出W中未出现过的属性集B (3) X (i 1) B X (i ) (4)判断X (i 1) X (i )吗?
X Y
,则X叫做决定因素
, Y X ,则记作
若Y不函数依赖于X,则记作 X Y
对函数依赖的说明
换句话说:任何时候若某一关系中的两个元组中的X属 性组的值相等,则元组中对应的属性组Y的值也相等, 类似于函数概念,Y = f(X) 需要指出的是:关系R中,如果属性组X是一个候选码 或码,则属性组Y一定函数依赖于X(这与候选码的定 义一致) 事实上:如果关系R上有函数依赖XY,而属性X不是 一个候选码,则R中可能存在一些数据冗余 例如:R(Sno, Sdept, MN, Cname, Grade)中有函数依赖 Sdept->MN,而Sdept并不是候选码,表中数据有大量 冗余出现
(5)若相等或X (i ) U,则X (i )就是X F , 算法终止
(6)若否,则i i 1,返回第(2)步
例1:已知R U , F ,U { A, B, C , D, E}, F { AB C , B D, C E , EC B, AC B}, 求( AB) F
X A1 A2 ... AK 成立的充分必要条件是 X Ai 成立(i 1,2,...k )