关系数据理论练习题及答案
数据库原理及应用(课后练习)---第4章_关系数据库设计理论

第4章关系数据库设计理论习题一、选择题1、C2、B3、C4、C5、A6、B7、A8、B9、D10、B二、填空题1、数据依赖主要包括_函数_依赖、_多值_依赖和连接依赖。
2、一个不好的关系模式会存在_插入异常_、_删除异常_和__修改复杂_等弊端。
3、设X→Y为R上的一个函数依赖,若_对任意X的真子集X’,均无X’→Y 存在__,则称Y完全函数依赖于X。
4、设关系模式R上有函数依赖X→Y和Y→Z成立,若_Y不包含于X_且_Y→X不成立_,则称Z传递函数依赖于X。
5、设关系模式R的属性集为U,K为U的子集,若_K→U为完全函数依赖_,则称K为R的候选键。
6、包含R中全部属性的候选键称_主属性_。
不在任何候选键中的属性称__非主属性_。
7、Armstrong公理系统是_有效__的和_完备__的。
8、第三范式是基于_函数_依赖的范式,第四范式是基于_多值_依赖的范式。
9、关系数据库中的关系模式至少应属于_第一_范式。
10、规范化过程,是通过投影分解,把_一个范式级别较低的_的关系模式“分解”为_若干个范式级别较高__的关系模式。
三、简答题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。
平凡函数依赖:当属性集Y是属性集X的子集时,则必然存在着函数依赖X→Y,这种类型的函数依赖称为平凡的函数依赖。
非平凡函数依赖:如果Y不是X子集,则称X→Y为非平凡的函数依赖。
完全函数依赖与部分函数依赖:设有关系模式R(U),U是属性全集,X和Y是U的子集,X→Y,并且对于X的任何一个真子集X',都有X'Y,则称Y对X完全函数依赖(Full−f Y。
数据库练习题

数据库练习题2.数据库在磁盘上的基本组织形式是[B ] A.DB B.⽂件 C.⼆维表 D.系统⽬录3.在关系模型中,起导航数据作⽤的是[B ] A.指针 B.关键码 C.DD D.索引4.查询优化策略中,正确的策略是[D ] A.尽可能早地执⾏笛卡尔积操作B.尽可能早地执⾏并操作C.尽可能早地执⾏差操作D.尽可能早地执⾏选择操作5.SQL中,“DELETE FROM 表名”表⽰[A ] A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组6.设关系模式R(A,B,C),F是R上成⽴的FD集,F={A→B,C→B},ρ={AB,AC}是R的⼀个分解,那么分解ρ[C ] A.保持函数依赖集F B.丢失了A→BC.丢失了C→B D.丢失了B→C8.在关系数据库设计中,⼦模式设计是在__________阶段进⾏。
[B ] A.物理设计 B.逻辑设计 C.概念设计 D.程序设计10.在DB技术,未提交的随后被撤消了的数据,称为[D ] A.报废的数据 B.过时的数据 C.撤消的数据 D.脏数据1. 关系数据库管理系统都是基于( A )理论。
A. Codd的数据关系模型B. 数据结构C. 计算机操纵系统D. 信息管理2. 元组关系演算表达式{t| R(t)∧S(t)}表达的是(D )A. R∪SB. R∩SC. R-SD. S-R5. 语句 delete from sc 表明( A )A. 删除sc中的全部记录B. 删除基本表scC. 删除基本表sc中的列数据D. 删除基本表sc中的部分⾏7. 关系笛卡尔积运算记号R×S,( D )A. R为关系名,S为属性名B. R和S均为属性名C. R为属性名,S为关系名D. R和S均为关系名9. 下列说法中不正确的是(C )。
A. 任何⼀个包含两个属性的关系模式⼀定满⾜3NFB. 任何⼀个包含两个属性的关系模式⼀定满⾜BCNFC. 任何⼀个包含三个属性的关系模式⼀定满⾜3NFD. 任何⼀个关系模式都⼀定有码10. 在下列基本表的定义中,数值5表⽰( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A. 表中有5条记录B. 表中有5列C. 表中字符串Sno 的长度D. 表格的⼤⼩11. 在视图上不能完成的操作是( C )A. 更新视图B. 查询C. 在视图上定义新的基本表D. 在视图上定义新视图12. 设有关系模式R(A,B,C,D),F是R上成⽴的函数依赖集,F={B→C,C→D},则属性C的闭包C+为( C )A.BCDB.BDC.CDD.BC1. DB、DBMS和DBS三者之间的关系是(B)。
关系数据理论练习题答案

关系数据理论练习题一、选择题1. 在关系数据库中,下列哪个术语表示表中的列?A. 元组B. 属性C. 字段D. 记录A. JOINB. UNIONC. INTERSECTD. EXCEPT3. 设有关系R(A, B, C),下列哪个选项是R上的投影操作?A. πA,B(R)B. σA,B(R)C. τA,B(R)D. γA,B(R)4. 设有关系R(A, B)和S(B, C),下列哪个选项是R与S的自然连接操作?A. R × SB. R ⨝ SC. R ∩ SD. R ∪ S二、填空题1. 关系数据库中的基本结构是______,它用来表示实体集和实体集之间的联系。
2. 若关系R和S进行自然连接,则R与S必须具有______属性。
3. 在关系数据库中,______操作用于从关系中选取满足条件的元组。
4. 设有关系R(A, B, C),则投影操作πA(R)的结果是______。
三、判断题1. 关系数据库中的每一列都有一个唯一的名称,称为属性名。
()2. 关系模型中,元组的位置可以任意交换。
()3. 自然连接是一种特殊的等值连接,要求两个关系中进行比较的分量必须是相同的属性组。
()4. 投影操作会改变原关系中的属性顺序。
()四、简答题1. 请简述关系数据库的三个范式。
2. 什么是函数依赖?请举例说明。
3. 什么是关系的规范化?为什么需要对关系进行规范化?4. 请解释主键和外键的概念。
五、综合题六、设计题图书(包含书名、作者、出版社、出版日期、ISBN等)读者(包含读者ID、姓名、性别、电话、邮箱等)借阅(包含借阅ID、图书ISBN、读者ID、借阅日期、归还日期等)学生(学号,姓名,性别,年龄,专业)课程(课程号,课程名,学分,教师编号)教师(教师编号,姓名,职称,电话)七、SQL编程题2. 假设有一个“订单”表,包含字段:订单ID(主键)、客户ID、订单日期、订单金额。
请编写SQL语句,查询2021年所有订单金额大于1000元的订单信息。
第06章关系数据理论习题课

各种范式之间存在联系:
1NF 2NF 3NF BCNF
…4N…F
某一关系模式R为第n范式,可简记为R∈nNF。
19
19
课堂练习题:
下列关于关系模式规范化的叙述中,哪一 条是不正确的?( ) (A) 若R∈4NF,则必然R∈3NF (B) 若R∈3NF,则必然R∈2NF (C) 若R∈2NF,则必然R∈1NF (D) 若R∈3NF,则必然R∈BCNF 解析:D
龄,成绩,教师姓名,教师年龄,教师办公室)。假设 一门课程只有一名教师讲授,而且教师不重名。
试回答下列问题: (1)存在哪些基本函数依赖?该关系模式的候选码是
什么?有哪些主属性? (2)有部分依赖吗?若有,请写出两个? 有传递依赖吗?若有,请写出一个? (3)关系模式教务最高达到第几范式?为什么? (4)如何分解可消除关系模式中的部分函数依赖? (5)分解后达到了几范式?分解是无损连接分解? (6)分别指出各个关系模式的主码和外码
设R(U)是一个属性集U上的关系模式,X和Y是U的子 集。若对于R(U)的任意一个可能的关系r,r中不可能存在 两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。
6
函数依赖的基本概念
× √ × × × √
7
7
基本概念
解析:
⑴函数依赖是最基本的、也是最重要的一种数据依赖。
20
20
测验
1.关系数据库规范化是为解决关系数据库中的_______问 题而引入的。
A.操作异常和数据冗余 B.提高查询速度 C.减少数据操作的复杂性 D.保证数据的安全性和完整性
2.假设关系模式属于R(A,B)属于3NF,下列说法中_____ 是正确的。
关系数据库规范化理论练习试卷1(题后含答案及解析)

关系数据库规范化理论练习试卷1(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题(每小题1分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.以下哪一条属于关系数据库的规范化理论要解决的问题?______。
A.如何构造合适的数据库逻辑结构B.如何构造合适的数据库物理结构C.如何构造合适的应用程序界面D.如何控制不同用户的数据操作权限正确答案:A 涉及知识点:关系数据库规范化理论2.下列关于函数依赖的规则中,哪一条是正确的?______。
A.若X→Y,WY→Z,则XW→ZB.若XY,则X→YC.若XY→Z,则X→Z,Y→ZD.若X∩Y=Φ,则X→Y正确答案:A 涉及知识点:关系数据库规范化理论3.在关系模式R中,称满足下面哪一个条件的X→→Y为平凡的多值依赖?______。
A.U-X-Y=ΦB.X∩Y=ΦC.X是单个属性D.Y是单个属性正确答案:A 涉及知识点:关系数据库规范化理论4.关系模式R中若没有非主属性,则______。
A.R属于2NF,但R不一定属于3NFB.R属于3NF,但R不一定属于BCNFC.R属于BCNF,但R不一定属于4NFD.R属于4NF正确答案:B 涉及知识点:关系数据库规范化理论下列问题基于如下描述:有关系模式P(C,S,T,R,G),根据语义有如下函数依赖集:F{C→T,ST→R,TR→C,SC→G}。
5.下列属性组中的哪一个(些)是关系P的候选码?______。
Ⅰ.(C,S) Ⅱ.(C,R) Ⅲ.(S,T) Ⅳ.(T,R) Ⅴ.(S,R) A.只有ⅢB.Ⅰ和ⅢC.Ⅰ、Ⅱ和ⅣD.Ⅱ、Ⅲ和Ⅴ正确答案:A 涉及知识点:关系数据库规范化理论6.关系模式P的规范化程度最高达到______。
A.1NFB.2NFC.3NFD.BCNF正确答案:B 涉及知识点:关系数据库规范化理论7.现将关系模式P分解为两个关系模式P1(C,T,R),P2(C,3,G),那么这个分解______。
PostgreSQL关系型数据库应用练习题参考答案

PostgreSQL关系型数据库应用练习题参考答案答案一:练习题一:创建数据库和数据表在PostgreSQL中,创建数据库和数据表可以通过以下步骤完成:1. 创建数据库首先需要使用以下命令创建一个新的数据库:CREATE DATABASE database_name;其中,"database_name"是你想要创建的数据库的名称。
2. 连接到数据库使用以下命令连接到刚刚创建的数据库:\c database_name;3. 创建数据表在连接到数据库后,可以使用以下命令创建一个新的数据表:CREATE TABLE table_name (column1 data_type,column2 data_type,column3 data_type,...);其中,"table_name"是你想要创建的数据表的名称,"column1"、"column2"等是数据表中的列名,"data_type"是列的数据类型。
练习题二:插入数据在已经创建好的数据表中插入数据,可以使用以下命令:INSERT INTO table_name (column1, column2, column3, ...)VALUES (value1, value2, value3, ...);其中,"table_name"是要插入数据的数据表的名称,"column1"、"column2"等是要插入数据的列名,"value1"、"value2"等是要插入的具体数值。
练习题三:查询数据查询数据是数据库应用中的常用操作,可以通过以下命令实现查询:SELECT column1, column2, ...FROM table_nameWHERE conditions;其中,"column1"、"column2"是需要查询的列名,"table_name"是要查询的数据表的名称,"conditions"是查询的条件,用于筛选要返回的数据。
关系数据理论练习题及答案详细

第一部分:一、求最小依赖集例:设有依赖集:F={AB-C, C-A, BC—D, ACD-B, D—EG, BE—C, CG—BD, CE f AG},计算与其等价的最小依赖集。
解:1、将依赖右边属性单一化,结果为:F1={AB—C, C—A, BC—D, ACD—B, D—E, D—G, BE—C, CG—B, CG—D CE―A, CE—G}2、在F1中去掉依赖左部多余的属性。
对于CE—A,由于C—A成立,故E是多余的;对于ACD—B,由于(CD) +=48。
£»6,故A是多余的。
删除依赖左部多余的依赖后:F2={AB—C, C—A, BC—D, CD—B, D—E, D—G, BE—C, CG—B, CG—D, CE—G }3、在F2中去掉多余的依赖。
对于CG—B,由于(CG) +=ABCEDG,故CG—B是多余的。
删除依赖左部多余的依赖后:F3={AB—C, C—A, BC—D, CD—B, D—E, D—G, BE—C, CG—D, CE—G }CG—B与CD—B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一。
二、求闭包例:关系模式R (U, F),其中U={A, B, C, D, E, I}, F={A—D, AB—E, BI—E, CD—I, E—C},计算(AE) +。
解:令X={AE}, X (0) =AE;计算X(1);逐一扫描F集合中各个函数依赖,在F中找出左边是AE子集的函数依赖,其结果是:A—D, E—C。
于是X (1) =AE U DC=ACDE;因为X (0)W X (1),且X (1)WU,所以在F中找出左边是ACDE子集的函数依赖,其结果是:CD—I。
于是X (2) =ACDE UI=ACDEI。
虽然X (2)W X (1),但在F中未用过的函数依赖的左边属性已没有X (2) 的子集,所以不必再计算下去,即(AE) +=ACDEI。
数据库理论知识练习题

数据库理论知识练习题1下列关系能直接做除运算R÷S的是()。
•A.R(A,B,C), S(B)•B.R(A,B,C), S(B,D)•C.R(A,B,C), S(D,E)•D.R(A,B), S(A,B,C)正确答案:A你选对了2基于教学视频中的学生选课数据库,能够正确查询“所有学生都选修的课程的课程编号”的关系代数表达式是()。
•A.π学号,课程号(选课) ÷π学号(学生)•B.π学号,课程号(选课) ÷π课程编号(课程)•C.π课程编号(选课)•D.选课÷学生3基于教学视频中的学生选课数据库,能正确查询出“数学系学生都学的课程的课程编号”的关系代数表达式是()。
•A.π学号,课程号(选课) ÷π学号(σ所在系='数学'(学生))•B.π学号,课程号(σ所在系='数学'(选课∞学生)) ÷π课程号(学生)•C.选课÷π学号(σ所在系='数学'(学生))•D.π课程号(σ所在系='数学'(选课∞学生∞课程))正确答案:A你选对了1进行自然连接运算的两个关系必须具有()。
•A.相同属性个数•B.公共属性•C.相同关系名•D.相同关键字2如果关系R中有4个属性和3个元组,关系S中有3个属性和5个元组,则R×S的属性个数和元组个数分别是()。
•A.7和8•B.7和15•C.12和8•D.12和15正确答案:B你选对了3能够把关系R和S进行自然连接时舍弃的元组放到结果关系中的操作是( )。
•A.左外连接•B.右外连接•C.外部并•D.外连接正确答案:D你选对了4设关系R和关系S的基数分别是3和4,则关系R与S的广义笛卡尔积的基数是()。
•A.7•B.9•C.12•D.16正确答案:C你选对了5对于关系模式S(Sno,Sname,Age,Dept),C(Cno,Cname,Teacher),SC (Sno,Cno,Score),下列查询结果相同的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分:一、求最小依赖集例:设有依赖集:F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},计算与其等价的最小依赖集。
解:1、将依赖右边属性单一化,结果为:F1={AB→C,C→A,BC→D,ACD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→A,CE →G }2、在F1中去掉依赖左部多余的属性。
对于CE→A,由于C→A成立,故E是多余的;对于ACD→B,由于(CD)+=ABCEDG,故A是多余的。
删除依赖左部多余的依赖后:F2={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→G }3、在F2中去掉多余的依赖。
对于CG→B,由于(CG)+=ABCEDG,故CG→B是多余的。
删除依赖左部多余的依赖后:F3={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→D,CE→G }CG→B与CD→B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一。
二、求闭包例:关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},计算(AE)+。
解:令X={AE},X(0)=AE;计算X(1);逐一扫描F集合中各个函数依赖,在F中找出左边是AE子集的函数依赖,其结果是:A→D,E→C。
于是X(1)=AE∪DC=ACDE;因为X(0)≠ X(1),且X(1)≠U,所以在F中找出左边是ACDE子集的函数依赖,其结果是:CD→I。
于是X(2)=ACDE∪I=ACDEI。
虽然X(2)≠ X(1),但在F中未用过的函数依赖的左边属性已没有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI。
三、求候选键例1:关系模式R(U,F),其中U={A,B,C,D},F={A→B,C→D},试求此关系的候选键。
解:首先求属性的闭包:(A)+=AB,(B)+ =B,(C)+ =CD,(D)+ =D(AB)+ =AB,(AC)+=ABCD=U,(AD)+ =ABD,(BC)+ =BCD,(BD)+ =BD,(CD)+ =CD(ABD)+ =ABD,(BCD)+ =BCD,因(AC)+=ABCD=U,且(A)+=AB,(C)+ =CD,由闭包的定义,AC→A,AC→B,AC→B,AC→D,由合并规则得AC→ABCD=U;由候选码的定义可得AC为候选码。
后选关键字的求解理论和算法对于给定的关系R(A1,A2,…, An)和函数依赖集F,可将其属性分为四类:L类:仅出现在F的函数依赖左部的属性;R类:仅出现在F的函数依赖右部的属性;N类:在F的函数依赖左右两边均未出现的属性;LR类:在F的函数依赖左右两边均出现的属性。
定理1 对于给定的关系模式R及其函数依赖集F,若X(X属于R)是L类属性,则X必为R的任一候选关键字的成员。
例1:关系模式R(U,F),其中U={A,B,C,D},F={A→B,C→D},试求此关系的候选键。
例2 设有关系模式R(A,B,C,D),其函数依赖集F={D→B,B→D,AD→B,AC→D},求R 的所有候选键。
推论对于给定的关系模式R及其函数依赖集F,若X(X属于R)是L类属性,且X+包含了R的全部属性,则X必为R的惟一候选关键字。
定理2 对于给定的关系模式R及其函数依赖集F,若X(X属于R)是R类属性,则X不在任何候选关键字中。
例3 关系模式R(U,F),其中U={A,B,C,D,E,P},F={A→B,C→D,E→A ,CE→D },试求此关系的候选键。
定理 3 对于给定的关系模式R及其函数依赖集F,若X(X属于R)是N类属性,则X必为R的任一候选关键字的成员。
例4 设有关系模式R(A,B,C,D,E,P),其函数依赖集F={A→D,E→D,D→B,BC→D,DC→A},求R的所有候选关键字。
推论对于给定的关系模式R及其函数依赖集F,若X(X属于R)是N类和L类组成的属性集,且X+包含了R的全部属性,则X必为R的惟一候选关键字四、关系模式规范化程度的判断(在BCNF内判断)例5 关系模式R(U,F),其中U={A,B,C,D},函数依赖集F={B→D,AB→C},试求R最高属于第几范式。
解:根据判定定理及推论得:AB必是候选码的成员,且(AB)+=ABCD=U,所以AB为候选码。
则AB→D,又因B→D,存在非主属性对码的部分依赖,所以最高为1NF。
例6 关系模式R(U,F),其中U={A,B,C,D,E},函数依赖集F={AB→CE,E→AB,C→D},试求R最高属于第几范式。
解:根据判定定理及推论得:属性D肯定不在候选码中,通过计算可得:(AB)+=ABCDE=U,且(E)+=ABCDE=U,所以AB、E为候选码;由于F中不存在部分依赖,故R至少属于2NF;因AB→C,AB→E,C→D,存在非主属性对码的传递依赖,所以最高为2NF。
例7 关系模式R(U,F),其中U={A,B,C},函数依赖集F={A→B,B→A,A→C},试求R最高属于第几范式。
解:根据判定定理及推论得:属性C肯定不在候选码中,通过计算可得:(A)+=ABC=U,且(B)+=ABC=U,所以A、B为候选码;由于候选码仅有一个属性,不存在部分依赖,故R至少属于2NF;B→A,A→C,由于A→B,所以不存在非主属性对码的传递依赖,所以R也是3NF。
又因为F满足BCNF的定义,故R也是BCNF。
例8 关系模式R(U,F),其中U={A,B,C},函数依赖集F={A→B,B→A,C→A},试求R最高属于第几范式。
解:根据判定定理及推论得:属性C肯定在候选码中,又因(C)+=ABC=U,所以C为候选码;由于候选码仅有一个属性,不存在部分依赖,故R至少属于2NF;C→A,A→B,存在非主属性对码的传递依赖,所以R最高为2NF。
例9 关系模式R(U,F),其中U={A,B,C,D},函数依赖集F={A→C,D→B},试求R最高属于第几范式。
解:根据判定定理及推论得:属性AD肯定在候选码中,又因(AD)+=ABCD=U,所以AD为候选码;而AD→B,D→B,存在非主属性对码的部分依赖,所以R最高为1NF。
例10 关系模式R(U,F),其中U={A,B,C,D},函数依赖集F={A→C,CD→B},试求R最高属于第几范式。
解:根据判定定理及推论得:属性AD肯定在候选码中,又因(AD)+=ABCD=U,所以AD为候选码;而AD→C,A→C,存在非主属性对码的部分依赖,所以R最高为1NF。
第二部分:练习一:指出下列关系模式是第几范式(1)R(X,Y,Z) FD={XY Z}其典型实例就是我们的SC(Sno,Cno,Grade)参考解答:R(X,Y,Z)的主码为XY,非主属性为Z。
关系模式R(X,Y,Z)中不存在非主属性对码的部分函数依赖——>属于二范式关系模式R(X,Y,Z)中不存在非主属性对码的传递函数依赖——>属于三范式关系模式R(X,Y,Z)中起决定作用的只有码——>属于BC范式故在函数依赖范围内,关系模式R(X,Y,Z)属于BC范式(2)R(X,Y,Z) FD={ XZ Y , Y Z}参考解答:R(X,Y,Z)的主码为XZ,非主属性为Y属于第三范式:因为其中不存在非主属性(Y)对码(XZ)的部分函数依赖和传递函数依赖;但不属于BC范式:因为起决定作用的除了码以外还有非主属性(Y)(3)R(X,Y,Z) FD={ Y Z, Y X, X YZ }参考解答:R(X,Y,Z)的候选码为Y和X,非主属性为Z不存在非主属性对码的部分函数依赖和传递函数依赖,故属于三范式又,起决定作用的只有码,所以也是BC范式(4)R(X,Y,Z) FD={ X Y, X Z }参考解答:典型实例Student(Sno,Sname,Ssex)R(X,Y,Z)的候选码为X,非主属性为Y和Z不存在非主属性对码的部分函数依赖和传递函数依赖,故属于三范式又,起决定作用的只有码,所以也是BC范式(5)R(W,X,Y,Z) FD={ X Z, WX Y }参考解答:典型实例S_C( Sno,Cno, Grade,,Cname)R(W,X,Y,Z)的候选码为WX,非主属性为Y和Z因为非主属性Z不是完全依赖于码(WX),而是依赖于码中的一部分(X),所以存在非主属性对码的部分函数依赖,故没有达到二范式,仅属于一范式(6)R(A,B,C,D) ,FD={B D, AB C }参考解答:典型实例S_C(Sno,Cno ,Grade,,Cname)R(W,X,Y,Z)的候选码为WX,非主属性为Y和Z因为非主属性Z不是完全依赖于码(WX),而是依赖于码中的一部分(X),所以存在非主属性对码的部分函数依赖,故没有达到二范式,仅属于一范式(7)R(A,B,C) FD={ A B, B A, C A }参考解答:典型实例:若规定一个系的学生都住在一个住处,一个住处也只能入住一个系,则典型实例为:S_Loc(Sdept, Sloc, Sno)主码为C,非主属性为AB,因存在非主属性(B)对码C的传递函数依赖,故不是三范式,最多是二范式又,不存在非主属性对码的部分函数依赖,故属于二范式练习二:设关系模式R(A,B,C,D,E),FD={A->D, E->D, D->B, BC->D, EC->A}。
试求:(1)R的候选码(2)R所属的范式(3)将R分解为BCNF,且具有无损连接性参考解答:(1)可知:EC->A->D->B所以:候选码为EC,非主属性为ABD(2)因存在非主属性(B和D)对码(EC)的传递函数依赖,故未答三范式,最多是二范式又,不存在非主属性对码的部分函数依赖,所以是二范式(3)分解为3个模式:R1(E,C,A) FD={ EC->A }R2(A,D) FD={ A->D}R3(D, B) FD={D->B}练习三。
设有关系模式:TEACHER(教师编号,教师姓名,电话,所在部门,借阅图书编号,书名,借书日期,还书日期,备注)(1)教师编号是候选码吗?说明理由(2)该关系模式的主码是什么?(3)该关系模式是否存在部分函数依赖?如果存在,请写出至少两个?(4)该关系模式满足第几范式?(5)将该关系模式分解为3NF。
参考解答(1)教师编号不是候选码。
(2)假定对任一本书一个人一天只能借一次,则主码为:教师编号,借阅图书编号,借书日期;非主属性为:教师姓名、电话、所在部门、书名、还书日期、备注(3)存在。
(教师编号,借阅图书编号,借书日期)->教师姓名(教师编号,借阅图书编号,借书日期)->教师电话(教师编号,借阅图书编号,借书日期)->所在部门(教师编号,借阅图书编号,借书日期)->书名(4)因为存在非主属性对于码的部分函数依赖,所以,未达到二范式,只属于一范式。