第6章 关系数据理论(2)
第6章关系数据理论
6.1.3 为什么要讨论函数依赖?
关系 : S-L-C(Sno,Sdept,SLOC,Cno,Grade)
Sno 9512101 9512101 9512101 9512102 9512102 9521102 9521102 9521102 9521102 9521103 9521103 9531101 9531101 Sname 李勇 李勇 李勇 刘晨 刘晨 吴宾 吴宾 吴宾 吴宾 张海 张海 钱小平 钱小平 Ssex 男 男 男 男 男 女 女 女 女 男 男 女 女 Sdept 计算机系 计算机系 计算机系 计算机系 计算机系 信息系 信息系 信息系 信息系 信息系 信息系 数学系 数学系 Sloc 2公寓 2公寓 2公寓 2公寓 2公寓 1公寓 1公寓 1公寓 1公寓 1公寓 1公寓 1公寓 1公寓 Cno c01 c02 c06 c02 c04 c01 c02 c04 c05 c02 c06 c01 c05 Grade 90 86 NULL 78 66 82 75 92 50 68 NULL 80 95
• 第一范式(1NF) • 第二范式(2NF) • 第三范式(3NF)
第一范式
第一范式(1NF):不包含重复组的关系
第二范式
第二范式(2NF) :如果R(U,F)∈1NF,并 且R中的每个非主属性都完全函数依赖 于主码,则R(U,F)∈2NF。
例: S-L-C(Sno,Sdept,SLOC,Cno,Grade)
第三范式
第三范式(3NF):如果R(U,F )∈2NF, 并且所有非主属性都不传递依赖于主码, 则R(U,F )∈3NF。
• S-L(Sno,Sdept,SLOC) • ∵Sno传递→SLOC, ∴不是3NF
分解方法
• (1)对于不是候选码的每个决定因子,从 表中删去依赖于它的所有属性; • (2)新建一个表,新表中包含在原表中所 有依赖于该决定因子的属性; • (3)将决定因子作为新表的主码。
db第6章习题答案
第六章关系数据理论一、选择题1. 为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是(A)。
A. 关系规范化理论B. 关系代数理论C.数理逻辑 D. 关系运算理论2. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是(B )。
A. 长度不变的B. 不可分解的C.互相关联的 D. 互不相关的3. 已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C ,E →A },该关系模式的候选关键字是(B )。
B. BE D. DE4. 设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO,则关系R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主键为SNO和CNO,其满足(A )。
A. 1NFC. 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的一个关键字是( D)。
A. (S,C)B. (T,R)C. (T,P)D. (T,S)6. 关系模式中,满足2NF的模式(B )。
A. 可能是1NFB. 必定是1NFC. 必定是3NFD. 必定是BCNF7. 关系模式R中的属性全是主属性,则R的最高范式必定是(C )。
A. 1NFB. 2NFC. 3NFD. BCNF8. 消除了部分函数依赖的1NF的关系模式,必定是(B )。
A. 1NFB. 2NFC. 3NFD. BCNF9. 如果A->B ,那么属性A和属性B的联系是(B )。
A. 一对多B. 多对一C.多对多 D. 以上都不是10. 关系模式的候选关键字可以有1个或多个,而主关键字有(C )。
关系数据理论
练习:给出一个具有传递函数依赖的关系模式例子
存在传递函数依赖的例子
示例
考虑为管理职工的工资信息而设计一个关系模式
职工 赵明 钱广 孙志 李开 周祥
级别 4 5 6 5 6
工资 500 600 700 600 700
函数依赖
候选码:设K为R< U , F >的属性(组),若K f U,
消除非主属性对码的部分依赖 如S2NF,因为 (S#,C#)p SN (S#,C#)p SD
2NF
改造
非主属性有两种,一种完全依赖于码,一种部分依赖于码。 将S分解为: SC(S# , C# , G) S_SD(S# , SN , SD , DEAN)
练习
关系模式R(A,B,C,D),码为AB,给出它的一个函数 依赖集,使得R属于1NF而不属于2NF
第六章 关系数据理论
内容出处: 1.Abraham Silberschatz《数据库系统概念》第七 章
第六章 关系数据理论
教学目的
本章讨论如何进行关系数据库的逻辑设计。首先介绍函数依赖的概念,然 后利用函数依赖和其他类型的依赖定义范式,并给出利用Armstrong公理 系统确定范式级别的方法,最后介绍一些将关系模式分解为更高级范式的 模式分解算法。
问题:关系模式的形式描述?
关系模式的设计问题
关系模式的形式描述
关系模式由五部分组成,即关系模式是一个五元组: R(U,D,DOM,F)
R:关系名 U:组成该关系的属性名集合 D:属性组U中属性所来自的域 DOM:属性到域的映射 F:属性间的数据依赖集合。它限定了组成关系的各个元组
3NF
不良特性
S_SD(S# , SN , SD , DEAN)
数据库系统概论AnIntroductiontoDatabaseSystem第6章关
2、左边为单属性的函数依赖集的候选关键字成员 图论判定方法
定义:函数依赖图G是一个有序二元组(R,F), 记作 G=(R,F)
其中:(1)R=(A1,A2,…,An)是一个有限非 空集, Ai (i=1,2,…,n)是G的结点,他们表示对 应关系模式R=(A1,A2,…,An)的属性。
(2)F是G的边集,每条边表示一个函数依赖 Ai→Aj,则F是R的单属性最小依赖集
第6章 关系数据理论
6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 *6.4 模式的分解
6.3 数据依赖的公理系统
➢ 函数依赖的推导公理(Armstrong公理) ➢ 函数依赖与属性关系 ➢ 闭包及其计算 ➢ 函数依赖集的最小集 ➢ 候选关键字的求解理论和算法
五、候选关键字的求解理论和算 法
2、左边为单属性的函数依赖集的候选关键字成员 图论判定方法
A1 A5
术语:
A3
1. 引入线/引出线:
2. 原始点:只有引出线的结点(L类属性)
3. 终结点:只有引入线的结点(R类属性)
4. 途中点:既有引入线又有引出线的结点
A2
(LR类属性)
5. 孤立点:既无引入线又无引出线的结点(N
类属性)
6. 关键点:原始点和孤立点统称为关键点
对于给定的关系R(A1,A2,…,An)和函数 依赖集F,属性分为四类:
L类:仅出现在F的函数依赖左部的属性
R类:仅出现在F的函数依赖右部的属性
N类:在F的函数依赖左右两边均未出现的属性
LR类:在F的函数依赖左右两边均出现的属性
1、快速求解候选关键字的一个充 分条件
➢ 定理1 对于给定的关系模式R和函数依赖集 F,若X(X∈R)是L类属性,则X必为R的 任一候选关键字的成员。
数据库系统概论CH6(部分)习题解答
第六章关系数据理论第六章讲解关系数据理论。
这是关系数据库的又一个重点。
学习本章的目的有两个。
一个是理论方面的,本章用更加形式化的关系数据理论来描述和研究关系模型。
另一个是实践方面的,关系数据理论是我们进行数据库设计的有力工具。
因此,人们也把关系数据理论中的规范化理论称为数据库设计理论,有的书把它放在数据库设计部分介绍以强调它对数据库设计的指导作用。
一、基本知识点本章讲解关系数据理论,内容理论性较强,分为基本要求部分(《概论》6.1~6.3)和高级部分《概论》6.4)。
前者是计算机大学本科学生应该掌握的内容;后者是研究生应该学习掌握的内容。
①需要了解的:什么是一个“不好”的数据库模式;什么是模式的插入异常和删除异常;规范化理论的重要意义。
②需要牢固掌握的:关系的形式化定义;数据依赖的基本概念(函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念,码、候选码、外码的概念和定义,多值依赖的概念);范式的概念;从lNF 到4NF的定义;规范化的含义和作用。
③需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法;能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。
④难点:各个级别范式的关系及其证明。
二、习题解答和解析1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、lNF、2NF、3NF、BCNF、多值依赖、4NF。
解析解答本题不能仅仅把《概论》上的定义写下来。
关键是真正理解和运用这些概念。
答函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。
对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
《数据库系统概论》复习重点问答题6-关系数据理论
问答题6—关系数据理论一、第6章课后习题P195-2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。
描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区描述班级的属性有:班号、专业名、系名、人数、入校年份描述系的属性有:系号、系名、系办公室地点、人数描述学会的属性有:学会名、成立年份、地点、人数有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。
一个系的学生住在同一个宿舍区。
每个学生可参加若干学会,每个学会有若干学生。
学生参加某学会有一个入会年份。
(1)请写出关系模式答:学生(学号,姓名,出生年月,系名,班号,宿舍区)班级(班号,专业名,系号,班级人数,入校年份)系(系号,系名,系办公室地点,系人数)学会(学会名,成立年份,地点,学会人数)参加(学号,学会名,入会年份)(2)写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖。
对于函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。
答:F(学生) ={学号→姓名,学号→出生日期,学号→班号,班号→系名,系名→宿舍区}F(班级) ={班号→专业名,班号→班级人数,班号→入校年份,专业名→系名,(专业名,入校年份→班号)}F(系) ={系号→系名,系名→系号,系号→系办公室地点,系号→系人数}F(学会) ={学会名→成立年份,学会名→地点,学会名→学会人数,F(参加) ={(学号,学会名)→入会年份}其中:F(学生)中存在传递函数依赖:学号→系名,学号→宿舍区,班号→宿舍区因为:学号→班号,班号→系名,系名→宿舍区C(班级)中存在传递函数依赖:班号→系名因为:班号→专业名,专业名→系名(S#,PN)→DATE2和(CS,CDA TE)→C#均为SP中的函数依赖,是完全函数依赖。
(3)指出各个关系模式的候选码、外码,以及有没有全码存在 答:P196-12.下面的结论哪些是正确的,哪些是错误的,对于错误的结论请给出理由或给出一个反例说明之。
第6章 关系数据理论-练习
(1)有3个函数依赖: (商店编号,商品编号)→部门编号 (商店编号,商品编号)→商品库存数量 (商店编号,部门编号) →负责人 (2) R的候选码是(商店编号,商品编号)。 (3)因为R中存在着非主属性“负责人”对候选码(商 店编号,商品编号)的传递函数依赖,所以R属于 2NF,R不属于3NF。 (4)将R分解成:R1(商店编号,商品编号,商品库存 数量,部门编号) R2(商店编号,部门编号,负责人)
• (1)由已知事实可知,R上存在函数依赖:学号→系 名,系名→公寓楼号,公寓楼号→系名,所以R的键是 学号。由于R中不存在非主属性对主属性的部分函数依 赖,所以R属于2NF,又由于R中存在非主属性公寓楼号 对主属性学号的传递函数依赖,所以R不属于3NF,因 此R最高属于2NF; • (2)以题中的表为例,若要将数学系的楼号改为SS04, 则对数学系所有学生的记录都要修改,而若将学号为 2001的学生记录删除,则系名“外语”和楼号 “SS03”也不复存在了,这些问题都是由于R中存在非 主属性公寓楼号对主属性学号的传递函数依赖; • (3)可以将R分解为R1(学号,系名)R2(系名,公寓楼 号),分解后的两个关系模式中均不再有数据冗余和删 除异常现象。
解:R是1NF。 W Y 侯选码为WX,则Y,Z为非主属性, XY 又由于X→Z, 因此F中存在非主属性对 ZY 侯选码的部分函数依赖。 将关系分解为: R1(W,X,Y),F1 = { WX→Y } R2(X,Z),F2 = { X→Z } 消除了非主属性对码的部分函数依赖。 F1和F2中的函数依赖都是非平凡的,并且决定因素是候 选码,所以上述关系模式是BCNF
4、假设某商业集团数据库中有一关系模式R如下 :
R(商店编号,商品编号,商品库存数量,部门 编号,负责人) 如果规定:
第六章-关系数据理论第七章-数据库设计补充复习题附带答案
第6章关系数据理论一.选择题1.对关系模式进行规范化的主要目的是BA.提高数据操作效率B.维护数据的一致性C.加强数据的安全性D.为用户提供更快捷的数据操作2.关系模式中的插入异常是指DA.插入的数据违反了实体完整性约束B.插入的数据违反了用户定义的完整性约束C.插入了不该插入的数据D.应该被插入的数据不能被插入3.如果有函数依赖X→Y,并且对X的任意真子集X’,都有X’Y,则称C A.X完全函数依赖于Y B.X部分函数依赖于YC.Y完全函数依赖于X D.Y部分函数依赖于X4.如果有函数依赖X→Y,并且对X的某个真子集X’,有X’→Y成立,则称B A.Y完全函数依赖于X B.Y部分函数依赖于XC.X完全函数依赖于Y D.X部分函数依赖于Y5.若X→Y和Y→Z在关系模式R上成立,则X→Z在R上也成立。
该推理规则称为CA.自反规则B.增广规则C.传递规则D.伪传递规则6.若关系模式R中属性A仅出现在函数依赖的左部,则A为AA.L类属性B.R类属性C.N类属性D.LR类属性7.若关系模式R中属性A是N类属性,则A DA.一定不包含在R任何候选码中B.可能包含也可能不包含在R的候选码中C.一定包含在R的某个候选码中D.一定包含在R的任何候选码中8.设F是某关系模式的极小函数依赖集。
下列关于F的说法,错误的是B A.F中每个函数依赖的右部都必须是单个属性B.F中每个函数依赖的左部都必须是单个属性C.F中不能有冗余的函数依赖D.F中每个函数依赖的左部不能有冗余属性9.有关系模式:学生(学号,姓名,所在系,系主任),设一个系只有一个系主任,则该关系模式至少属于BA.第一范式B.第二范式C.第三范式D.BC范式10.设有关系模式R(X, Y, Z),其F={Y→Z, Y→X, X→YZ},则该关系模式至少属于DA.第一范式B.第二范式C.第三范式D.BC范式11.下列关于关系模式与范式的说法,错误的是DA.任何一个只包含两个属性的关系模式一定属于3NFB.任何一个只包含两个属性的关系模式一定属于BCNFC.任何一个只包含两个属性的关系模式一定属于2NFD.任何一个只包含三个属性的关系模式一定属于3NF12.有关系模式:借书(书号,书名,库存量,读者号,借书日期,还书日期),设一个读者可以多次借阅同一本书,但对一种书(用书号唯一标识)不能同时借多本。
数据库系统概论(第五版)第6章 PPT
问题的提出(续)
由于D、DOM与模式设计关系不大,因此在本章中把 关系模式看作一个三元组:R<U,F>
当且仅当U上的一个关系r满足F时,r称为关系模式 R<U,F>的一个关系
作为二维表,关系要符合一个最基本的条件:每个分 量必须是不可分开的数据项。满足了这个条件的关系 模式就属于第一范式(1NF)
*
问题的提出(续)
❖ 结论
Student关系模式不是一个好的模式。 一个“好”的模式应当不会发生插入异常、删除异常和更
新异常,数据冗余应尽可能少。
❖ 原因
由存在于模式中的某些数据依赖引起的。
❖ 解决方法
用规范化理论改造关系模式来消除其中不合适的数据依赖
*
问题的提出(续)
❖ 把这个单一的模式分成三个关系模式:
问题的提出(续)
❖ 数据依赖
是一个关系内部属性与属性之间的一种约束关系
通过属性间值的相等与否体现出来的数据间相互联系
是现实世界属性间相互联系的抽象 是数据内在的性质 是语义的体现
*
大家应该也有点累了,稍作休息
大家有疑问的,可以询问和交流
问题的提出(续)
❖ 数据依赖的主要类型
函数依赖(Functional Dependency,简记为FD) 多值依赖(Multi-Valued Dependency,简记为MVD)
某系更换系主任后,必须修改与该系学生有关的每一个 元组。
*
问题的提出(续)
(3)插入异常(Insertion Anomalies)
如果一个系刚成立,尚无学生,则无法把这个系及其 系主任的信息存入数据库。
*
问题的提出(续)
(4)删除异常(Deletion Anomalies)
第06章 关系数据理论(习题课)
基本概念
完全函数依赖和部分函数依赖: 完全函数依赖和部分函数依赖: 在关系模式R(U)中: 中 在关系模式 X→Y,且对于X的任何一个真子集X ,都有X 若X→Y,且对于X的任何一个真子集X',都有X' Y, f 则称Y完全函数依赖于X 记作X 则称Y完全函数依赖于X,记作X Y. 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依 X→Y, 不完全函数依赖于X 则称Y P 赖于X 记作X 赖于X,记作X Y. 传递函数依赖: 传递函数依赖: 在关系模式R(U)中 在关系模式R(U)中,若X→Y,Y→Z,且Y X,Y X R(U) X→Y,Y→Z, 则称Z传递函数依赖于X 记作X ,则称Z传递函数依赖于X ,记作X t Z .
14
基本概念
解析: 解析: 函数依赖是最基本的,也是最重要的一种数据依赖. ⑴函数依赖是最基本的,也是最重要的一种数据依赖. 函数依赖是属性之间的一种联系, ⑵函数依赖是属性之间的一种联系,体现在属性值是否相 由定义可知, X→Y, 中任意两个元组, 等.由定义可知,若X→Y,则 r中任意两个元组,如果它 们在X上的属性值相等, 那么在Y上的属性值也一定相等. 们在X上的属性值相等, 那么在Y上的属性值也一定相等. 实际存在的语义来确定属性间的函数依赖 要从属性间实际存在的语义来确定属性间的函数依赖. ⑶要从属性间实际存在的语义来确定属性间的函数依赖. ⑷函数依赖不是指关系模式R在某个时刻的关系(值)满足的 函数依赖不是指关系模式R在某个时刻的关系( 约束条件,而是指R 约束条件,而是指R在任何时刻的一切关系均要满足的约束 条件. 条件.
11
基本知识点
需要举一反三的: 需要举一反三的: 1.四个范式的理解与应用 1.四个范式的理解与应用 2.能根据数据依赖分析某一个关系模式属于第几范式; 2.能根据数据依赖分析某一个关系模式属于第几范式; 能根据数据依赖分析某一个关系模式属于第几范式 3.能够根据应用语义,完整地写出关系模式的函数依赖 3.能够根据应用语义, 能够根据应用语义 集合,并求出最小依赖集; 集合,并求出最小依赖集; 4.能确定关系模式R的候选码; 4.能确定关系模式R的候选码; 能确定关系模式 5.能判断模式分解是否具有无损连接性和保持函数依赖 5.能判断模式分解是否具有无损连接性和保持函数依赖 6.掌握模式分解的方法 6.掌握模式分解的方法
数据库系统概论习题及答案 其它题
数据库系统概论复习资料:第一章假设教学管理规定:①一个学生可选修多门课,一门课有若干学生选修;②一个教师可讲授多门课,一门课只有一个教师讲授;③一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型;第2章关系数据库1、设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。
(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。
(4)检索”李强”同学不学课程的课程号(C#)。
(5)检索至少选修两门课程的学生学号(S#)。
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。
(8)检索选修课程号为k1和k5的学生学号(S#)。
(9)检索选修全部课程的学生姓名(SNAME)。
(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。
(11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。
解:本题各个查询语句对应的关系代数表达式表示如下:(1). ∏C#,CNAME(σTEACHER=‘程军’(C))(2). ∏S#,SNAME(σAGE>21∧SEX=”男”(C))(3). ∏SNAME{s [∏S#,C#(sc )÷∏C#(σTEACHER=‘程军’(C))]}(4). ∏C#(C)- ∏C#(σSNAME=‘李强’(S) SC) (5). ∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))(6). ∏C#,CNAME(C (∏S#,C#(sc)÷∏S#(S)))(7). ∏S#(SC∏C#(σTEACHER=‘程军’(C)))(8). ∏S#,C#(sc )÷∏C#(σC#=’k1’∨ C#=’k5’(C)) (9). ∏SNAME{s[∏S#,C#(sc )÷∏C#(C)]}(10). ∏S#,C#(sc )÷∏C#(σS#=’2’(SC))(11). ∏S#,SNAME{s[∏S#(SCσCNAME=‘C 语言’(C))]}2、关系R 和S 如下图所示,试计算R ÷S 。
数据库第6章第7章习题
第6章关系数据理论一.选择题1.对关系模式进行规范化的主要目的是BA.提高数据操作效率B.维护数据的一致性C.加强数据的安全性D.为用户提供更快捷的数据操作2.关系模式中的插入异常是指DA.插入的数据违反了实体完整性约束B.插入的数据违反了用户定义的完整性约束C.插入了不该插入的数据D.应该被插入的数据不能被插入3.如果有函数依赖X→Y,并且对X的任意真子集X’,都有X’Y,则称C A.X完全函数依赖于Y B.X部分函数依赖于YC.Y完全函数依赖于X D.Y部分函数依赖于X4.如果有函数依赖X→Y,并且对X的某个真子集X’,有X’→Y成立,则称B A.Y完全函数依赖于X B.Y部分函数依赖于XC.X完全函数依赖于Y D.X部分函数依赖于Y5.若X→Y和Y→Z在关系模式R上成立,则X→Z在R上也成立。
该推理规则称为C A.自反规则B.增广规则C.传递规则D.伪传递规则6.若关系模式R中属性A仅出现在函数依赖的左部,则A为AA.L类属性B.R类属性C.N类属性D.LR类属性7.若关系模式R中属性A是N类属性,则A DA.一定不包含在R任何候选码中B.可能包含也可能不包含在R的候选码中C.一定包含在R的某个候选码中D.一定包含在R的任何候选码中8.设F是某关系模式的极小函数依赖集。
下列关于F的说法,错误的是B A.F中每个函数依赖的右部都必须是单个属性B.F中每个函数依赖的左部都必须是单个属性C.F中不能有冗余的函数依赖D.F中每个函数依赖的左部不能有冗余属性9.有关系模式:学生(学号,姓名,所在系,系主任),设一个系只有一个系主任,则该关系模式至少属于BA.第一范式B.第二范式C.第三范式D.BC范式10.设有关系模式R(X, Y, Z),其F={Y→Z, Y→X, X→YZ},则该关系模式至少属于DA.第一范式B.第二范式C.第三范式D.BC范式11.下列关于关系模式与范式的说法,错误的是DA.任何一个只包含两个属性的关系模式一定属于3NFB.任何一个只包含两个属性的关系模式一定属于BCNFC.任何一个只包含两个属性的关系模式一定属于2NFD.任何一个只包含三个属性的关系模式一定属于3NF12.有关系模式:借书(书号,书名,库存量,读者号,借书日期,还书日期),设一个读者可以多次借阅同一本书,但对一种书(用书号唯一标识)不能同时借多本。
数据库第六章
五、数据依赖对关系模式旳影响
[例1]建立一种描述学校教务旳数据库:
学生旳学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程名(Cname) 成绩(Grade)
单一旳关系模式 : Student <U、F>
U ={ Sno, Sdept, Mname, Cname, Grade }
[例2]
关系模式S(Sno, Sdept, Sage),单个属性Sno是码, SC(Sno,Cno,Grade)中,(Sno,Cno)是码 [例3]
关系模式R(P,W,A) P:演奏者 W:作品 A:听众 一种演奏者能够演奏多种作品 某一作品可被多种演奏者演奏 听众能够欣赏不同演奏者旳不同作品 码为(P,W,A),即All-Key
❖ 函数依赖涉及: (Sno, Cno) F Grade Sno → Sdept (Sno, Cno) P Sdept Sno → Sloc (Sno, Cno) P Sloc Sdept → Sloc
2NF(续)
S-L-C
Sno
Sdept
Grade
Cno
Sloc
❖ S-L-C旳码为(Sno, Cno) ❖ S-L-C满足第一范式。 ❖ 非主属性Sdept和Sloc部分函数依赖于码(Sno, Cno)
例:S-L-C(Sno, Sdept, Sloc, Cno, Grade) ∈1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) ∈2NF SC(Sno, Cno, Grade) ∈ 2NF S-L(Sno, Sdept, Sloc) ∈ 2NF
2NF(续)
❖ 采用投影分解法将一种1NF旳关系分解为多种2NF旳关系, 能够在一定程度上减轻原1NF关系中存在旳插入异常、删 除异常、数据冗余度大、修改复杂等问题。
数据库第06章_关系数据理(习题课)
S中存在传递函数依赖:
Cno→Sdept,Sdept→Sloc ,Cno→Sloc
26
作业
(2)班级关系模式: 关系模式: C(Cno,Cspec,Sdept,Cnum,Cdate) 极小函数依赖集为: C:Cno→Cspec,Cspec→Sdept,Cno→Cnum
Cno→Cdate,(Cspec,Cdate) →Cno
Sno Sname Sage 20 21 22 Sdept 001 002 003 deptID Dname Mname 2001011 李华 2001012 顾芳 2001013 张林
001
002 003
自动化
计算机 管理
张三
李四 王五
13
主码和外码表示了关系之间的联系。
13
课堂练习题:
下列关于关系模式的码的叙述中,哪一条
22
12.已知:关系模式R(U,F)中,U=ABCDEG.
F={BG→C,BD→E,DG→C,ADG→BC,AG→B,B→D}求: (1)R的侯选码(2)R最高满足第几范式 13.设有关系模式R(职工号,项目名,工资,部门名, 部门经理) 如果规定:每个职工可以参加多个项目,各领一份工资; 每个项目只属于一个部门管, 每个部门只有一个经理。 (1)写出该关系模式的函数依赖集合。 (2)判断候选码。 (3)说明不满足2NF的理由,并把R分解为2NF的模式集
平凡函数依赖不反映新的语义,无实际意义和价值; 无特别声明,均讨论有语义价值的非平凡依赖。
5
5
几种函数依赖类型(二):
在关系模式R(U)中,如果X→Y,并且对于X的任何一 个真子集X’,都有X’ Y, 则称Y完全函数依赖于X, 记作X fY,否则称Y部分函数依赖于X,记作X P Y。
数据库原理第六章关系数据理论
6.2 规范化
规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依 赖,以解决插入异常、删除异常、更新异常和数据冗余问题。
6.2.1 函数依赖
一、函数依赖 二、平凡函数依赖与非平凡函数依赖 三、完全函数依赖与部分函数依赖 四、传递函数依赖
一、函数依赖
定义6.1 设R(U)是一个属性集U上的关系模式,X和Y
• 主属性与非主属性 • ALL KEY
外部码
定义6.5 关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式 的码,则称 X 是R 的外部码(Foreign key)也称外码
• 主码又和外部码一起提供了表示关系间联系 的手段。
6.2.3 范式
• 范式是符合某一种级别的关系模式的集合。 • 关系数据库中的关系必须满足一定的要求。满足
什么是数据依赖(续)
3. 数据依赖的类型
• 函数依赖(Functional Dependency,简记为FD) • 多值依赖(Multivalued Dependency,简记为MVD) • 其他
四、关系模式的简化表示
● 关系模式R(U, D, DOM, F) 简化为一个三元组:
R(U, F)
r r R ● 当且仅当U上的一个关系
注: 如果Y→X, 即X←→Y,则Z直接依赖于X。
例: 在关系Std(Sno, Sdept, Mname)中,有: Sno → Sdept,Sdept → Mname Mname传递函数依赖于Sno
6.2.2 码
定义6.4 设K为关系模式R<U,F>中的属性或属 性组合。若K f U,则K称为R的一个侯选 码(Candidate Key)。若关系模式R有多个 候选码,则选定其中的一个做为主码(Prim ary key)。
第6章 关系数据理论
A. XY B. YX C. X∩Y=φ D. X∩Y≠φ
9. 设有关系模式R(S,D,M),其函数依赖集F={S→D,D→M},则关系模式R的规范化程度最高达到( )。
4. 如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选码,则称R为 关系模式。
5. 在函数依赖中,平凡函数依赖是可以根据Armstrong推理规则中的 律推出的。
6. 关系模式规范化需要考虑数据间的依赖关系,人们已经提出了多种类型的数据依赖,其中最重要的是 和 。
11. 若属性B函数依赖于属性A,属性A与B的联系是( )。
A. 一对多 B. 多对一 C. 多对多 D. 以上都不是
12. 在关系模式中,如果属性A和属性B的值存在一对一的联系,则有( )。
A. A→B B. B→A C. A←→B D. 以上都不是
(3) R(X,Y,Z),F={Y→Z,Y→X,X→YZ }
(4) R(W,X,Y,Z),F={X→Z,WX→Y }
14. 设有关系模式R(U,F),其中U={E,F,G,H},F={E→G,G→E ,F→EG,FH→E },求F的最小依赖集Fm。
15. 什么是无损连接的分解?什么是保持函数依赖的分解?
第6章 关系数据理论
一、选择题
1. 关系规范化中插入操作异常是指( ),删除操作异常是指( )。
A. 不该删除的数据被删除 B. 不该插入的数据被插入
C. 应该删除的数据未被删除 D. 应该插入的数据未被插入
2. 关系模式中各级范式之间的关系为( )。
C. 一定属于BCNF D. A和C都是
15. 关系模式的候选码可以有1个或多个,而主码有( )。
《数据库系统概论》第六章关系数据理论复习题及答案
《数据库系统概论》第六章关系数据理论复习题及答案一、选择题1、关系规范化中的删除操作异常是指①,插入操作异常是指②。
A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入答案:①A ②D2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是。
A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑答案:A3、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及冗余度大的缺陷。
A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失答案:C4、当关系模式R(A,B)已属于3NF,下列说法中是正确的。
A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A 和C都是答案:B5、关系模型中的关系模式至少是。
A.1NF B.2NF C.3NF D.BCNF 答案:A 6、在关系DB中,任何二元关系模式的最高范式必定是。
A.1NF B.2NF C.3NF D.BCNF 答案:D7、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是。
A.2NF B.3NF C.4NF D.BCNF 答案:C8、候选关键字中的属性称为。
A.非主属性 B.主属性 C.复合属性 D.关键属性答案:B9、消除了部分函数依赖的1NF的关系模式,必定是。
A.1NF B.2NF C.3NF D.4NF 答案:B10、关系模式的候选关键字可以有①,主关键字有②。
A.0个B.1个 C.1个或多个 D.多个答案:①C ②B 11、关系模式的分解不惟一。
A.惟一 B.不惟一答案:B12、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。
下面“部门”关系中,因哪个属性而使它不满足第一范式? 。
部门(部门号,部门名,部门成员,部门总经理)A.部门总经理 B.部门成员 C.部门名 D.部门号答案:B二、填空题1、在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在S中称为。
数据库系统概论课后习题答案
第1章绪论习题参考答案13.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。
这些零件由不同的原材料制成,不同零件所用的材料可以相同。
这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
请用E-R图画山此工厂产品,零件,材第2章关系数据库习题参考答案5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σJno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))第3章 SQL语言习题参考答案用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S( Sno CHAR(2) UNIQUE,Sname CHAR(6) ,Status CHAR(2),City CHAR(4));零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P( Pno CHAR(2) UNIQUE,Pname CHAR(6),COLOR CHAR(2),WEIGHT INT);工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J( JNO CHAR(2) UNlQUE,JNAME CHAR(8),CITY CHAR(4));供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ( SNO CHAR(2),PNO CHAR(2),JNO CHAR(2), QTY INT);4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:求供应工程J1零件的供应商号码SNO:SELECT SNO FROM SPJWHERE JNO=’J1’求供应工程J1零件P1的供应商号码SNO:SELECT SNO FROM SPJWHERE JNO='J1' AND PNO='P1'求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,PWHERE JNO='J1' AND = AND COLOR='红'求没有使用天津供应商生产的红色零件的工程号JNO:SELECT JNO FROM SPJWHERE JNO NOT IN (SELECT JNO FROM SPJ,P,SWHERE ='天津' AND COLOR='红' AND =AND =;或者:SELECT JNO FROM JWHERE NOT EXITS( SELECT * FROM SPJ,S,PWHERE = AND =;求至少用了供应商S1所供应的全部零件的工程号JNO。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BCNF的关系模式所具有的性质 的关系模式所具有的性质
⒈ 所有非主属性都完全函数依赖于每个候选码 ⒉ 所有主属性都完全函数依赖于每个不包含它的候选码 ⒊ 没有任何属性完全函数依赖于非码的任何一组属性
6.2.5 多值依赖与第四范式(4NF) 多值依赖与第四范式( )
例: 学校中某一门课程由多个教师讲授,他们使用相同 的一套参考书。每个教师可以讲授多门课程。每种 参考书可以供多门课程使用。
注意:由自反律所得到的函数依赖均是平凡的函数依赖,自反律 的使用并不依赖于F
定理 6.l Armstrong推理规则是正确的 推理规则是正确的 (l)自反律:若Y ⊆ X ⊆ U,则X →Y为F所蕴含 证: 设Y ⊆ X ⊆ U
对R <U,F> 的任一关系r中的任意两个元组t,s: 若t[X]=s[X],由于Y ⊆ X,有t[y]=s[y], 所以X→Y成立. 自反律得证
XZ→YZ为F所蕴含.
增广律得证。
定理6.l 定理
(3) 传递律:若X→Y及Y→Z为F所蕴含,则 X→Z为 F所蕴含。 证:设X→Y及Y→Z为F所蕴含。
对R<U,F> 的任一关系 r中的任意两个元组 t,s。 若t[X]=s[X],由于X→Y,有 t[Y]=s[Y]; 再由Y→Z,有t[Z]=s[Z],所以X→Z为F所蕴含. 传递律得证。
一、多值依赖
定义6.10
设R(U)是一个属性集U上的一个关系模式, X、 Y和Z 是U的子集,并且Z=U-X-Y,多值依赖 X→→Y成立 当且仅当对R的任一关系r,r在(X,Z)上的每个值对 应一组Y的值,这组值仅仅决定于X值而与Z值无关
例 Teaching(C, T, B)
对于C的每一个值,T有一组值与之对应,而不论B取 何值
多值依赖( 多值依赖(续)
(2) 若函数依赖X→Y在R(U)上成立,则对于任何Y' ⊂ Y均有X→Y' 成立 多值依赖X→→Y若在R(U)上成立,不能断言对于任 何Y' ⊂ Y有X→→Y' 成立
二、第四范式(4NF) 第四范式( )
定义6.10 关系模式R<U,F>∈1NF,如果对 于R的每个非平凡多值依赖X→→Y(Y ⊆ X), X都含有候选码,则R∈4NF。 如果R ∈ 4NF, 则R ∈ BCNF
多值依赖与函数依赖的区别
(1) 有效性 多值依赖的有效性与属性集的范围有关
若X→→Y在U上成立,则在W(X Y ⊆ W ⊆ U)上一定成立;反之则不然, 即X→→Y在W(W ⊂ U)上成立,在U上并不一定成立 多值依赖的定义中不仅涉及属性组 X和 Y,而且涉及U中其余属性Z。 一般地,在R(U)上若有X→→Y在W(W ⊂ U)上成立,则称 X→→Y为R(U)的嵌入型多值依赖 只要在R(U)的任何一个关系r中,元组在X和Y上的值满足定义5.l(函数 依赖),则函数依赖X→Y在任何属性集W(X Y ⊆ W ⊆U)上成立。
练习
2。判断下列模式属于哪个范式(最高)
1)R(A,B,C,D), 1 R(A,B,C,D), F={AB CD,B C} 2)R(A,B,C), F={A BC,B C} 3) R(A,B,C), F={AB C, C B}
例题
3. 对如下关系R,指出是否存在多值依赖C HR
C C1 C1 C1 C1
教员T
李勇 李勇 李勇 王军 王军 王军 李勇 李勇 李勇 张平 张平 张平 …
参考书B
普通物理学 光学原理 物理习题集 普通物理学 光学原理 物理习题集 数学分析 微分方程 高等代数 数学分析 微分方程 高等代数 …
多值依赖与第四范式( 多值依赖与第四范式(续)
Teaching∈BCNF: Teach具有唯一候选码(C,T,B), 即全码 Teaching模式中存在的问题 (1)数据冗余度大:有多少名任课教师,参考书 就要存储多少次
2. 导出规则
1.根据A1,A2,A3这三条推理规则可以得到下面 三条推理规则:
合并规则:由X→Y,X→Z,有X→YZ。
(A2, A3)
伪传递规则:由X→Y,WY→Z,有XW→Z。
(A2, A3)
分解规则:由X→Y及 Z⊆Y,有X→Z。
(A1, A3)
导出规则
2.根据合并规则和分解规则,可得引理6.1 引理6.l X→A1 A2…Ak成立的充分必要条 件是X→Ai成立(i=l,2,…,k)。
关于闭包的引理 引理6.2 设F为属性集U上的一组函数依赖,X,Y ⊆ U, X→Y能由F 根据Armstrong公理导出的充分必 要条件是Y ⊆XF+ 用途
将判定X→Y是否能由F根据Armstrong公理导出的问题, 就转化为求出XF+ ,判定Y是否为XF+的子集的问题
算法 6.1 Define XF+ = closure of X = set of attributes functionally determined byX Basis: XF+ :=X Induction: If Y⊆ XF+, and Y A is a given FD, then add A to XF+ XF+
数据库系统概论
An Introduction to Database System
第六章 关系数据理论(续) 关系数据理论(
山东科技大学信息学院计算机系
6.2.6 BC范式(BCNF) 范式( 范式 )
定义6.9 设关系模式R<U,F>∈1NF,如果对于R的每 个函数依赖X→Y,若Y不属于X,则X必含有候选码,那 么R∈BCNF。 若R∈BCNF 每一个决定属性集(因素)都包含(候选)码 R中的所有属性(主、非主属性)都完全函数依赖于码 R∈3NF(证明)
一、多值依赖
在R(U)的任一关系r中,如果存在元组t,s 使得
t[X]=s[X],那么就必然存在元组 w,v∈ r,(w,v可以 与s,t相同),使得w[X]=v[X]=t[X],而w[Y]=t[Y], w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z](即交换s,t元组的Y
值所得的两个新元组必在r中),则Y多值依赖于X,记为
X→→Y。 这里,X,Y是U的子集,Z=U-X-Y。 t x y1 z2 s x y2 z1 v w x x y2 y1 z2 z1
多值依赖( 多值依赖(续)
平凡多值依赖和非平凡的多值依赖 若X→→Y,而Z=φ,则称 X→→Y为平凡的多值依赖 否则称X→→Y为非平凡的多值依赖
多值依赖的性质
(1)多值依赖具有对称性
第四范式( 第四范式(续)
例: Teach(C,T,B) ∈ 4NF 存在非平凡的多值依赖C→→T,且C不是候选码 用投影分解法把Teach分解为如下两个关系模式: CT(C, T) ∈ 4NF CB(C, B) ∈ 4NF C→→T, C→→B是平凡多值依赖
6.2 规范化
6.2.1 第一范式(1NF) 6.2.2 第二范式(2NF) 6.2.3 第三范式(3NF) 6.2.4 BC范式(BCNF) 6.2.5 多值依赖与第四范(4NF) 6.2.6 规范化
规范化( 规范化(续)
不能说规范化程度越高的关系模式就越好 在设计数据库模式结构时,必须对现实世界的实 际情况和用户应用需求作进一步分析,确定一个 合适的、能够反映现实世界的模式 上面的规范化步骤可以在其中任何一步终止
例题
1.判断下列模式属于哪个范式(最高)
R({A,B,C}, AB C, B C}) R({A,B,C,D}, {A B, A C, A D, B D}) R({C,T,S,N,G}, {C T, CS G, S N}) R({A,B,C}, {AC B, AB C, B C})
规范化( 规范化(续)
关系模式规范化的基本步骤
1NF ↓ 消除非主属性对码的部分函数依赖 消除决定属性 2NF 集非码的非平 ↓ 消除非主属性对码的传递函数依赖 凡函数依赖 3NF ↓ 消除主属性对码的部分和传递函数依 赖 BCNF ↓ 消除非平凡的多值依赖 4NF
规范化的基本思想
消除不合适的数据依赖 各关系模式达到某种程度的“分离” 采用“一事一地”的模式设计原则 让一个关系描述一个概念、一个实体或者实体间的 一种联系。若多于一个概念就把它“分离”出去, 所谓规范化实质上是概念的单一化
关系模式Teaching(C, T, B) 课程C、教师T 和 参考书B
表6.1
课 程 C
教 员 T
李勇 王军
参考书B
普通物理学 光学原理 物理习题集 数学分析 微分方程 高等代数
物理
数学
李勇 张平
计算数学 …
张平 周峰
数学分析
…
…
用二维表表示Teaching 用二维表表示
课程C
物理 物理 物理 物理 物理 物理 数学 数学 数学 数学 数学 数学 …
T T1 T1 T1 T1
H H1 H2 H1 H2
R R1 R2 R1 R2
S S1 S1 S2 S2
G G1 G1 G2 G2
第五章 关系数据理论
6.1 数据依赖 6.2 规范化 6.3 数据依赖的公理系统 6.4 模式的分解
6.3 数据依赖的公理系统 逻辑蕴含
定义6.11 对于满足一组函数依赖 F 的关 系模式R <U,F>,其任何一个关系r, 若函数依赖X→Y都成立, 则称
3NF与BCNF的关系 与 的关系
如果关系模式R∈BCNF,必定有R∈3NF
3NF与BCNF的关系 与 的关系
如果关系模式R∈BCNF,必定有R∈3NF
证明:设R是BCNF,但不是3NF, 则R上存在传递函数依 赖X Y,Y A,这里X是R的码,A ⊆Y,Y X。显然Y 不包含R的码,否则, Y X成立。所以, Y A违反了 BCNF的定义,与假设矛盾。