第5章 关系模式的规范化设计
数据库技术及应用课程第5章教案
思考与创新
(1)结合大作业的逻辑设计部分,判断自己设计的关系模式是否满足规范化理论要求。
(2)如果不满足,要求设计出规范化理论要求的关系模式。
课后习题
讨论:选出两个数据库设计大作业(优劣对比),并分别对其关系模式设计部分进行模式求精。
教学小结
(1)一个“好”的关系模式应该是:
数据冗余应尽可能少。
不发生插入异常、删除异常、更新异常等问题。
模式分解时,分解后的模式应具有无损连接和保持依赖等特性。
(2)函数依赖是关系模式中属性之间存在的一种约束关系。
思考与创新
(1)结合大作业的逻辑设计部分,判断自己设计的关系模式是否存在大量数据冗余问题和分解不正确而带来的有损连接或不保持依赖关系的问题。
使学生会”用”数据库,具有较强的数据库设计、数据库系统管理和应用开发能力,能够灵活运用数据库技术解决实际应用问题,并能够成为数据库设计员。
教学内容
(1)规范化理论:1NF、2NF、BNCF范式、3NF基本概念。
(2)模式分解算法:BCNF分解算法和3NF分解算法。
(3)数据库模式求精:运用关系理论对已有关系模式进行结构调整、分解、合并和优化,以满足应用系统的功能及性能等需求。基于函数依赖理论的模式求精步骤为:①确定函数依赖;②确定模式所属范式;③分析是否满足应用需求;④模式分解;⑤模式合并。
第1讲问题及函数依赖理论
任课教师
刘爱红
单位
信息学院
上课地点
2501
教学目的
(1)掌握判断并设计一个好的关系模式的基本原则和方法。
(2)熟练掌握函数依赖理论。
数据库原理及应用第5章
五
表(a)
表(b)
章
关
系 数
A
B
C
D
A
B
C
D
据
• A →AB1在表(a)关B系1 上成立,C但1 A →B在D表1(b)关系上不A成1 立。 B1
C1
D1
库
的
A1
B1
C2
D2
A1
B2
C2
D2
规
A2
B2
C3
D3
A2
B2
C3
D3
范
化
A3
B2
C4
D4
D4
A3
B1
C4
理
论
14
函数依赖(续)
第
五
章
• 定义5.2
规
F
范
化
理
论
P
传递
17
函数依赖(续)
第
例: 在关系SC(Sno, Cno, Grade)中,
五
由于: Sno Grade, Cno Grade,
章
因此: (Sno, Cno) Grade
但:
F
关
(Sno, Cno) Sno, (Sno, Cno) Cno
系
数
例: 在关系Std(Sno, Sdept, Mname)中, 有:
五
章 • 练习:已知R(ABCD),F={B→C,D →A,BD →ABCD},求R的候选码。
B ABCD, D ABCD, BD ABCD
关
所以,R的候选码为BD
系 数 据 库
• 例: 全码
F
考虑关系模式R(P,W,A)
– 其中: P—演奏者, W—作品, A—听众
第5章-关系数据库规范化理论-复习题
对于某个床位在某个时间是由特定的住客入住的: (客 ,床 房 ,位 住 号 号 宿 ( 日 住 期 ,客 预 ) ,身 付 退份 款 房证 日
根据上述函数依赖,可以求得关系模式的候选键为: (客房号,床位号,住宿日期)
2021/5/23
7
关系模式收费中: 主属性:客房号,床位号,住宿日期 非主属性:住客身份证号,住客姓名,性别,地址,收费标准, 退房日期,预付款。 根据关系模式存在的函数依赖有非主属性收费标准为候选键部分 依赖关系,所以关系模式最高直达到第一范式。如何将关系模式 进行分解使其达到第二范式。 收费标准(客房号,床位号,收费标准) 住宿(客房号,床位号,住宿日期,住客身份证,住客姓名, 性别,地址,退房日期)
解:关系R存在的函数依赖有
(商店编号,商) 品 编 部号 门编号
(商店编号,部) 门 编 负号 责人
(商店编号,商) 品 编 数号 量
2021/5/23
4
利用函数依赖求候选键: L类属性:商店编号,商品编号;LR类:部门编号;R类:负责人 数量。而且(商店编号,商品编号)+=U,所以关系模式R的候 选键为(商店编号,商品编号)。 判断R属于第几范式: 非主属性为:部门编号,负责人,数量。它们对候选键都是完全函 数依赖关系,所以R是满足第二范式的。但是,
2021/5/23
3
3、假设某商业集团数据库有一关系模式R如下: R(商店编号,商品编号,数量,部门编号,负责人)
现规定:1、每个商店的每种商品只在一个部门销售。 2、每个商店的每个部门只有一个负责人。 3、每个商店的每种商品只有一个库存数量。
回答下列问题:1、写出R的基本函数依赖 2、找出关系模式R的候选键 3、关系模式R最高达到第几范式?为什么
大学计算机教程第六版 第5章数据库技术应用
3.连接运算(Join简记为JN)
连接是从关系R与S的笛卡尔积中,选取R的第i 个属性值和S的第j个属性值之间满足一定条件表达 式,构成关系子集。
关系R与T作θ连接。如表5.13和表5.14所示。
5.6.1 数据库设计理论的应用 数据库数据相关性称为数据依赖。数据依赖主
要分为内在关系的函数依赖(简记FD)和多值依赖 (简记MVD)。
把关系看成一个集合,集合运算如并、交、差、 笛卡尔积等运算,均可用到关系运算中。
设有三个关系实例R、S和T,如表5.6所示。
关系R和S的并是由属于R或S或同时属于R和S的 元组组成的集合,记为R∪S,如表5.7所示。
2. 差运算(Difference)
关系R和S的差是由属于R而不属于S的所有元组 组成的集合,记为R-S,如表5.8所示。
3. 交运算(Intersection)
关系R和S交是由同时属于R和S的元组组成的集 合,记为R∩S,如表5.9所示。
4. 笛卡尔积
关系R和S的笛卡尔积R×S的结果如表5.10所 示。
1.选择运算(Selection 简记为SL)
选择条件用F表示,在关系R中挑选满足条件F的 所有元组,组成一个新的关系,这个关系是关系R 的一个子集,记为:
设D1,D2,…Dn为n个集合,称D1×D2×…×Dn={(d1, d2, …dn)∈Di,(i=1,2, …n)}为集合D1,D2,…Dn 的笛卡尔积。
其中,Di(i=1,2,…n)可能有相同的,称它们为域, 域是值的集合。
笛卡尔积可表示为一个二维表。如果给出三个域:
D1={王欣,刘伟平} D2={张德君,李波} D3={网络技术应用,数据库原理} 则D1,D2,D3的笛卡尔积为D1×D2×D3={ (王欣,张德君,网络技术应用),(王欣,张德君,数据库原理), (王欣,李波,网络技术应用),(王欣,李波,数据库原理),(刘 伟平,张德君,网络技术应用),(刘伟平,张德君,数据库原理), (刘伟平,李波,网络技术应用),(刘伟平,李波,数据库原理)}
第5章 关系数据理论.ppt
一、数据依赖
1、属性间的联系:也是1:1,1:n,m:n三种
1:1联系:设A、B为某实体集中的两个属性的值集,如
如:车间--主任
果对于A中的任一值,B中至多有一个值与之 对应,且反之亦然。
1:n联系:设A、B为某实体集中的两个属性的值集,如
果对于A中的任一值,B中有多个值(包括0个)
与之对应;而对于B中的任一值,A中至多有
该关系的主键为? 工号 日期 该关系模式存在以下四个严重问题:
(1)数据冗余大 对同一个人来说,其姓名、工种、车间、车间主任等多次重复
…… ……
1001,05年08月,张三,车工,180,20%,金工车间,李四
1001,05年09月,张三,车工,180,15%,金工车间,李四
1001,05年10月,张三,车工,180,18%,金工车间,李四
本节首先用一个例子来说明对关系模式为什么要规范化,
不经过规范化会产生什么样的结果。
2020/2/8
数据库系统
3
第五章 关系数据理论
例:假设车间考核职工完成生产定额的关系模式如下: W(工号,日期,姓名,工种,定额,超额,车间,车间主任)
比如设某工号某年月超额完成定额的20%,其记录的内容为: (1001,05年11月,张三,车工,180,20%,金工车间,李四)
这就是数据库逻辑设计问题
网状、层次模型的数据库设计,主要凭设计者的经验直观 地选择和确定实体集、属性以及实体间的联系。哪些实体应该 合并或分解以及如何合并和分解、每个实体中应该包括哪些属 性为宜、属性间的联系如何确定和处理等一系列问题的解决是 没有什么固定规则和理论可循的。
2020/2/8
数据库系统
R <U,D,dom,F>
关系数据库设计理论
五、FD的推理规则
从已知的FD集推导未知的FD,可以使用的推导规则 (Armstrong) 设有关系模式R(U),X、Y、Z是U的子集: A1(自反性):如果 Y X ,则有 XY 在R上成立。 A2(增广性):如果 XY 在R上成立,那么有 XZYZ A3(传递性):如果 XY和 YZ在R上成立,则有 XZ
S# -> SNAME C# -> TNAME (S#,C#) ->GRADE
三、属性间的联系和函数依赖 属性间的联系有三种,但并不是每一种关系中都存在函数 依赖,设有属性集X、Y属于关系模式R,
如果X和Y之间是‘1-1’关系,则存在函数依赖:
X YY, X
如果X和Y之间是‘1-M’关系,则存在函数依赖:
第五章 关系数据库设计理论
5.1 问题的提出-什么是不好的数据库设计
实际问题,假定在设计数据库时出现如下的关系模式: Student(Sno, Sname, Dept,Cno, Grade) 学生(学号,姓名,院系,课程号,成绩)
Sno Sname Dept Cno Grade
1000 李平 计算机 001
FD的分类: 1、对于FD:XY ,如果 Y X ,则称为“平凡的FD” 2、对于FD:XY ,如果 YX ,则称为“非平凡的FD” 3、对于FD:XY ,如果 YXφ则为“完全非平凡的FD”
Armstrong的推论: 1、合并规则: 由 XYX,Z可以 得 YZ 到X 2、分解规则: 由 XYZ可以 得 YX, 到 ZX 3、伪传递规则:由 XYY,WZ则得 到 Z XW
86
1000 李平 计算机 002
97
1000 李平 计算机 003
83
1001 王莉 计算机 001
关系数据库规范化理论(05)
5.3 函数依赖
关系模式S(S# , SN , SD , DEAN , C# , G)
根据一般的事实,有: 一个系有若干学生,而一个学生只属于一个系;
一个系只有一名系主任;一个学生可以选修多门课 程,每门课程也可以由多个学生选修;每个学生的 每门课程都只有一个成绩。据此语义,可以得到一 组FD F
9
5.2 数据依赖
G
SNO
DN
CN
DM
关系的规范化理论就是用于改造关系模式,通过 分解关系模式来消除其中不合适的数据依赖,以 解决插入异常、删除异常、更新异常和数据冗余 问题。
10
5.3 函数依赖
函数依赖
设R(U)是属性集U上的关系模式,X , Y U, r是 R(U) 上的任意一个关系,如果成立
对t , s r,若t[X] = s[X],则t[Y] = s[Y] 那么称“X函数决定Y”,或“Y函数依赖于X”,记 作XY 称X为决定因素
如S# SN, (S#,C#) G
不存在t , s r,t[X] = s[X],但t[Y] ≠ s[Y]
11
5.3 函数依赖
A
B
C
D
a1
b1
c1
d1
a1
快速热身
关系模式R(A,B,C,D),码为AB,给出它的一个函数 依赖集,使得R属于2NF而不属于3NF
33
5.4 .4 BC范式(BCNF)
STC(S# , T# , C#)
每位老师只教授一门课
T# C#
某学生选定一门课,就对应一位老师
(S#,C#) T#
候选码
(S#,T#),(S#,C#)
28
5.4 .3 3NF
S# SN SD DEAN S01 杨明 D01 思齐 S02 李婉 D01 思齐 S03 刘海 D02 述圣 S04 安然 D02 述圣 S05 乐天 D03 省身
数据库第五章习题及答案
第五章 关系数据理论一、 单项选择题1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是 ( )A 、关系规范化理论B 、关系运算理论C 、关系代数理论D 、数理逻辑2、关系数据库规范化是为解决关系数据库中( )问题而引入的。
A 、插入、删除和数据冗余B 、提高查询速度C 、减少数据操作的复杂性D 、保证数据的安全性和完整性3、当关系模式R (A ,B )已属于3NF ,下列说法中( )是正确的。
A 、它一定消除了插入和删除异常B 、一定属于BCNFC 、仍存在一定的插入和删除异常D 、A 和C 都是4、在关系DB 中,任何二元关系模式的最高范式必定是( )A 、1NFB 、2NFC 、3NFD 、BCNF5、当B 属性函数依赖于A 属性时,属性A 与B 的联系是( )A 、1对多B 、多对1C 、多对多D 、以上都不是6、在关系模式中,如果属性A 和B 存在1对1的联系,则说( )A 、A B B 、B A C 、A B D 、以上都不是7、关系模式中,满足2NF 的模式,( )A 、可能是1NFB 、必定是1NFC 、必定是3NFD 、必定是BCNF8、关系模式R 中的属性全部是主属性,则R 的最高范式必定是( )A 、2NFB 、3NFC 、BCNFD 、4NF9、关系模式的候选关键字可以有( c ),主关键字有( 1个 )A 、0个B 、1个C 、1个或多个D 、多个10、如果关系模式R 是BCNF 范式,那么下列说法不正确的是( )。
A 、R 必是3NFB 、R 必是1NFC 、R 必是2NFD 、R 必是4NF11、图4.5中给定关系R ( )。
A 、不是3NFB 、是3NF 但不是2NFC 、是3NF 但不是BCNFD 、是BCNF12、设有如图4.6所示的关系R ,它是( )A 、1NFB 、2NFC 、3NFD 、4NF二、 填空题1、如果模式是BCNF ,则模式R 必定是(3NF ),反之,则( 不一定 )成立。
数据库复习 第五章 习题
第五章习题一、选择题:1.关系规范化中的删除操作异常是指①,插入操作异常是指②。
A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入答案:①A ②D2.设计性能较优的关系模式称为规范化,规范化主要的理论依据是____。
A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑答案:A3.规范化理论是关系数据库进行逻辑设计的理论依据。
根据这个理论,关系数据库中的关系必须满足:其每一属性都是____。
A.互不相关的B.不可分解的C.长度可变的D.互相关联的答案:B4.关系数据库规范化是为解决关系数据库中____问题而引人的。
A.插入、删除异常和数据冗余B.提高查询速度C.减少数据操作的复杂性D.保证数据的安全性和完整性答案:A5.规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及____的缺陷。
A.数据的不一致性B.结构不合理C.冗余度大D.数据丢失答案:C6.当关系模式R(A,B)已属于3NF,下列说法中____是正确的。
A.它一定消除了插入和删除异常B.仍存在一定的插入和删除异常C.一定属于BCNF D.A和C都是答案:B7.关系模型中的关系模式至少是____。
A.1NF B.2NF C.3NF D.BCNF答案:A8.在关系DB中,任何二元关系模式的最高范式必定是____。
A.1NF B.2NF C.3NF D.BCNF答案:D9.在关系模式R中,若其函数依赖集中所有候选关键宇都是决定因素,则R最高范式是____。
A.2NF B.3NF C.4 NF D.BCNF答案:C10.当B属性函数依赖于A属性时,属性A与B的联系是____。
A.1对多B.多对1 C.多对多D.以上都不是答案:B11.在关系模式中,如果属性A和B存在1对1的联系,则说____。
A.A→B B.B→A C.A↔B D.以上都不是答案:C12.候选码中的属性称为____。
第5章关系模式的规范化设计
第5章关系模式的规范化设计关系模式的规范化设计(Normalization)是数据库设计中的一个重要步骤,目的是消除冗余数据、提高数据的完整性和一致性,减少数据操作的复杂性和数据的存储空间。
下面将介绍关系模式的规范化设计的原则、规范化的各个阶段和规范化的优缺点。
一、规范化设计的原则规范化设计的原则包括:1.消除冗余数据:即通过将数据分散到多个关系中,避免将相同数据重复存储在多个地方,减少了存储空间的浪费。
2.提高数据的完整性:通过将数据分开存储到多个关系中,可以降低数据的重复性,确保数据的一致性和准确性。
3.简化数据操作:通过将数据分解成多个关系,可以简化数据的操作和维护,提高数据查询和更新的效率。
4.减少数据的存储空间:通过消除冗余数据和提高数据的完整性,可以减少数据的存储空间占用,节省存储资源。
二、规范化设计的各个阶段规范化设计通常分为一般化(First Normal Form,1NF)、第二范式(Second Normal Form,2NF)、第三范式(Third Normal Form,3NF)等多个阶段。
1.一般化:将关系模式中的属性分解成原子属性,即每个属性都是不可再分的单元,消除属性中的重复数据。
同时,每个记录是唯一的,并且属性的顺序也无关紧要。
2.第二范式:在达到一般化的基础上,消除非主属性对主键的部分依赖。
即要求每个非主属性完全依赖于主键。
3.第三范式:在达到第二范式的基础上,进一步消除传递依赖。
即要求每个非主属性只依赖于主键,而不依赖于其他非主属性。
三、规范化设计的优缺点规范化设计的优点包括:1.提高数据的完整性和一致性:通过规范化,可以消除数据的冗余,减少数据的重复性,确保数据的一致性和准确性。
2.简化数据操作:通过规范化,可以将数据分解成多个关系,简化了数据的操作和维护,提高了数据查询和更新的效率。
3.节省存储空间:通过规范化,可以消除冗余数据,减少数据的存储空间占用,节省存储资源。
第5章 关系数据库规范化理论
4. 更新异常(Update Anomalies)
由于存在大量数据冗余,系统要付出很大代价来维护数据库的完整性。 否则就带来数据不一致的危险。比如,当某系的系主任更换后,系统必 须修改与该系学生有关的每个元组。
所谓数据依赖(Data Dependency),是指一 个关系内部属性与属性之间的一种约束关系, 这种约束关系是通过关系中属性间值的相等与 否体现出来的数据间的相互关系。这种数据依 赖是现实世界中属性间相互联系的抽象,是数 据内在的性质,是语义的体现。 数据依赖有很多种,其中最重要的是函数依赖 (Functional Dependency,简称FD)和多值依 赖(Multivalued Dependency,简称MVD)。
5.1.1
问题的提出
现假设有如表5-1所示的关系模式XSCJ的一个具体实例。 表5-1 XSCJ表
Sno S1 S2 S3 S1 Sname 张强 王红 周颖 张强 Sdept 计算机系 电子系 计算机系 计算机系 Director 李军 宋鹏 李军 李军 Cno C01 C01 C01 C02 Cname 数据库 数据库 数据库 数据结构 Cscore 85 90 75 80
下面介绍一些术语和记号。
X→Y,但则称X→Y是非平凡的函数依赖。若不 特别声明,总是讨论非平凡的函数依赖。 X→Y,但YX则称X→Y是平凡的函数依赖。 若X→Y,则X叫做决定因素(Determinant)。 若X→Y,Y→X,则X与Y一一对应,记作X← →Y。 若Y函数不依赖于X,则记作 X Y
5.1.2
函数依赖的基本概念
定义5.1 设R(U)是属性集U上的关系模 式。X,Y是U的子集。 若对于R(U)的任意一个可能的关系r,r 中任意两个元组 t1 和 t2 ,如果 t1[X] = t2 [X],则 t1[Y] = t2[Y] ,那么称X函数地 确定Y,或Y函数地依赖于X ,记作: X→Y。
《数据库与信息管理技术》教学大纲.docx
《数据库与信息管理技术》教学大纲(适用于本科层次)一、课程的性质、目的与任务《数据库与信息管理技术》是计算机科学与技术、信息管理与信息系统专业课程体系中的核心课程,在人才培养中具有十分重要的意义。
在2004年教育部《关于进一步加强高等学校计算机基础教学的意见》精神中明确指出,要在目前大学教育中,给予计算机基础教育高度重视,在对当代大学生计算机知识与能力的要求中,“具备利用数据库技术对信息进行管理、加工和处理的意识与能力,用以解决本专业领域中的问题”就是其中的一条。
数据库技术是当今世界高新技术潮流中的主流技术之一,它的发展对其它技术学科的发展具有极为重要的意义。
数据库技术在现代工业、现代金融、现代商贸等领域有着广阔发展应用前景,运用数据库技术与多媒体技术、计算机网络技术、Internet和Intranet技术手段,与经济和管理理论相结合,对本科学生进行信息管理、商业自动化、电子商务的研究、分析、设计、开发和应用等诸方面的培养,是发展学生的工程素质和能力,使学生掌握系统分析、系统设计与开发技术,具备完整知识体统的重要手段。
本课程着重介绍数据库系统的基本原理和设计方法,特别是目前应用最为广泛的关系数据库系统的原理和相关技术,使学员在掌握数据库基本原理的基础上,学会关系数据库应用系统的设计技术,培养应用数据库技术解决计算机应用中实际问题的能力,并为今后从事数据库理论教学和应用系统的开发工作打下良好的基础,成为我国从事数据库理论研究、教学和应用系统开发的专门人才。
二、课程的内容和基本要求本课程在教学中要求学生达到以下基本要求:1、理解数据库技术的基本原理,特别是关系数据库原理和相关知识;2、掌握数据库的设计理论和方法;3、掌握数据库创建、更新和查询等实际操作命令,重点是数据查询语言SQL;4、掌握数据库应用系统设计的基本步骤和方法,能进行普通数据库应用系统的设计;5、了解数据库技术的发展现况和发展趋势;三、学时分配课程的基本内容及学时分配第1章关系数据库标准语言一SQL(6学时)1.1SQL概述1.2SQL的数据定义1.3SQL的数据查询1.4SQL的数据更新1.5SQL的视图1.6SQL的数据控制1.7嵌入式SQL第2章数据管理与数据库(4学时)2.1数据库的常用术语2.2计算机数据管理技术的产生和发展2.3数据模型2.4数据库系统的模式结构2.5 DBMS的功能2.6数据库系统的组成第3章关系数据库模型(4学时)3.1关系模型的基本概念3.2关系代数3.3关系演算3.4查询优化第4章关系模式的规范化设计理论(6学时)4.1问题的提出4.2关系模式的函数依赖4.3关系模式的规范化4.4关系模式的分解特性第5章数据库的安全与保护(6学时)5.1安全与保护概述5.2数据库的安全性保护5.3数据库的完整性保护5.4数据库的并发控制技术5.5数据库的恢复技术5.6数据库的复制与相关技术第6章数据库设计与实施(6学时)6.1数据库设计概述6.2数据库规划6.3需求分析6.4概念结构设计6.5逻辑结构设计6.6物理结构设计6.7数据库的实施和维护第7章数据库应用系统开发(4学时)7.1数据库应用系统的结构7.2.1 SQL Server的主要特点7.2.3SQL Server 的基本丁具7.2.4SQL Server的安全性管理7.2.5SQL Server的完整性策略7.2.6SQL Server的恢复技术7.2.7SQL Server的并发控制7.2.8数据库编程第8章数据库技术新发展(4学时)8.1数据库家族概述8.2面向对象数据库技术8.3分布式数据库8.4数据仓库与数据挖掘四、课内实验安排根据课程性质,课内安排14个课时的上机实验。
数据库概论参考答案
.数据库概论专科作业题参考答案第一章数据库系统导论一、选择1.C2.B3.C4.A5.A6.A7.C8.A9.D 10.D11.B 12.B 13.B 14.C 15.D 16.C17.A18.D19.C20.B21.A22.C23.A24.C25.D 26.D 27.B 28.B 29.A 30.C31.A 32.D 33.A 34.C 35.A 36. A 37.C 38.D 39.A 40.D41.D 42.D 43.C 44.A 45.D 46.B二、填空1.数据2.数据库3.数据库的恢复4.概念模型5.逻辑独立性6.关系数据7.层次8.数据定义9.网状模型10.完整性约束11.关系数据12.E-R13.一对多14.信息三、名词解释1.信息:经过加工处理后具有一定含义的数据集合,它具有超出事实数据本身之外的价值;2.数据:数据库中存储的基本对象,通常指描述事物的符号;3.数据库:存储在计算机存储设备上,结构化的相关数据集合;它不仅包括描述事物的数据本身,还包括相关事物之间的联系;4.数据库管理系统:处理数据访问的软件系统,也就是位于用户与操作系统之间的一层对数据库进行管理的软件;用户必须通过数据库管理系统来统一管理和控制数据库中的数据;5.数据库系统:引进了数据库技术后的计算机系统,它能够有组织地、动态地存储大量数据,提供数据处理和数据共享机制,一般由硬件系统、软件系统、数据库和人员组成;6.实体:客观存在并可相互区别的事物称为实体;7.属性:实体所具有的某一特征或性质称为属性;8.联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为两类:一类是实体内部的联系;另一类是实体之间的联系;9.关键字:唯一地标识实体的属性集称为关键字;10.实体型:用实体名及其属性名集合来抽象和描述同类实体,称为实体型;11.实体集:同一类实体的集合称为实体集;12.数据结构:数据结构是对数据静态特征的描述;数据的静态特征包括数据的基本结构、数据间的联系和对数据取值范围的约束;13.数据操作:数据操作是指对数据动态特征的描述,包括对数据进行的操作及相关操作规则;14.数据的完整性约束:数据的完整性约束是对数据静态和动态特征的限定,是用来描述数据模型中数据及其联系应该具有的制约和依存规则,以保证数据的正确、有效和相容;四、简答1数据与信息有什么区别与联系数据与信息既有联系又有区别;数据是表示信息的,但并非任何数据都表示信息,信息是加工处理后的数据,是数据所表达的内容;同时,信息不随表示它的数据形式而改变,它是反映客观现实世界的知识;而数据则具有任意性,用不同的数据形式可以表示相同的信息;2什么是数据库、数据库系统和数据库管理系统数据库:存储在计算机存储设备上,结构化的相关数据集合;它不仅包括描述事物的数据本身,还包括相关事物之间的联系;数据库系统:引进了数据库技术后的计算机系统,它能够有组织地、动态地存储大量数据,提供数据处理和数据共享机制,一般由硬件系统、软件系统、数据库和人员组成;数据库管理系统:处理数据访问的软件系统,也就是位于用户与操作系统之间的一层对数据库进行管理的软件;用户必须通过数据库管理系统来统一管理和控制数据库中的数据;3计算机数据管理技术发展经历几个阶段,各阶段的特点是什么1.人工管理阶段a)数据面向具体应用,不共享;b)数据不单独保存;c)没有软件系统对数据进行管理;d)没有文件的概念;2.文件系统阶段a)程序与数据分开存储,数据以“文件”形式可长期保存在外部存储器上,并可对文件进行多次查询、修改、插入和删除等操作;b)有专门的文件系统进行数据管理,程序和数据之间通过文件系统提供存取方法进行转换;c)数据不只对应某个应用程序,可以被重复使用;3.数据库系统阶段a)数据结构化b)数据的冗余度低、共享性高、易扩充c)数据独立性高d)数据由数据库管理系统统一管理和控制4什么是外模式、模式和内模式1.外模式外模式也称子模式或用户模式,属于视图层抽象,它是数据库用户包括应用程序员和最终用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;2.模式模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据库管理员看到的数据库,属于逻辑层抽象;3.内模式内模式也称存储模式,是数据在数据库中的内部表示,属于物理层抽象;内模式是数据物理结构和存储方式的描述,一个数据库只有一个内模式,它是DBMS管理的最低层;5试述数据库系统的两级映像功能;1.外模式/模式映像模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构;对应于同一个模式可以有任意多个外模式;对于每一个外模式,数据库系统都提供了一个外模式/模式映像,它定义了该外模式与模式之间的对应关系;这些映像定义通常包含在各自外模式的描述中;2.模式/内模式映像数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系;当数据库的存储结构改变了,为了保持模式不变,也就是应用程序保持不变,可由数据库管理员对模式/内模式映像做相应改变就可以了;6试述数据库系统的三级模式结构是如何保证数据的独立性的;数据库系统的三级模式结构由外模式、模式和内模式组成;外模式,亦称子模式或用户模式,是数据库用户包括应用程序员和最终用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图;模式描述的是数据的全局逻辑结构;外模式涉及的是数据的局部的逻辑结构,通常是模式的子集;内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述;数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储;为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映象:外模式/模式映象和模式/内模式映象;正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性;7简单说明数据库管理系统包含的功能,a)数据定义b)数据操纵c)数据库的运行管理d)数据库的恢复Recovery8什么是数据模型并说明为什么将数据模型分成两类,各起什么作用;数据模型是数据特征的抽象,是数据库管理的教学形式框架;数据模型分为概念数据模型和结构数据模型. 概念数据模型用来描述某个特定组织所关心的信息结构. 结构数据模型直接面向数据库中数据逻辑结构.9什么是概念模型概念模型的表示方法是什么;概念模型是现实世界到机器世界的一个中间层,它不依赖于数据的组织结构,而是反映现实世界中的信息及其关系;它是现实世界到信息世界的第一层抽象,也是用户和数据库设计人员之间进行交流的工具;概念模型的表示方法很多,其中最为著名、最为常用的是Approach,即E-R方法或E-R模式;该方法用E-R图来描述现实世界的概念模型;10解释概念模型中的常用术语:实体、属性、联系、属性值、关键字、实体型、实体集;实体:客观存在并可相互区别的事物称为实体;属性:实体所具有的某一特征或性质称为属性;联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为两类:一类是实体内部的联系;另一类是实体之间的联系;属性值: 属性的具体取值称为属性值;关键字:唯一地标识实体的属性集称为关键字;实体型:用实体名及其属性名集合来抽象和描述同类实体,称为实体型;实体集:同一类实体的集合称为实体集;第二章关系数据库基本理论一、选择1.B2.C3.C4. B5. C6.A7. B8. D9. A 10.D11. C 12. C 13. A 14.C 15. B 16. D 17. D 18. C 19. A 20. A21. D 22. A 23. D 24.C二、填空1.元组2.连接3.投影4.右外连接5.谓词演算6.按给定的条件选取若干个属性列7.选择、投影、连接运算8.网状模型9.关系模型三、名词解释1.关系:一个关系通常对应一张表2.元组:二维表中的一行即为一个元组;3.属性:二维表中的一列即为一个属性;4.域:属性的取值范围称为该属性的域;5.关键字:表中的某个属性或几个属性的组合称为关键字;6.关系模式:对关系的描述成为关系模式;7.元数:关系模式中属性的数目是关系的元数;8.分量:元组中的每个属性值称为元组的分量;9.实体完整性:实体完整性是指关系的主属性不能为空;10.参照完整性:在关系模型中,实体与实体之间的联系都是用关系来表示的;参照完整性描述了实体之间的引用规则;11.用户定义完整性:用户定义完整性是指不同的关系数据库系统根据应用环境的不同,设定的一些特殊的约束条件;四、简答l关系模型的特点是什么1 具有严格的数据理论基础,关系数据模型是建立在严格的数据概念基础上的;2 概念单一,不管是实体本身还是实体之间的联系都用关系表来表示,这些关系必须是规范化的,使得数据结构变得非常清晰、简单;3 在用户的眼中无论是原始数据还是结果都是二维表,不用考虑数据的存储路径;因此,提高了数据的独立性、安全性,同时也提高了开发效率;2解释关系模型中的常用术语:关系、元组、属性、关键字、外关键字、关系模式;1.关系:一个关系通常对应一张表2.元组:二维表中的一行即为一个元组;3.属性:二维表中的一列即为一个属性;4.关键字:表中的某个属性或几个属性的组合称为关键字;5.外关键字:如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字或外码;3简述关系模型与关系模式的区别与联系;关系模型:用二维表的形式表示实体和实体间联系的数据模型;关系模式:对关系的描述;关系实际上就是关系模式在某一时刻的状态或内容;也就是说,关系模式是型,关系是它的值;关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据;但在实际当中,常常把关系模式和关系统称为关系;4关系的完整性约束是什么各有什么含义1. 实体完整性实体完整性是指关系的主属性不能为空;在关系模型中关键字码能够唯一地识别元组,而关键字是由一个或几个属性组成的;这就规定了组成关键字的所有属性都不能为空,这些属性也称为主属性;2. 参照完整性在关系模型中,实体与实体之间的联系都是用关系来表示的,这些关系主要分为1∶1、1∶n和m∶n三种;参照完整性也称为引用完整性,描述了实体之间的引用规则;即一个实体中某个属性的属性值是引用另一个实体的关键字,其中引用关系称为参照关系,而被引用关系称为被参照关系,参照关系中的引用字段称为外关键字;3. 用户定义的完整性用户定义的完整性是指不同的关系数据库系统根据应用环境的不同,设定的一些特殊约束条件;用户定义的完整性也称为域完整性或语义完整性;它说明某一具体应用所涉及的数据必须满足应用语义的要求;5①查询商场中的全部商品;σ商品②查询商场中所有电器类产品的供应商;∏供应商σ商品类别='电器类'商品③查询购买了计算机商品的顾客姓名和联系方式;∏姓名,联系方式σ商品类别='计算机' 商品6①查询购买了PTI号商品的顾客号和顾客姓名;∏顾客号,顾客姓名σ商品号='PT1' 商品②查询没有购买任何商品的顾客信息;∏顾客号,商品号,购买数量顾客∏顾客号顾客-∏顾客号购买③查询购买了所有钢笔类产品的顾客信息;∏顾客号,商品号,购买数量顾客购买÷∏商品号σ商品类别='钢笔' 商品第三章结构化查询语言SQL一、选择1. C2. B3. B4. C5. B6. C7. A8. A9. D 10. C11. A 12. B 13. D 14. D 15. D 16. D 17. D 18. D 19. A 20. C21. B 22. C 23. D 24. D 25.D 26.D 27. C 28. C 29. B二、填空1.表、视图2.SELECT R.A,R.B,S.D,S.F FROM R,S WHERE R.A=S.A3.SELECT SNAME,GRADE FROM S,SC,C WHERE CNAME='数据库技术'AND_ S.S=SC.S_AND SC.C=C.C4.Cursor5.SQL语言6.引发触发器7.GRANT、REVOKE8.视图9.WHERE10.MAX三、名词解释1.数据定义:SQL数据定义功能通过数据定义语言定义关系数据库的模式、外模式和内模式,来实现基本表、视图和索引文件的定义、修改和删除操作;2.数据查询:数据查询是指对数据库中的数据进行查询、分组、统计和排序等操作;3.数据操纵:数据操纵是指对数据的插入、修改和删除等操作;4.数据控制:数据控制是对数据库中数据的安全性和完整性进行控制;5.聚合函数:为了方便用户,增强检索功能,SQL提供了许多聚合函数,也称集合函数或计算函数;6.嵌套查询:将一个查询块嵌套在另一个查询块的WHERE子句或HA VING短语的条件中的查询称为嵌套查询或子查询;7.视图:视图对应于关系数据库模型的外模式,是从一个或几个基本表或视图中导出的表;四、简答1试述SQL语言的特点;1.功能一体化2.语言简洁,易学易用3.高度非过程化4.面向集合的操作方式5.以同一种语法结构提供两种使用方式2什么是基本表什么是视图两者有什么区别和联系基本表:本身独立存在的表,即实际存储在数据库中的表,而不是从其它表导出来的;视图:从一个或几个表中导出的表;视图本身不独立存储于数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基表中,视图是一个虚表, 在概念上与基本表等同,用户可以在视图上再定义视图;3举例说明视图在什么情况下不能更新;为什么在关系数据库中,受到基本表的限制并非所有的视图都是可更新的;例如:视图中的列没有包含基本表的NOT NULL 非空列;视图的列取自表达式或聚合函数;视图是由两个以上基本表导出的;视图是在一个不可更新的视图上定义的等;4简述什么是嵌入式SQL.SQL作为嵌入式语言,能够嵌入到高级语言例如C、C++等宿主语言程序中;5①检索所有读者的全部情况;SELECT FROM 读者②检索姓张的读者姓名、单位及联系方式;SELECT 姓名,单位,联系方式FROM 读者WHERE 姓名LIKE ‘张%’③检索“清华大学出版社”和“高等教育出版社”出版的图书、作者及单价并且单价降序排列; SELECT 作者,单价FROM 图书WHERE 出版单位=’清华大学出版社’or出版单位=’高等教育出版社’ORDER BY 单价ASC6①SELECT FROM 图书WHERE 单价>=30 AND 单价<=50②SELECT读者.姓名,读者.单位FROM 借阅,读者WHERE 借阅.借书证号=读者.借书证号③SELECT读者.借书证号,读者.姓名,读者.性别,读者.单位,读者.联系方式FROM 图书,借阅,读者WHERE 借阅.借书证号=读者.借书证号AND 借阅.总编号=图书.总编号AND 图书.书名=’数据库原理与应用’7;①SELECT图书.总编号,图书.分类号,图书.书名,图书.作者,图书.出版单位,图书.单价FROM 图书,借阅WHERE 图书.单价>38 AND 借阅.总编号=图书.总编号ORDER BY 借阅.借阅日期②SELECT FROM 图书WHERE 单价>SELECT MAX单价FROM 图书WHERE 出版单位=’天津大学出版社’③SELECT MAX单价,MIN单价,COUNTFROM 图书GROUP BY 出版单位8①SELECT FROM 读者WHERE 借书证号IN SELECT 借书证号FROM 借阅WHERE count=3 GROUP BY 借书证号②SELECT 姓名,单位FROM 读者WHERE 借书证号NOT IN SELECT 借书证号FROM 借阅③UPDATE 图书SET 单价=单价+单价2%9;①DELETE FROM 借阅WHERE 借阅日期<’2001-01-01’②CREATE VIEW TEMPBOOK AS SELECT借书证号,总编号,借阅日期FROM 借阅WHERE 借阅日期>=’2007-01-01’第四章关系模式规范化设计一、选择1. A2. A3. D4. C5. D6. B7. C8. B9. B 10. C 11. D12. A 13. D 14. D 15. B 16. B 17. D 18. B 19. C 20. C 21. C22. A 23. A 24. A 25. D 26. B 27. B 28. B 29. B 30. B 31. D 32. B33. B 34.A 35.D 36.B 37.B 38.D 39.A 40.A 41.B 42.B 43.C 44.C 45.B46.A 47.B 48.B 49.B 50.C 51.C 52.B 53.B二、填空1.保持函数依赖2.Armstrong3.B→C4.多值依赖5.修改复杂6.F⊆G+,和G⊆F+7.BCNF8.3NF9.数据冗余度大10. 1NF三、名词解释1.函数依赖: 设RU是一个属性集U上的关系模式,X和Y是U的子集;若对于RU的任意两个可能的关系r1、r2,若r1x=r2x,则r1y=r2y,或者若r1x不等于r2x,则r1y不等于r2y,称X决定Y,或者Y依赖X;2.完全函数依赖: 设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’→Y,则称Y完全函数依赖于X;3.部分函数依赖: 设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y 部分函数依赖于X;4.传递函数依赖: 设X,Y,Z是关系R中互不相同的属性集合,存在X→YY →X,Y→Z,则称Z传递函数依赖于X;5.候选关键字: 设K是关系模式RU,F中的属性或属性组,K '是K的真子集即K ' K,若K→U,而不存在K →U,则K是R的候选关键字;6.外关键字:设有两个关系模式R和S,X是R的属性或属性组,并且X不是R的候选关键字,但X是S 的候选关键字,则称X是R的外关键字;7.第一范式:如果一个关系模式R的所有属性都是不可分的基本数据项,则称关系R满足第一范式,记作R∈1NF;8.第二范式:满足第一范式的关系模式R,如果所有非主属性都完全依赖于候选关键字,则称R属于第二范式,记为R∈2NF;9.第三范式:若关系模式R∈2NF,且它的任何一个非主属性都不传递依赖于候选关键字,则称关系R满足第三范式,记为R∈3NF;10.BCNF范式:若关系模式R的所有属性都不传递依赖于R的任何候选关键字,则称关系R满足BCNF,记作R∈BCNF;也可以定义为:设关系模式RU,F∈1NF,若F的任一函数依赖X→YY ⊄ X中X都包含了R 的一个候选关键字,则称关系R满足BCNF,记作R∈BCNF;11.模式分解:关系模式R<U , F>的一个分解是指ρ= {R1<U1,F1>,R2<U2,F2>, …, Rn<Un,Fn>},其中U = U1UU2U…UUn,并且没有Ui⊆ Uj,1≤i,j≤n,Fi是F在Ui上的投影;12.无损连接性:设关系模式RU,F被分解为若干个关系模式R1U1,F1,R2U2,F2,…,RnUn,Fn,其中U=U1U2…UN,且不存在Ui⊆ Uj,Fi为F在Uj上的投影,如果R与R1,R2,…,Rn自然连接的结果相等,则称关系模式R的分解具有无损连接性;13.保持函数依赖性:设关系模式RU,F被分解为若干个关系模式R1U1,F1,R2U2,F2,…,RnUn,Fn,其中U=U1U2…UN,且不存在Ui⊆ Uj,Fi为F在Uj上的投影,如果F所蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所蕴含,则称关系模式R的分解具有函数依赖保持性;14.主属性: 在一个关系中,如一个属性是构成某一个候选关键字的属性集中的一个属性,则称它为主属性. 15.非主属性: 不包含在任何一个候选码中的属性称为非主属性.四、简答11.函数依赖: 设RU是一个属性集U上的关系模式,X和Y是U的子集;若对于RU的任意两个可能的关系r1、r2,若r1x=r2x,则r1y=r2y,或者若r1x不等于r2x,则r1y不等于r2y,称X决定Y,或者Y依赖X;2.部分函数依赖: 设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y 部分函数依赖于X;3.传递函数依赖: 设X,Y,Z是关系R中互不相同的属性集合,存在X→YY →X,Y→Z,则称Z传递函数依赖于X;4.候选关键字: 设K是关系模式RU,F中的属性或属性组,K '是K的真子集即K ' K,若K→U,而不存在K →U,则K是R的候选关键字;5.外关键字:设有两个关系模式R和S,X是R的属性或属性组,并且X不是R的候选关键字,但X是S 的候选关键字,则称X是R的外关键字;6.主属性: 在一个关系中,如一个属性是构成某一个候选关键字的属性集中的一个属性,则称它为主属性. 7.非主属性: 不包含在任何一个候选码中的属性称为非主属性.2规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础;3关系模式的异常操作包括插入异常、删除异常、修改异常;这些异常由模式中某些数据依赖引起的;规范化理论可以改造关系模式,通过分解关系模式来消除不适合的数据依赖,以解决这些异常和潜在的数据不一致性的问题;4候选码:1A;2CD;3E5范式表示的是关系模式的规范化程序;共分六个级别,分别1NF,2 NF,3 NF,BCNF,4 NF,5 NF;6l候选码为AC,BC.AD,BD、可选其中之一为主码;2不服从4NF;在多值依赖中决定因素中不包含码;3不服从BCNF;在函数依赖中决定因素中不包含码;4服从3NF;该模式中不存在非主属性;7①第一范式,ab是主码,d依赖于ab的一部分,这是第二范式不允许的;因此最高是第一范式;②第一范式,ab或者ad是主码,无论谁做主码,b和d互相依赖,也是对主码的一部分的依赖③第二范式,只要选择e做主码就满足第二范式,但是想要推得d,必须经过间接依赖;即e推出ab,ab推出ce,c 推出d,所以不满足第三范式,因此最高是第二范式;8关键字是bd,3NF分解:{a,b,c}{a,c}第五章数据库设计与维护一、选择1. A2. D3. D4. C5. C6. B7. C8. A9. B 10. C11. B 12. B 13. A 14. A 15. C 16. C 17. B 18. D 19. A20. B 21. C 22. C 23. D 24. C 25. A 26. D 27. D 28. D 29. B二、填空1.数据库物理设计2.共享性3.物理结构设计4.子类型5.聚集6.逻辑设计阶段的7.结构三、名词解释1.数据流图:用于表达和描述系统的数据流向和对数据的处理功能;2.数据字典:各类数据描述的基何,是对系统中数据结构的详细描述,是各类数据属性的清单;3.数据项:不可再分的数据单位;4.数据结构;包括数据结构名、含义说明、组成等;5.数据流:包括数据流名,数据流说明,流入、流出过程,组成等;6.数据存储:包括数据存储名、存储说明、输入数据流、输出数据流、组成、数据量、存取方式等; 7.处理过程:包括处理过程名、处理说明、输入/输出数据流、处理方法等;四、简答1分为六个阶段:需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理设计阶段;数据库实施阶段;数据库运行、维护阶段2;数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目;其主要特点有:1 数据库建设是硬件、软件和干件技术与管理的界面的结合; 2 从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构数据设计和行为处理设计密切结合起来;31全面了解数据库系统的功能、物理环境和工具,特别是存储结构和存取方法;2 了解应用环境;对不同的应用要求按其重要程度和使用方式进行分类;事物处理的频率,响应时间的要求,都是对时间和空间效率进行平衡和优化的重要依据;3 了解外存设备的特性;4需求分析是数据库设计的第一阶段,是设计数据的起点,需求分析是整个设计过程的基础和首要条件,也是最困难、最耗费时间的一步;其结果是概念设计的基础,分析结果是否准确而无遗漏地反映了用户对系统的实际要求,将直接影响到后面各个阶段的设计成效,并影响到设计结果是否合理和实用;51 调查组织机构的总体情况;2 熟悉各部门的业务活动情况;3 分析用户需求;4确定新系统的边界;6数据字典的内容包括数据项、数据结构、数据流、数据存储、处理过程五部分;7将系统需求分析得到的用户需求抽象为信息结构过程;概念模型是整个数据库设计的关键;概念模型最。
数据库系统概论 第5章
当一个关系模式在连接的过程中没有丢掉有用信息的, 称为无损连接分解否则称为有损连接分解。 3NF的优点就是其总可以在满足无损连接并保持依赖的 前提下得到3NF设计。其缺点是,若没有消除所有的传递 依赖,则必须要用空值来表示数据项间的某些可能有意义 的联系。此外,3NF还存在信息重复的问题。 若必须在BCNF和保持依赖的3NF间作选择的话,通常 倾向于选择3NF。因为若不能有效地检验依赖的保持情况, 我们要么牺牲系统性能,要么破坏数据库中的数据的完整 性,这当然都不好。相比之下,3NF中允许传递依赖造成 少量冗余反到是可以容忍的。所以,我们常选择保持依赖 而放弃BCNF。
假定有一个实际问题,有关系模式: 借书人(姓名,地址,书名,日期) 即 BORROW(NAME,ADDR,TITLE,DATE) 其中:NAME和TITLE是整个模式的关键字(主码)。
NAME 张 平 张 平 张 平 张 平 张 平 张 平 李少林 李少林 ADDR A1 A1 A1 A1 A1 A1 A2 A2 TITLE T1 T2 T3 T4 T5 T6 T3 T7 DATE D1 D2 D3 D4 D5 D6 D4 D7
一个低一级范式的系模式的集合,这种 过程就叫规范化。各种范式之间的关系为:
1NF 2NF
3NF BCNF 4NF
5NF
例:以下两例为非1NF关系。借书人
部门名 部门号
经理
正经理 副经理
张 平 李文化
DN1 DN2
D1 D2
M1 M2
5.2.5 3NF
定义:关系模式R(U,F)中若不存在这样的码X,属 性组Y及非主属性Z(Z Y)使得X→Y(Y→X)Y→Z 成立,则称R(U,F) ∈3NF。 简言之,不存在非主属性部分依赖和传递依赖于 码的第一范式称为第三范式。 从定义中还可得出结论:不存在非主属性的模式 为第三范式。
数据库系统原理与设计万常选版第五章练习题和详细答案
第五章关系数据理论一、选择题1. 为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是()。
A. 关系规范化理论B. 关系代数理论C.数理逻辑D. 关系运算理论2. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是()。
A. 长度不变的B. 不可分解的C.互相关联的D. 互不相关的3. 已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C ,E→A },该关系模式的候选关键字是()。
A.ABB. BEC.CDD. DE4. 设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO,则关系R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主键为SNO和CNO,其满足()。
A. 1NFB.2NFC. 3NFD. BCNF5. 设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P 表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },关系模式W 的一个关键字是()。
A. (S,C)B. (T,R)C. (T,P)D. (T,S)6. 关系模式中,满足2NF的模式()。
A. 可能是1NFB. 必定是1NFC. 必定是3NFD. 必定是BCNF7. 关系模式R中的属性全是主属性,则R的最高范式必定是()。
A. 1NFB. 2NFC. 3NFD. BCNF8. 消除了部分函数依赖的1NF的关系模式,必定是()。
A. 1NFB. 2NFC. 3NFD. BCNF9. 如果A->B ,那么属性A和属性B的联系是()。
A. 一对多B. 多对一C.多对多D. 以上都不是10. 关系模式的候选关键字可以有1个或多个,而主关键字有()。
数据库基础复习题
选择题:第一章绪论1。
数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和()。
A。
系统分析员 B.程序员 C.数据库管理员 D.操作员2。
数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( ).A.DBS包括DB和DBMSB.DBMS包括DB和DBSC.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS3。
下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。
I.人工管理阶段II.文件系统阶段III.数据库阶段。
A。
I 和II B。
只有II C.II 和III D。
只有I4.下列四项中,不属于数据库系统特点的是()。
A.数据共享B.数据完整性C。
数据冗余度高D.数据独立性高5.数据库系统的数据独立性体现在()。
A.不会因为数据的变化而影响到应用程序B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序C。
不会因为存储策略的变化而影响存储结构D。
不会因为某些存储结构的变化而影响其他的存储结构6.描述数据库全体数据的全局逻辑结构和特性的是( ).A.模式B.内模式C.外模式D。
逻辑结构7。
要保证数据库的数据独立性,需要修改的是( ).A.模式与外模式B.模式与内模式C。
三级模式之间的两层映射D.三层模式8.要保证数据库的逻辑数据独立性,需要修改的是()。
A.模式与外模式之间的映射B.模式与内模式之间的映射C。
模式 D.三级模式9.用户或应用程序看到的那部分局部逻辑结构和特征的描述是()模式。
A.模式B.物理模式C。
子模式D。
内模式10.下述()不是DBA数据库管理员的职责。
A。
完整性约束说明B。
定义数据库模式C.数据库安全D.数据库管理系统设计11.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是().A.层次模型B。
关系模型C。
网状模型D。
实体—关系模型12.区分不同实体的依据是() 。
第5章 关系数据库设计理论_2
关系模式的好与坏,用什么标准衡量?这个标准就是模式的 范式(Normal Forms,简记为NF)。范式的种类与数据依 赖有着直接的联系,基于FD的范式有1NF、2NF、3NF、 BCNF等多种。 根据满足约束条件的级别不同, 范式由低到高分为1NF,2NF,3NF,BCNF,4NF,5NF等。 1NF是关系模式的基础;2NF已成为历史,一般不再提及; 在数据库设计中最常用的是3NF和BCNF。为了叙述的方便, 我们还是从1NF、2NF、3NF、BCNF顺序来介绍。 关系模式的规范化:把一个低一级的关系模式分解为高一级 关系模式的过程。
5.5.5 规范化
关系数据库的规范化理论是数据库逻辑 设计的工具。 一个关系只要其分量都是不可分的数据 项,它就是规范化的关系,但这只是最 基本的规范化。 规范化程度可以有多个不同的级别
规范化程度过低的关系不一定能够很好地描述
现实世界,可能会存在插入异常、删除异常、
修改复杂、数据冗余等问题
例 :分解算法1例 关系模式CTHRSG,要保 持函数依赖达到3NF。
解:关系模式CTHRSG的最小函数 依赖集F={C→T,CS→G,HR→C, HS→R,TH→R}。该模式可以保 持函数依赖地分解为如下一 组3NF的关系模式:ρ={CT,CSG, CHR,HSR,HRT}。
非规范化表格和规范化表格
5.5.2 第二范式(2NF)
定义 如果A是关系模式R的候选键中属性,那么称A 是R的主属性;否则称A是R的非主属性。
定义4.16 如果关系模式R是1NF,且每个非主属性 完全函数依赖于候选键,那么称R是第二范式(2NF) 的模式。如果数据库模式中每个关系模式都是2NF, 则称数据库模式为2NF的数据库模式。
数据库系统原理教案
《数据库系统原理》教案第五章关系数据库的规范化理论5.0 构造一个关系数据库模式的方法可有多种1、举例(学生选课数据库)*数据库模式的构造方法一用一个关系模式来描述学生选课信息()SCG(Sno,Sname,Ssex,Sage,Sdept,Cno,Cname,Cpno,Ccredit,Grade)*数据库模式的构造方法二*概念模型为(E-R图):*将概念模型转换为以下关系模式:*学生表Student(Sno,Sname,Ssex,Sage,Sdept);*课程表Course(Cno,Cname,Cpno,Ccredit)*学生选课SC(Sno,Cname,Grade)Student(Sno,Sname,Ssex,Sage,Sdept);*课程表Course(Cno,Cname,Cpno,Ccredit)*2、数据库模式(关系模式)的不同构造方法与数据冗余度、插入异常、删除异常、更新异常的关系 1)冗余度比较*方法1冗余度很大:学生信息冗余大(一个学生如选修n 门课,其信息要重复存放n 遍。
如001号张三,重复存放5遍);课程信息冗余大(一门课程被n 个学生选修,课程信息存放n 次)*方法2冗余度小:只有学号课程号有冗余。
冗余度大大小于前一个,它仅有少量冗余数据,这些冗余数据保持在合理水平。
2)更新异常(修改复杂)*方法1:由于数据冗余,更新数据库中的数据时,系统需要付出很大的代价来维护数据库的完整性;*方法2:修改复杂度大大减少。
3)插入异常*方法1:没选课程的学生信息,没被选修的课程信息,没法插入到表中;(插入异常)*方法2:不同信息存放在不同的关系中,不产生插入异常现象。
4)删除异常*方法1:如某门课只有一个学生选修,学生毕业或因病退学后,删除相关信息后,课程等信息也被全部删除;(删除异常)*方法2:不同信息存放在不同的关系中,不产生删除异常现象。
3、小结1)在关系数据库设计中,关系模式的设计方案可以有多个;2)不同的设计方案有好坏之分;3)要设计一个好的关系模式方案,要以规范化理论作为指导,规范化理论研究属性间的数据依赖关系,主要有函数依赖与多值依赖。
(完整word版)数据库系统概论选择题
第一章:数据与信息1、关于信息和数据的描述正确的是?A、数据是信息的符号表示B、数据是信息的载体C、信息是数据的内涵D、以上都不正确2、数据和信息的关系是?A、二者不可区分B、二者的可区分性不确定C、信息和数据不可分离又有一定区别D、任何数据均可表示信息3、以下说法错误的是?A、数据具有客观性,本身没有意义B、数据是信息的载体C、数据与信息是一个概念,都是对现实世界的客观存在的描述D、数据包括数字、文字、符号、图形、图像等形式4、以下关于数据和信息的关系,说法不正确的是?A、数据是信息的载体,信息是从数据中提炼出来的B、123456是数据,当它被当作密码时,就是信息C、信息和数据就是一回事,不能被严格的区分D、同一数据可以表达不同信息,同一信息也可以用不同的数据来表达5、以下关于数据和信息的关系,说法不正确的是?A、数据就是信息,本来就是一回事B、love这个单词是数据,当你向女生表白的时候,它就项女生传达了信息C、202.108。
33.60是由数字和点组成的数据,在网络中它指的是新浪的服务器D、同一数据可以表达不同信息,同一信息也可以用不同的数据来表达数据库存储和管理1、在数据库系统中,负责监控数据库系统的运行情况,及时处理运行过程中出现的问题,这类职责的人员统称为( )?A、数据库管理员B、数据库设计员C、系统分析员D、应用程序员2、下面关于数据库的用途的说法正确的是?A、淘宝网、京东商城页面上显示的商品的信息来自于数据库中的数据B、我们在淘宝上能看到我们的购买记录,是因为淘宝网用数据库记录了买家的每一笔交易记录C、去移动营业厅能够打印每一次通话记录的时长,呼入方和呼出方的电话号码,是因为中国移动的后天服务器记录了用户的每一次通话D、QQ上的聊天记录能够漫游,是因为聊天记录存放在腾讯的服务器上3、数据库系统与文件系统的主要区别是?A、数据库系统复杂,而文件系统简单B、文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C、文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D、文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量4、以下关于数据库、数据库关系系统,说法不正确的是?A、数据库字面上的意思是存放数据的仓库,把数据按照一定的逻辑存放在一起B、平常常说数据库,实际上是指数据库管理系统,数据库是基础,在这个基础之上,提供给用户操作数据的界面或对数据实施管理,那么,数据库加上对数据的管理,就是我们常说的数据库管理系统C、严格意义上来说,SQLServer /Oracle是属于数据库管理系统,简称DBMSD、从本质来看,SQLServer/Oracle是数据库5、数据库系统的核心是?A、数据库B、数据库管理系统C、数据模型D、软件工具6、数据库管理系统的缩写是?A、DBAB、DBMSC、DBD、DBS7、下面哪一个场景没有用到数据库?A、教务系统中的选课信息B、新浪的微博能够记录你的动态和好友的动态C、银行中的交易交易记录D、日常生活中你与同学之间的谈话8、数据库存储的是?A、数据B、数据及数据之间的联系C、数据模型D、信息9、以下哪个是长期存储在计算机内的有组织,可共享的数据集合?A、数据库管理系统B、数据库系统C、数据库D、文件组织10、DB、DBMS和DBS三者之间的关系是?A、DB包括DBMS和DBSB、DBS包括DB和DBMSC、DBMS包括DB和DBSD、不能相互包括2、多选题1、下面关于数据库的用途的说法正确的是?A、每天你上新浪看新闻,这些新闻显示在站点上,其背后有数据库的支持B、新浪的微博能够记录你的动态和好友的动态,这些数据存放在数据库中C、去银行能够打印你的交易记录,银行使用数据库来记录你的每一笔交易D、QQ上的聊天记录能够漫游,是因为聊天记录存放在腾讯的服务器上第二章:数据模型概述1、以下哪一个不是数据模型的组成要素?A、数据B、数据结构C、数据操作D、完整性约束2、层次模型不能直接表示?A、1:1关系B、1:n关系C、m:n关系D、1:1和1:n关系3、关系数据模型的三个组成部分中,不包括?A、完整性约束B、数据结构C、数据操作D、恢复4、下面关于数据模型说法正确的是?A、逻辑模型是按用户的观点来对数据和信息建模,用于数据库设计B、概念模型主要包括网状模型、层次模型、关系模型、面向对象模型等C、逻辑模型描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法D、数据模型应满足能比较真实地模拟现实世界、容易为人所理解、便于在计算机上实现三方面要求5、以下不属于数据模型的组成要素的是?A、数据结构B、数据类型C、数据操作D、数据约束6、关系数据模型的三个要素是?A、关系数据结构、关系操作集合和关系规范化理论B、关系数据结构、关系规范化理论和关系的完整性约束C、关系规范化理论、关系操作集合和关系的完整性约束D、关系数据结构、关系操作集合和关系的完整性约束7、传统的数据模型分类,数据库系统可以分为三种类型?A、西文、中文和兼容B、层次、网状和关系C、大型、中型和小型D、数据、图形和多媒体8、以下哪一个不是数据模型?A、概念模型B、逻辑模型C、架构模型D、物理模型2、多选题1、关于数据模型的组成要素的说法正确的是?A、数据结构是指:与数据类型、内容、性质有关的对象;B、微博系统中用户变更自己的电话号码的属于数据操作C、微博系统中用户的性别在男女之间选择属于数据的完整性约束D、微博系统的年龄是数据结构2、下面哪些模型可以归属到逻辑模型?A、E—R图模型B、层次模型C、网状模型D、关系模型3、下面关于数据模型说法正确的是?A、概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次B、对概念模型的基本要求:较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,简单、清晰、易于用户理解C、逻辑模型是对数据最底层的抽象D、以上说法都不正确4、关于数据模型的组成要素的说法正确的是?A、数据结构是对系统静态特性的描述B、数据操作的类型包括检索和更新C、完整性约束包括实体完整性和引用完整性D、微博系统的年龄是数据结构概念模型1、有一名为“列车运营"实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主码是?A、车次B、日期C、车次+日期D、以上都不正确2、在E—R图中,联系使用______图形描述?A、矩形框B、椭圆形C、菱形D、直线3、在下面列出的数据库模型中,哪一个是概念数据模型?A、关系模型B、层次模型C、网状模型D、实体-联系模型4、在“学生选课系统"的概念模式设计中,以下说法正确的是?A、学生实体可以使用姓名作为码B、学生实体必须包括年龄、性别等属性C、全体学生组成了一个学生实体集D、用学生实体及其属性名集合来抽象和刻画同类实体称作学生实体集2、多选题1、下面的关于实体、属性、码、域、实体型、实体域、联系等概念,说法正确的是?A、客观存在并可相互区分的事物叫实体,如学生张三、工人李四、计算机系B、属性的取值范围叫做域,性别的域为{男,女},月份的域为{1,2,3, (12)C、多个实体之间的相互关联,如学生与老师间的授课关系,学生与学生间有班长关系D、实体所具有的某一特性称为实体的属性2、下面的关于实体、属性、码、域、实体型、实体域、联系等概念,说法不正确的是?A、12306站点购票,身份证号码能唯一的确定一个人,所以在购票的时候,一个人同一个时刻不能购买去二个不同地方的车票,那么身份证号码是码B、实体的联系分成:实体之间的联系和实体内部的联系2种C、对于淘宝站点而言,用户的所有的交易记录构成了实体集D、人的年龄属于实体型逻辑模型1、单选题1、以下说法不正确的是?A、具有相同类型的值的集合,称为域,教师集合可以表示为(T)= {t1,t2},学生的集合可以表示为:(S)= {s1,s2 ,s3}B、一个关系的多个候选码中选定一个作为主码,比如:部门编号,唯一的确定一个部门C、关系的描述称作关系模式D、学生(学号,姓名,年龄,性别,系,年级)描述的是一个关系2、假设有以下关系模式: 班级(班级编号,班级名称)学生(学生编号,身份证号,学生姓名,入学时间,班级编号),以下说法正确的是()?A、学生编号和身份证号属性可以作为学生关系的候选码B、班级编号是班级关系在学生关系中的外码C、学生编号可以作为学生关系的主码D、学生姓名可以作为学生关系的主码3、以下关于关系模型的说法不正确的是?A、关系模型是目前最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式B、在关系模型中,我们通常说关系,其本质是对应一张表C、表中的列,通常称为属性,表中的行,通常称为元祖D、学生(学号,姓名,年龄,性别,系,年级)描述的是一个关系4、如果将一个关系看着是一张表,以下说法错误的是( )?A、表中的一行即为一个元组B、表中的一列即为一个属性C、表中的某行所有列的值的集合即为域D、表中的某行特定某列的值即为分量5、现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期)的主码是()?A、宿舍编号B、学号C、宿舍地址,姓名D、宿舍编号,学号6、如果表中的一个字段不是本表的主键,而是另一个表的主键,这个字段称为()?A、元组B、属性C、关键字D、外键7、关于关系的描述错误的是?A、关系中的每个属性是不可分解的B、在关系中元组的顺序无关紧要C、任意的一个二维表都是一个关系D、在关系中属性的顺序是无关紧要的8、关于关系和关系模式,下列说法错误的是?A、关系实际上就是关系模式在某一时刻的状态或内容B、关系模式是静态稳定的,而关系是动态变化的C、关系的描述称为关系模式,它是型,而关系是值D、关系是一张二维表,关系模式就是二维表中的数据2、多选题1、下面描述正确的是?A、一个关系其实相当于一个二维表B、关系中的列称为属性C、关系中的行称为元组D、属性的取值范围称为值域2、下面描述正确的是?A、一个二维表就是一个关系,二维表的名就是关系的名B、关系中的列称为属性,属性的个数称为关系的元或度C、关系中的行称为元组,对关系的描述称为关系模式D、属性的取值范围称为值域,元组中的一个属性值称为分量3、下面关于关系表和关系模式说法的正确的是?A、关系表是个二维结构,由行和列组成B、关系的描述称为关系模式C、关系实际上就是关系模式在某一时刻的状态D、关系是动态的、随时间不断变化第三章:关系数据库结构及形式化定义1、单选题1、要从学生关系中查询学生的姓名和性别,需要进行的关系运算是什么?A、选择B、投影C、联接D、求交2、设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡尔积,则T的元组个数为?A、400B、10000C、30000D、900002、多选题1、关系模型与其他数据模型相比有哪些突出的优点?A、关系模型对各种用户提供统一的单一的数据结构形式,即关系(二维表)B、数据库的操作都可归结为关系的运算,而关系是建立在集合代数基础上的C、具有高度的数据独立性,用户的应用程序完全不必关心物理存储细节D、数据库管理人员的工作得到了简化,易于对数据库重组和控制数据完整性1、单选题1、参照完整性是指在基本表中满足什么条件?A、主属性不能取空值B、外码可以是空值或者另一个关系主码的有效值C、用户针对具体的应用环境定义的完整性约束条件D、以上都不正确2、关于完整性约束的描述,错误的是?A、关系中的外码的取值只能是参照关系中某个元组的主码值B、关系中的外码取值可以是空值C、关系中的主码取值不能为空值D、关系中的主码取值是唯一的3、在关系模型中,任何关系除了必须满足实体的完整性、用户自定义完整性,还需要满足什么??A、结构完整性B、数据完整性C、参照完整性D、动态完整性4、以下关于关系完整性约束的说法不正确的是?A、学生信息表中,有个字段年龄,必须是大于等于0,小于等于120,这是为了保证实体的完整性约束B、关系表中,主键所在列的值可以为空C、为了保证数据库的参照完整性,从表中的外键在主表中必须存在D、员工管理系统的中的表的设计,字段性别的值只能从男、女中选择是为了保证实体完整性5、有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于?A、实体完整性约束B、参照完整性约束C、用户自定义完整性约束D、关键字完整性约束关系代数1、单选题1、己知关系R和S,R∩S等价于?A、(R-S)—SB、S-(S-R)C、(S-R)—RD、S—(R-S)第四章:数据定义1、使用SQL语句 create table students(sid int primary key , sname varchar(15) not null),当执行完成后,下面说法不正确的是?A、PRIMARY KEY 是主键约束,表明学号不能重复B、sname列中指定了非空约束,所以学生的姓名不能为空,也不能把null插入到表中去C、使用drop table students能够把整个表结构连同表中的数据全部删除D、使用delete table students 能够把整个表结构连同表中的数据全部删除2、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现哪类功能?A、数据查询B、数据操纵C、数据定义D、数据控制3、在SQL语句中,用于删除数据库的命令是哪一个?A、DROP DATABASEB、DELETE DATABASEC、DROP DBD、ERASE DATABASE4、在SQL语句中,用于删除数据表的命令是哪一个?A、DROP TABLEB、DELETE TABLEC、DROP DBFD、ERASE TABLE5、下列SQL Server语句中出现语法错误的是A、declare @myvar int;B、select * from [T]C、create database [DB]D、delete * from [T]6、SQL语言中,删除一个表的命令是A、deleteB、dropC、clearD、remove2、多选题1、以下SQL命令正确的是?A、insert database [DB]B、drop database [DB]C、delete database [DB]D、create database [DB]2、关于SQL语句 TeacherNo int not null unique,描述正确的是?A、TeacherNO是主码B、TeacherNO不能为空C、TeacherNO的值可以是“王大力”D、每一个TeacherNO必须是唯一的数据操纵1、删除表中的数据的SQL命令是以下哪一个?A、DROPB、ERASEC、CANCELD、DELETE2、现有一个学生关系模式如下: Student(Sno,Sname)以下SQL命令错误的是?A、truncate from [Student] where [Sno]="001”B、insert into [Student]values(”001","Adam");C、update [Student]set [Sname] ="Wesley”D、delete from [Student] where [Sno] =”001”3、下面说法不正确的是?A、使用insert 语句来向数据库表中插入数据,后面可以不跟列名,但是要保证插入的数据列数和类型要和表结构中的列数和类型完全一致B、insert 语句后面的 into 语句不可以省略C、update students set age =20 ,这个语句执行完成后,数据库表students 中所有记录的年龄都变成了20D、delete from students 语句执行完成后,数据库表students表中的数据都被删除4、用下面的SQL语句建立一个基本表: create table Student( Sno char(4) primary key,Sname char(8) not null, Sex char(2), Age int ) 可以插入到表中的元组是()?A、'5021’,'刘祥',男,21B、5021’,'刘祥',NULL,NULLC、5021',NULL,男,21D、NULL,'刘祥’,NULL,212、多选题1、下面说法正确的是?A、insert into 表名(列名1,列名2,列名3) values (值1,值2,值3),上面的语句是插入语句的正确写法,值的类型和列的类型对应,不然会报错B、insert语句执行成功后,返回数据库影响的行数C、update students set age =20,成功执行后,students表中所有的记录的年龄都变成了20D、delete from students 语句执行完成后,数据库表students表中的数据都被删除第五章:关系数据库规范化理论1、单选题1、关系规范化中的插入操作异常是指?A、不该删除的数据被删除B、不该插入的数据被插入C、应该删除的数据未被删除D、应该插入的数据未被插入2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是?A、关系规范化理论B、关系运算理论C、关系代数理论D、数理逻辑2、多选题1、假设仓库管理关系表为StorehouseManage(仓库ID,存储物品ID, 管理员ID,数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品.下面说法正确的是?A、删除异常是指:当仓库被清空后,所有"存储物品ID”和"数量”信息被删除的同时,"仓库ID"和"管理员ID”信息也被删除了B、插入异常是指:当仓库没有存储任何物品时,无法给仓库分配管理员C、更新异常是指:如果仓库换了管理员,则表中所有行的管理员ID都要修改D、以上说法都不正确2、设有关系模式:教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数),其语义为:一门课程(由课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数,关于该关系模式,下面说法正确的是?A、该关系模式只满足第一范式B、课程号,课程名,存在部分函数依赖关系,所以不满足第二范式C、若要满足第三范式,则这个关系模式变成如下:课程(课程号,课程名,学分) 教师(教师号,教师名)授课(课程号,教师号,授课时数),课程号为引用课程的外键,教师号为引用教师的外键D、这个关系模式满足第一、第二、第三范式3、如果数据库设计不规范,可能会导致?A、数据冗余B、更新异常C、插入异常D、删除异常4、数据库设计不规范会带来以下哪些问题?A、数据冗余B、存储空间浪费C、内存空间浪费D、基本没有影响5、假设仓库管理关系表为StorehouseManage(仓库ID,存储物品ID,管理员ID, 数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定义5.2 在R(U)中,如果X→Y,并且对于X的 任何一个真子集X',都有 , 则称Y对X完全函数依赖,记作 若X→Y,但Y不完全函数依赖于X,则称Y对X 部分函数依赖,记作 .
13
例题
[例] 在成绩表SC(Sno,Cno,Credit,Grade)中,Sno 是学号,Cno是课程号,Credit是学分,Grade是 成绩.
7
5.2.2 函数依赖
函数依赖(function dependency)是最基本的一种数 据依赖,也是设计关系模式时应着重考虑的因素. -平凡函数依赖与非平凡函数依赖 -完全函数依赖与部分函数依赖 -传递函数依赖 1.函数依赖 定义5.1 设R(U)是属性集U上的一个关系模式.X和Y是 U的子集.若对于R(U)中任意一个可能关系r,r中不存在 有两个元组,它们在X上的属性值相等,而在Y上的属性 值不等,则称"X函数决定Y",或称"Y函数依赖于X". 8 记作X→Y.
表1 不规范的关系 籍贯 姓名 省 王洪 李利 黑龙江 吉林 市/县 齐齐哈尔 长春 李利 吉林 长春
21
表2 规范后的关系 小表 姓名 王洪 省 黑龙江 市/县 齐齐哈尔
不允许 表 中 有 表
5.3.2 第二范式
[例5-6] 关系模式S-L-C(Sno, Sdept, Sloc, Cno, G) 其中,Sno为学生的学号,Sdept为学生的系别, Sloc为学生住处,假设每个系的学生住在同一个 地方,Cno为课程号,G为学生的成绩. 本例中的函数依赖包括:
函数依赖
Y=f(X) Y=sin(X)
函数
Y=X+1 Y=X2+2X+1
X是自变量,自变量确定了,Y的值也就确定了 是自变量,自变量确定了,
省=f(城市) 城市=f (省)
系名=f(学号) 学号=f(系名)
√
9
一个关系模式由五部分组成,即它是一个五元组: 描述为:R( U, D, dom, F ). 其中: (1)R是关系名; (2)U是一组属性,即组成R的全部属性的集合; (3)D为域的集合,即属性取值范围的集合; (4)dom为U与D之间的映象; (5)F是属性组U上的一组函数依赖. 说明:由于域的定义对关系模式设计关系不大,(3) 和(4)往往可以忽略.
部分函数依赖 (学号,课程号) →课程名 部分函数依赖 (学号,课程号) →学分 (学号,课程号) →成绩 完全函数依赖
14
定义5.3 在R(U)中,如果X→Y,Y→Z,且Y不是 X的子 集,Z不是Y的子集(非平凡的函数依赖), 则称Z对X传递函数依赖. 记为: 说明: 如果Y→X, 即X←→Y,则Z直接依赖于X. [例] : 在关系Std(Sno, Sdept, Mname)中,Sno是学号, Sdept是系名,Mname是系主任名,有: Sno → Sdept,Sdept → Mname Mname传递函数依赖于Sno
2
5.1 问题提出
前面的章节已经介绍了数据库当中涉及到 的基本概念,关系模型的三个部分(关系数据 结构,关系操作集合和关系完整性)以及关系 数据库的标准语言. 但是有一个很基本的问题没有提及,就是 针对一个具体的问题,应该构造几个关系模式, 每个关系由哪些属性组成,各属性之间的依赖 关系及其对关系模式性能的影响等. 这就是关系数据库逻辑设计的问题.本章 主要来讨论实体内部属性与属性之间的数据关 3 联,目标就是要设计一个"好"的数据库.
数据依赖的类型
函数依赖(Functional Dependency,简记 为FD) 多值依赖(Multivalued Dependency,简记 为MVD) 其他
6
数据依赖对关系模式的影响
"好"的模式:
不会发生插入异常,删除异常,更新异常, 数据冗余应尽可能少
"不好"原因:由存在于模式中的某些 数据依赖引起的 解决方法:通过分解关系模式来消除其 中不合适的数据依赖
S-L-C不是一个"好"的关系模 式
(1) 插入异常 没有选课的学生记录插不进去,因为Cno是主码的一部分,主 码不能为空. (2) 删除异常 删除选课记录会将学生信息也一同删掉.即不该删除的信息也 删除掉了. (3) 数据冗余度大 系别和学生住处会重复存放.如一个学生选修了10门课程,那 么他的Sdept和Sloc的值就要重复存储10次. (4) 修改复杂 如某个学生从电子商务系转到外语系,本来只需要修改此学生 的Sdept值.但因为关系模式SLC中还含有系的住处Sloc属性, 学生转系将同时改变住处,因此还必须修改Sloc的值.如果该 学生选修了3门课,由于Sdept和Sloc的值重复存放了3次,当 数据更新时必须无遗漏的修改3个元组中全部Sdept和Sloc的值, 25 这就造成了修改的复杂化.
30
采用投影分解法将一个1NF的关系分解为 多个2NF的关系,可以在一定程度上减轻 原1NF关系中存在的插入异常,删除异常, 数据冗余度大,修改复杂等问题. 但是,将一个1NF关系分解为多个2NF的 关系,并不能完全消除关系模式中的各 种异常情况和数据冗余.
31
5.3.3 第三范式
定义5.9 若R∈2NF,且每一个非主属性 都不传递函数依赖于键,则R∈3NF. 说明:
17
5.3 规范化的关系模式
范式是符合某一种级别的关系模式的集合. 关系数据库中的关系必须满足一定的要求.满足不同程度要 求的为不同范式. 范式的种类: 第一范式(1NF),第二范式(2NF),第三范式(3NF) BC范式(BCNF),第四范式(4NF),第五范式(5NF)
18
各种范式之间的关系
10
术语和符号
如果X→Y,但Y不是X的子集,则称X→Y是非 平凡的函数依赖. 如果X→Y ,但Y是X的子集,则称X→Y为平凡 的函数依赖. 说明:平凡函数依赖对于任一关系模式都是必 : 然成立的.因此, 然成立的.因此,一般讨论的都是非平凡的函 数依赖. 数依赖. 例:在关系选修(学号, 课程号, 成绩)中,
"不好"原因 分析该例,可见有2种非主属性,一是G, 它对码(Sno,Cno)是完全函数依赖.另一种 是Sdept和Sloc,它们都是部分函数依赖于码 (Sno,Cno) . 解决方法 用投影分解把S-L-C分解为两个关系模式, 以消除这些部分函数依赖 SC(Sno,Cno,G) S-L(Sno,Sdept,Sloc)
26
"分解"以后的函数依赖图:
关系模式SC的码为(Sno,Cno) 关系模式S-L的码为Sno 这样非主属性对码都是完全函数依赖
27
5.3.2 第二范式
定义5.8 若R∈1NF,且每一个非主属性完全函数依 赖于键,则R∈2NF. S-L-C(Sno, Sdept, Sloc, Cno, G) SC(Sno,Cno,G) S-L(Sno,Sdept,Sloc)
若R∈3NF,则每一个非主属性既不部分依 赖于键也不传递依赖于键. 若R∈3NF,则若R∈2NF; 反之不成立.
32
【例5-6】2NF关系模式S-L(Sno, Sdept, Sloc) 中函数依赖: 由于 Sno→Sdept Sno Sdept Sdept→Sloc 可得: ,即S-L中存在非主属性对键的传递 函数依赖,因此
第5章 关系模式的规范化设计 章
主要内容:本章讨论关系模式的规范化设计.这章 主要内容 将从数据库逻辑设计中如何构造一个好的数据库模 式这一问题出发,阐明了关系规范化理论研究的实 际背景,介绍关系内部属性与属性之间的一种约束 关系即函数依赖的各种形式.介绍规范化理论,讨 论各种范式及可能存在的插入,删除等问题,并直 观地描述解决办法.
关系模型原理的核心内容就是规范化概念. 规范化是把数据库组织成在保持存储数据 完整性的同时最小化冗余数据的结构的过程. 规范化的数据库必须符合关系模型的范式 规则.范式可以防止在使用数据库时出现不一 致的数据,并防止数据丢失. 关系模型的范式有第一范式,第二范式, 第三范式,BCNF范式,第四范式等多种.
4
5.2 数据依赖
数据依赖是关系内部属性与属性之间的一种约 束关系.这种约束关系是通过属性间值的相等 与否体现出来的数据间的相关联系,它是现实 世界属性间相互联系的抽象,是数据内在的性 质,是语义的体现. 如教师姓名和地址之间,每一个教师都有个确 教师姓名和地址之间,每一个教师都有个确 定的地址,意味着: 教师编号确定了,地址就确定了.地址依赖 于教师编号. 5
第二范式(2NF)是在第一范式(1NF)的基础上建 立起来的,即满足第二范式(2NF)必须先满足第 一范式(1NF) . 第二范式(2NF)要求实体的非主属性完全函数依 赖于主键,不存在非主属性对主键的部分函数依赖 28
2NF总结:
所有非主属性都完全函数依赖 完全函数依赖于主键, 完全函数依赖 即:不存在部分函数依赖
33
解决方法 采用投影分解法,把S-L分解为两个 关系模式,以消除传递函数依赖: S-D(Sno, Sdept) D-L(Sdept,Sloc) 其中,S-D的键为Sno, D-L的键为Sdept. 分解后的关系模式S-D与D-L中不再存在 传递函数依赖
34
15
5.2.4 键
本节用函数依赖的概念来定义键. 定义5.5 设K为R(U,F)中的属性或属性组合,若K → U 则K为R的候选键.若候选键多于一个,则选定其中的一个为 主键(Primary key). 含在任何一个候选键中的属性,叫做主属性(Prime attribute). 不包含在任何键中的属性称为非主属性(Nonprime attribute). 最简单的情况:单个属性是键. 最极端的情况:整个属性组是键,称为全键(All-key). 16
定义5.6 关系模式R中属性或属性组X并非R的键, 但X是另一个关系模式的键,则称 X是R的外部 键(Foreign key)也称外键.