关系数据理论练习题及答案
- 格式:doc
- 大小:86.00 KB
- 文档页数:15
第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元的订单信息。
关系数据库规范化理论练习试卷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中,创建数据库和数据表可以通过以下步骤完成: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 •数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS )之间的关系是(A )。
A. DBS 包括DB 和DBMSB. DBMS 包括DB 和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS2. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D )。
I •人工管理阶段II.文件系统阶段III •数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I3. 下列四项中,不属于数据库系统特点的是(C )。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高4. 数据库系统的数据独立性体现在(B )。
A .不会因为数据的变化而影响到应用程序B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C. 不会因为存储策略的变化而影响存储结构D. 不会因为某些存储结构的变化而影响其他的存储结构5. 要保证数据库的数据独立性,需要修改的是(C )。
A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式6. 要保证数据库的逻辑数据独立性,需要修改的是(A )。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式7. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C ),它是模式的逻辑子集。
A.模式B.物理模式C. 子模式D. 内模式8. 下述(B )不是DBA 数据库管理员的职责。
A.完整性约束说明B.定义数据库模式C.数据库安全D.数据库管理系统设计9. 常见的数据模型有三种,它们是(B )A 网状、关系和语义B 层次、关系和网状C 环状、层次和关系D 字段名、字段类型和记录10. 在E-R 图中,用来表示属性的图形是(B )A 矩形B 椭圆形C 菱形D 平行四边形二、填空题1. 描述数据库全体数据的全局逻辑结构和特性的是___________ 模式 ______ 。
数据库练习题库(含答案)一、单选题(共98题,每题1分,共98分)1.在需求分析阶段,结构化分析和建模方法是一种较为有效的需求分析方法,下列不属于结构化分析和建模方法优点的是()。
A、可避免过早陷入具体细节B、从局部或子系统开始分析问题,便于建模人员了解业务模型C、图形对象不涉及太多技术术语,便于用户理解模型D、用图形化的模型能直观表示系统功能正确答案:B2.DBMS通过加锁机制允许用户并发访问数据库,这属于DBMS提供的()。
A、数据定义功能B、数据操纵功能C、数据库运行管理与控制功能D、数据库建立与维护功能正确答案:C3.关于数据划分策略,下述说法错误的是()。
A、散列划分釆用某种散列函数,以数据的划分属性作为函数参数,计算数据应存储的磁盘序号B、范围划分根据某个属性的取值,将数据划分为n个部分,分别存储到不同磁盘上C、范围划分有利于范围查询和点查询,但也可能会引起数据分布不均匀及并行处理能力下降问题D、轮转法划分能保证元组在多个磁盘上的平均分配,并具有较高的点查询和范围查询正确答案:D4.存取方法设计属于数据库设计的()阶段的设计任务。
A、逻辑结构设计B、概念结构设计C、系统需求分析D、物理结构设计正确答案:D5.将新插入的记录存储在文件末尾,并使记录随机地分布在文件物理存储空间中的文件结构是()。
A、散列文件B、堆文件C、索引文件D、聚集文件正确答案:B6.关于"死锁”,下列说法中正确的是()。
A、在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库B、只有出现并发操作时,才有可能出现死锁C、当两个用户竞争相同资源时不会发生死锁D、死锁是操作系统中的问题,数据库操作中不存在正确答案:B7.关于数据库应用系统的需求分析工作,下列说法正确的是()。
A、在需求分析阶段,系统需求分析员要与用户充分沟通,并做出各类用户视图B、通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明C、数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标D、数据需求分析的主要工作是要辩识出数据处理中的数据处理流程正确答案:C8.如果一个系统定义为关系系统,则它必须( )oA、支持关系数据库B、支持选择、投影和连接运算C、A和B均成立D、A、B都不需要正确答案:C9.联机分析处理包括以下()基本分析功能。
第一部分:一、求最小依赖集例:设有依赖集: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)因为存在非主属性对于码的部分函数依赖,所以,未达到二范式,只属于一范式。