2022年数据库原理及应用习题答案实用 .pdf

上传人:Q****o 文档编号:25940675 上传时间:2022-07-14 格式:PDF 页数:30 大小:544.64KB
返回 下载 相关 举报
2022年数据库原理及应用习题答案实用 .pdf_第1页
第1页 / 共30页
2022年数据库原理及应用习题答案实用 .pdf_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《2022年数据库原理及应用习题答案实用 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库原理及应用习题答案实用 .pdf(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 1 页数据库原理及应用习题参考答案习题 1 1-1 文件系统阶段的数据管理有哪些特点?答:文件系统阶段主要有5 个特点: 数据以“文件”形式长期保存;数据的逻辑结构与物理结构有了区别;文件组织已多样化;数据面向应用;对数据的操作以记录为单位。1-2 文件系统阶段的数据管理有些什么缺陷?试举例说明。答:主要有3 个缺陷:数据冗余;数据不一致性;数据联系弱。例如学校里教务处、财务处、保健处建立的文件中都有学生详细资料,如联系电话,家庭住址等。这就是“数据”冗余;如果某个学生搬家,就要修改3 个部门文件中的数据,否则会引起同一数据在3 个部门中不一致; 产生上述问题的原因是这3 个部门的文件中数

2、据没有联系。1-3 数据库阶段的数据管理有哪些特色? 答:主要有5 个特点:采用数据模型可以表示复杂的数据结构;有较高的数据独立性;为用户提供了方便的用户接口;提供了 4 个方面的数据控制功能;对数据的操作以数据项为单位,增加了系统的灵活性。1-4 什么是数据独立性?在数据库中有哪两级独立性? 答:数据独立性是指应用程序与DB 的数据结构之间的相互独立。在物理结构改变时,尽量不影响应用程序,称为物理独立性;在逻辑结构改变时,尽量不影响应用程序,称之为逻辑数据独立性。1-5 试解释 DB 、DBMS 和 DBS 三个概念。答: DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。 DB

3、MS是位于用户与0S 之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法。 DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即采用数据库技术的计算机系统。1-6 SQL Server 2005 有哪些数据类型?答: SQL Server 中数据类型分为整型、浮点型、二进制数据型、逻辑型、字符型、文本型、图形型、日期时间型、货币型、自定义类型、可变数据类型和表数据类型。1-7 列举 SQL Server 2005 中新增的主要功能。答: SQL Server 2005 中新增的主要功能有: Notification Services

4、增强功能; Reporting Services 增强功能,其中包括:报表功能的增强功能、Reporting Services设计时增强功能、Reporting Services 可编程性的增强功能、Reporting Services 可管理性和部署的增强功能; 新增的 Service Broker 以实现 SQL Server 中的消息传递方面具有以下优势:高伸缩性、消息协调、排序和锁定、集成数据库数据、集成数据库安全性; 数据库引擎增强功能; 数据访问接口方面的增强功能; SQL Server Analysis Services(SSAS)的增强功能; Integration Servi

5、ces 的增强功能; 在可管理性、可用性、可编程性、移动性、可伸缩性和性能方面提供了改进。 工具和实用工具增强功能;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 30 页 - - - - - - - - - 第 2 页1-8 SQL Server 2005 的实用程序和常用工具有哪些?答: SQL Server 2005 给出的常用应用程序和实用工具有:企业管理器、查询分析器、商业智能开发平台、SQL Server 分析器、 SQL Server 2005 数据库引擎优

6、化程序、SQL Server 配置管理器等。习题 2 2-1 名词解释逻辑数据物理数据联系的元数 1:1联系1: N 联系M:N 联系数据模型概念数据模型外模式概念模式内模式外模式 /模式映象模式 /内模式映象数据独立性物理数据独立性逻辑数据独立性答:逻辑数据:指程序员或用户用以操作的数据形式。物理数据:指存储设备上存储的数据。联系的元数:与一个联系有关的实体集个数,称为联系的元数。1:1 联系:如果实体集El 中每个实体至多和实体集E2中的一个实体有联习,反之亦然,那么 El 和 E2的联系称为“l :1 联系”。1:N 联系:如果实体集El 中每个实体可以与实体集E2 中任意个(零个或多个

7、)实体有联系, 而 E2中每个实体至多和El 中一个实体有联系,那么 El 和 E2的联系是 “1:N 联系” 。M:N 联系:如果实体集El 中每个实体可以与实体集E2 中任意个(零个或多个)实体有联系,反之亦然,那么El 和 E2的联系称为“M:N 联系”。数据模型:能表示实体类型及实体间联系的模型称为“数据模型”。概念数据模型: 独立于计算机系统、完全不涉及信息在计算机中的表示、反映企业组织所关心的信息结构的数据模型。外模式:是用户用到的那部分数据的描述。概念模式:数据库中全部数据的整体逻辑结构的描述。内模式: DB在物理存储方面的描述。外模式 / 模式映象:用于定义外模式和概念模式之间

8、数据结构的对应性。模式 /内模式映象:用于定义概念模式和内模式之间数据结构的对应性。数据独立性:应用程序和DB的数据结构之间相互独立,不受影响。物理数据独立性:在DB的物理结构改变时,尽量不影响应用程序。逻辑数据独立性:在DB的逻辑结构改变时,尽量不影响应用程序。2-2 逻辑记录与物理记录、逻辑文件与物理文件有哪些联系和区别? 答:逻辑数据是用户用以操作的数据形式,是抽象的概念化数据。物理数据是实际存放在存储设备上的数据。逻辑数据与物理数据在结构上可以差别很大,需通过两级映象来进行数据传输和格式转换。从以上的解释可以看出,逻辑记录和逻辑文件是用户在程序中使用的记录和文件,而物理记录和物理文件是

9、指磁盘上的记录和文件。逻辑记录、 文件与物理记录、文件在结构、组成上可以有很大的差异,而数据库管理软件就是通过三级结构两级映象来实现逻辑数据与物理数据之间的转换。2-3 试述 ER模型、层次模型、网状模型、关系模型和面向对象模型的主要特点。答: ER 模型直接表示实体类型及实体间联系,与计算机系统无关,充分反映用户的需求,用户容易理解。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 30 页 - - - - - - - - - 第 3 页层次模型的数据结构为树结构,记录之

10、间联系通过指针实现,查询较快, 但 DML属于过程化的语言,操作复杂。网状模型的数据结构为有向图,记录之间联系通过指针实现,查询较快, 并且容易实现M :N联系,但DML属于过程化的语言,编程较复杂。关系模型的数据结构为二维表格,容易为初学者理解。记录之间联系通过关键码实现。DML属于非过程化语言,编程较简单。面向对象模型能完整描述现实世界的数据结构,具有丰富的表达能力,能表达嵌套、 递归的数据结构。但涉及的知识面较广,用户较难理解,这种模型尚未普及。 2-4 数据之间的联系在各种结构数据模型中是怎么实现的? 答:在层次、网状模型中,数据之间的联系通过指针实现的;在关系模型中,数据之间联系通过

11、外键和主键间联系实现的;在面向对象模型中,数据之间嵌套、 递归联系通过对象标识符 (OID) 实现的。2-5 DB 的三级模式结构描述了什么问题?试详细解释。答: DB 的三级模式结构是对数据的三个抽象级别,分别从外部( 用户 ) 级、概念级和内部级去观察数据库。外部级是用户使用的局部数据库的逻辑结构,其描述称为外模式。概念级是 DB的整体逻辑结构,其描述称为概念模式。内部级是 DB的物理结构,其描述称为内模式。2-6 试述概念模式在数据库结构中的重要地位。答:数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这蘧级的相对稳定的中间观点,并使得两级的任何一级的改变都

12、不受另一级的牵制。2-7 什么是数据独立性?其目的是什么?数据库独立性是指应用程序与DB的数据结构之间相互独立。其目的是在物理结构改变或逻辑结构改变时,尽量不影响应用程序。习题 3 3-1 名词解释:关系模式关系实例属性元组超键候选键主键外键实体完整性规则参照完整性规则答:关系模式:是对关系的描述,包括模式名、诸属性名、值域名和模式的主键。关系实例:关系模式具体的值,称为关系实例。属性:即字段或数据项,与二维表中的列对应。属性个数,称为元数。元组:即记录,与二维表中的行对应。元组个数,称为基数。超键:能惟一标识元组的属性或属性集,称为关系的超键。候选键:不含有多余属性的超键,称为候选键。主键:

13、正在使用的、用于标识元组的候选键,称为主键。外键:属性集F是模式 S的主键,在模式R中也出现,那么称F 是模式 R的外键。实体完整性规则:实体的主键值不允许是空值。参照完整性规则: 依赖关系中的外键值或者为空值,或者是相应参照关系中某个主键值。3-2 为什么关系中的元组没有先后顺序,且不允许有重复元组?答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关系中的元组也譬没有先后的顺序(对用户而言 ) 。这样既能减少逻辑排序,又便于在关系数据库中引进集合论的理论。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整

14、理 - - - - - - - 第 3 页,共 30 页 - - - - - - - - - 第 4 页每个关系模式都有一个主键,在关系中主键值是不允许重复的。如果关系中有重复元组,那么其主键值肯定相等,起不了惟一标识作用,因此关系中不允许有重复元组。3-3 外健值何时允许为空?何时不允许为空?答:在依赖表中,当外键是主键的组成部分时,外键值不允许为空;否则外键值允许为空。3-4 笛卡尔积、等值连接和自然连接三者之间有什么区别?答:笛卡儿积是一个基本操作,而等值连接和自然连接是组合操作。设关系 R的元数为 r ,元组个数为m ;关系 S的元数为s。 ,元组个数为n。那么, RS 的元数为 r+

15、s,元组个数为m n;R S的元数也是r+s ,但元组个数小于等于m n;R S的元数小于等于r+s ,元组个数也小于等于m n:3-5 设有关系 R和 S ,如图 3.18 所示。计算 RS,R-S,RS ,RS,3,2(S),B5(R),R S,R S。3-6 设有关系 R 和 S,如图 3.19 所示。计算R S,R S,A=C(R S)。答: A B C 3 2 7 4 6 5 2 4 7 7 3 3 A B C 3 7 4 2 5 3 R S 图 3.18 关系 R 和 S 22 BC A B a c d b b e B C b e b c a d R S 图 3.19 关系 R 和

16、 S i j A B C 3 2 7 4 3 6 5 2 4 4 7 7 3 3 5 RSA B C 3 2 4 6 5 4 7 7 3 R-SA B C 7 2 3 RSR.A R.B R.C S.A S.B S.C 3 3 2 2 7 7 4 4 6 6 5 5 2 2 4 4 7 7 7 7 3 3 3 3 3 7 3 7 3 7 3 7 4 2 4 2 4 2 4 2 5 3 5 3 5 3 5 3 RSC B 5 3 4 2 3,2(S)A B C 7 4 2 4 3 3 B 5(R)R.A R.B R.C S.A S.B S.C 7 2 3 3 4 5 R S22 A B C 7

17、2 3 R SA R.B S.B C a a c c b b b b b b b b c d c d R S B23SEX= M(SC)CNAME,TEACHER(S#= S3(SC C) SNAME(SEX= FTEACHER= LIU (S SC C) C#(C)-C#(SNAME= WANG(S SC) 1(1=425(SCSC )C#,CNAME(C (S#,C#(SC)S#(S)S#,C#(SC)C#(TEACHER= LI U (C) 3-8 在 3.7 题的三个关系中,用户有一查询语句:检索数学系的学生选修计算机系开设的课程的课程名和任课教师姓名。 试写出该查询的关系代数表达式。

18、 试写出该查询优化的关系代数表达式。 画出该查询初始的关系代数表达式的语法树。 使用 3.5.3 节的优化算法,对语法树进行优化,并画出优化后的语法树。解:CNAME,TEACHER(DEPT=数学系(S SC C) 设 L1=S#(DEPT=数学系(S),L2=S#,C#(SC),则优化的关系代数表达式为:A R.B S.B C a c d b b e e b b a c d A=C(RS) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 30 页 - - - - -

19、- - - - 第 6 页CNAME,TEACHER(SC.C#=C.C#(SC.C#(S.S#=SC.S#(L1 L2) C) 查询初始的关系代数表达式可表达为:CNAME,TEACHER(DEPT=数学系(L(S.S#=SC.S#SC.C#=C.C#(SSC)C) 此处 L 为 S、SC、C 中的全部属性(公共属性只取一次)。 优化后的语法树为3-9 为什么要对关系代数表达式进行优化?答:关系代数表达式由关系代数操作组合而成。操作中, 以笛卡尔积和连接操作最费时间,并生成大量的中间结果。如果直接按表达式书写的顺序执行,必将花费很多时间,并生成大量的中间结果,效率较低。在执行前,由DBMS

20、的查询子系统先对关系代数表达式进行优化,尽可能先执行选择和投影操作,以便减少中间结果,节省时间。优化工作是由DBMS 做的,用户书写时不必关心优化一事,仍以简练的形式书写。习题 4 4-1名词解释基本表视图实表相关子查询联接查询嵌套查询交互式 SQL 嵌入式 SQL 游标答:基本表:实际存储在数据库中的表,称为基本表。C L S.S#=SC.S#SC.C#=C.C# DEPT= 数学系 CNAME,TEACHER S SC C DEPT= 数学系 CNAME,TEACHER S SC SC.C#=C.C# SC.C# S.S#=SC.S# S# S#,C# 名师资料总结 - - -精品资料欢迎

21、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 30 页 - - - - - - - - - 第 7 页视图:是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是数据库中只存放视图的定义而不存放视图的数据。实表:是对基本表的别称。相关子查询: SELECT 语句嵌套时, 子查询中查询条件依赖于外层查询中的值,因此子查询要反复求值供外层查询使用。这种子查询称为相关子查询。连接查询:查询时要从多个基本表中提取数据,此时把多个基本表写在同一层的FROM子句中,这种查询形式称为连接查询。嵌套查询:查询

22、时要从多个基本表中提取数据,此时把多个基本表分别放在不同层次上的 FROM 子句中,这种查询形式称为嵌套查询。交互式 SQL :在终端交互方式使用的SQL语言。嵌入式 SQL :嵌入在高级语言的程序中使用的SQL语言。游标:游标是与某一查询相联系的符号名。游标有游标关系和游标指针两层含义。在游标打开时,游标(指针 ) 指向查询结果的第一个记录之前。4-2 对于教务管理数据库的三个基本表S(SNO,SNAME, SEX, AGE,SDEPT) SC(SNO,CNO,GRADE) C(CNO,CNAME,CDEPT,TNAME) 试用 SQL 的查询语句表达下列查询: 检索 LIU 老师所授课程的

23、课程号和课程名。 检索年龄大于23 岁的男学生的学号和姓名。 检索学号为200915146 的学生所学课程的课程名和任课教师名。 检索至少选修LIU 老师所授课程中一门课程的女学生姓名。 检索 WANG 同学不学的课程的课程号。 检索至少选修两门课程的学生学号。 检索全部学生都选修的课程的课程号与课程名。 检索选修课程包含LIU 老师所授课程的学生学号。解: SELECT C#,CNAME FROM C WHERE TEACHER=LIU ; SELECT S#,SNAME FROM S WHERE AGE23 AND SEX= M ; SELECT CNAME ,TEACHER FROM S

24、C,C WHERE SC.C#=C.C# AND S#=200915146 SELECT SNAME (连接查询方式) FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX= F AND TEACHER=LIU;或:SELECT SNAME (嵌套查询方式) FROM S WHERE SEX=FAND S# IN (SELECT S# 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 30 页 - - - - - - - -

25、 - 第 8 页 FROM SC WHERE C# IN (SELECT C# FROM C WHERE TEACHER=LIU) 或:SELECT SNAME (存在量词方式 ) FROM S WHERE SEX= F AND EXISTS(SELECT* FROM SC WHERE SC.S#=S.S# AND EXISTS(SELECT * FROM C WHERE C.C#=SC.C# AND TEACHER=LIU) SELECT C# FROM C WHERE NOT EXISTS (SELECT * FROM S,SC WHERE S.S#=SC.S# AND SC.C#=C.C

26、# AND SNAME=WANG); SELECT DISTINCT X.S# FROM SC AS X,SC AS Y WHERE X.S#=Y.S# AND X.C#!=Y.C#; SELECT C#.CNAME FROM C WHERE NOT EXISTS (SELECT * FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#); SELECT DISTINCT S# FROM SC AS X WHERE NOT EXISTIS (SELECT * FROM C WHERE TEACHER= LIU A

27、ND NOT EXISTS (SELECT * FROM SC AS Y WHERE Y.S#=X.S# AND Y.C#=C.C#); 4-3 试用 SQL 查询语句表达下列对4.2 题中教务管理数据库的三个基本表S、SC、C 查询: 统计有学生选修的课程门数。 求选修 4 号课程的学生的平均年龄。 求 LIU 老师所授课程的每门课程的学生平均成绩。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 30 页 - - - - - - - - - 第 9 页 统计每门课程的学

28、生选修人数(超过10 人的课程才统计) 。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 检索学号比WANG 同学大,而年龄比他小的学生姓名。 检索姓名以WANG 打头的所有学生的姓名和年龄。 在 SC 中检索成绩为空值的学生学号和课程号。 求年龄大于女同学平均年龄的男学生姓名和年龄。 求年龄大于所有女同学年龄的男学生姓名和年龄。解: SELECT COUNT(DISTINCT C#) FROM SC; SELECT AVG(AGE) FROM S,SC WHERE S.S#=SC.S# AND C#=4 AND SEX= F ; SELECT C.C#,AV

29、G(GRADE) FROM SC,C WHERE SC.C#=C.C# AND TEACHER= LIU ; SELECT C#,COUNT(S#) FROM SC GROUP BY C# HAVING COUNT(*)10 ORDER BY 2 DESC,1; SELECT SNAME FROM S WHERE S#ALL(SELECT S# FROM S WHERE SNAME=WANG AND AGE(SELECT AVG(AGE) FROM S WHERE SEX=F) ; SELECT SNAME,AGE FROM S WHERE SEX=M AND AGEALL(SELECT AG

30、E FROM S 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 30 页 - - - - - - - - - 第 10页 WHERE SEX= F ); 4-4 试用 SQL 更新语句表达对4.2 给出的教务管理数据库中三个基本表S、SC、C 进行如下更新操作: 往基本表 S中插入一个学生元组( 200912143 , 张晶 ,21)。 在基本表S 中检索每一门课程成绩都大于等于80 分的学生学号、姓名和性别,并把检索到的值送往另一个已存在的基本表STUDENT(SNO

31、,SNAME,SEX)。 在基本表 SC 中删除尚无成绩的选课元组。 把张成民同学在SC 中的选课记录全部删去。 把选修高等数学课程中不及格的成绩全部改为空值。 把低于总平均成绩的女同学成绩提高5%。 在基本表 SC 中修改 4 号课程的成绩,若成绩小于等于75 分时提高5%,若成绩大于 75 分时提高4%(用两个 UPDATE 语句实现)。解: INSERT INTO S(S#,SNAME,AGE) VALUES( 200912143, 张晶 ,21) ; INSERT INTO STUDENT(SNO,SNAME,SEX) SELECT S#,SNAME,SEX FROM S WHERE

32、S# IN (SELECT S# FROM SC WHERE 80=ALL(SELECT GRADE FROM SC GROUP BY S#); DELETE FROM SC WHERE GRADE IS NULL; DELETE FROM SC WHERE S# IN(SELECT S# FROM S WHERE SNAME= 张民 ) UPDATE SC SET GRADE=NULL WHERE GRADE60 AND C# IN(SELECT C# FROM C WHERE CNAME= 高等数学 ); UPDATE SC SET GRADE=GRADE*1.05 WHERE S# IN

33、(SELECT S# FROM S WHERE SEX=F) AND GRADE75; UPDATE SC SET GRADE=GRADE*1.05 WHERE C#= 4AND GRADE80; SELECT SNO,AVG_GRADE FROM S_GRADE WHERE C_NUM(SELECT C_NUM FROM S_GRADE SNO= 200912121); UPDATE S_GRADE SET C_NUM=C_NUM+1 WHERE SNO=200915122 DELETE FROM S_GRADE WHERE C_NUM4; 答:允许查询。相应的操作如下:SELECT SNO

34、,COUNT(CNO) AS C_NUM,AVG(GRADE) AS AVG_GRADE FROM SC GROUP BY SNO; 允许查询。相应的操作如下:SELECT SNO,COUNT(CNO)AS C_NUM FROM SC GROUP BY SNO HAVING AVG(GRADE)80; 允许查询。相应的操作如下:SELECT SNO,AVG(GRADE) AS AVG_GRADE FROM SC GROUP BY SNO HAVING COUNT(CNO)(SELECT COUNT(CNO) FROM SC GROUP BY SNO HAVING SNO= 200912121

35、);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 30 页 - - - - - - - - - 第 13页 不允许。 C_NUM 是对 SC中的学生选修课程的门数进行统计,在未更改SC表时,要在视图 S_GRADE 中更改门数,是不可能的。 不允许。在视图S_GRADE 中删除选修课程的门数在4 门以上的学生元组,势必造成SC中这些学生学习元组的删除,这不一定是用户的原意,因此使用分组和聚合操作的视图,不允许用户执行更新操作。4-7 预处理方式对于嵌入式SQL 的实现

36、有什么重要意义?答:此时宿主语言的编译程序不必改动,只要提供一个SQL函数定义库, 供编译时使用。预处理方式只是把源程序中的SQL语句处理成宿主语言的函数调用形式。4-8 SQL 的集合处理方式与宿主语言单记录处理方式之间如何协调?答:用游标机制协调。把SELECT 语句查询结果定义成游标关系,以使用文件的方式来使用游标关系。 与游标有关的SQL语句有 4 个:游标定义, 游标打开, 游标推进, 游标关闭。4-9 嵌入式 SQL 的 DML 语句何时不必涉及到游标?何时必须涉及到游标?答:不使用游标的SQL语句有下面两种情况: INSERT、DELETE 、UPDATE 语句,只要加上前缀和结

37、束标志,就能嵌入在宿主语言程序中使用; 对于 SELECT 语句,如果已知查询结果肯定是单元组,也可不必涉及游标操作。使用游标的SQL语句有下面两种情况: 当 SELECT语句查询结果是多个元组时,必须用游标机制把多个元组一次一个地传递给主程序处理: 对游标指向元组进行修改或删除操作时,也涉及到游标。4.10 用 T-SQL 语句创建教务管理数据库(JWGL) ,在 SQL Server 2005 的查询分析器的环境中验证习题4.2、习题 4.3 和习题 4.4 的有关内容。略。习题 5 5-1 解释下列名词函数依赖函数依赖集F 的闭包 F+ 最小依赖集无损分解保持函数依赖1NF 2NF 3N

38、F BCNF 答:函数依赖: 设有关系模式R(U) ,X 和 Y 是属性集U 的子集, 若对于 R(U) 的任意一个可能的关系 r,r 中不可能存在两个元组在X 上的属性值相等,而在Y 上的属性值不等,则称X 函数确定 Y 或 Y 函数依赖( Functional Dependency ,简记为 FD)于 X,记作 XY 。函数依赖集F 的闭包 F+:被 F 逻辑蕴涵的函数依赖全体构成的集合,称为F 的闭包,记为 F+。最小依赖集:设F 是属性集 U上的 FD集,Fmin是 F的最小依赖集,那么Fmin应满足下列四个条件: (Fmin)+=F+;每个 FD的右边都是单属性;Fmin中没有冗余的

39、FD;每个 FD的左边没有冗余的属性。无损分解:设关系模式R,F 是 R上的 FD集, =Rl, ,Rk 是 R的一个分解。如果对R 中满足 F 的每一关系r ,都有 r= Ri(r) ,那么称分解 相对 F 是“无损分解”。保持函数依赖:设关系模式R,F是 R上的 FD分解, =R1, , ,Rk是 R的一个分解,如果有k i=1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 30 页 - - - - - - - - - 第 14页1()ikRiFF那么称分解p 保

40、持 FD集 F。1NF :如果关系模式R的每个关系r 的属性值都是不可分的原子值,那么称R是 1NF的模式。2NF :如果 R是 1NF的模式,且每个非主属性完全函数依赖于R的候选键,那么称R是2NF的模式。3NF :如果 R是 1NF的模式,且每个非主属性都不传递依赖于R的候选键,那么称R是3NF的模式。BCNF : 如果 R是 1NF的模式, 且每个属性都不传递依赖于R的候选键, 那么称 R是 BCNF的模式。5-2 已知关系模式R(ABC ), F 是 R 上成立的FD 集, F=A B,BC ,试写出F的闭包 F+。解:根据已知条件和推理规则,可知F+有 43 个 FD:A AB AC

41、 ABC B CAA ABA ACA ABCA BB CC AB ABB ACB ABCB BC AC ABC ACC ABCC BBC AAB ABAB ACAB ABCAB BCAAC ABAC ACAC ABCAC BCB ABC ABBC ACBC ABCBC BCC AABC AB ABC AC ABC ABC ABC BC BC 5-3 设关系模式R( ABCD ),F 是 R 上成立的 FD 集,F=A B,CB ,则相对于 F,试写出关系模式R 的关键码。并说明理由。解: R 的关键码为ACD 。因为从已知的F,只能推出ACD ABCD 。5-4 设关系 R(ABCDE )上

42、FD 集为 F,并且 F=A BC,CDE,BD,EA 。求出 R 的候选键。解: R 的候选键有4 个: A、E、CD 和 BC。5-5 设关系模式R (ABC ) , F 是 R 上成立的 FD 集, F=B C, CA , 那么分解 =AB ,AC 相对于 F,是否无损分解和保持FD?并说明理由。答:已知F=B C, CA ,而 AB(F)=B A ,AC(F)=C A ,显然这个分解丢失了 FD:BC。对于保持无损分解:无 a 行,所以是有损分解。5-6 设关系模式R(ABCD ), F 是 R 上成立的FD 集, F=A B,BC,AD,DC , =AB ,AC ,BD 是 R 的一

43、个分解。 相对于 F,是无损分解吗?为什么? 试求 F 在 的每个模式上的投影。 保持 F 吗?为什么?答: 用测试过程可以知道,相对于 F 是损失分解。A B C AB AC a1 a2 b13 a1 b22 a3 A B C AB AC a1 a2 b13 a1 b22 a3 由 FD 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 30 页 - - - - - - - - - 第 15页 AB(F)=A B, AC(F)=A C, BD(F)= 。 显然,分解相对

44、于 F 不保持 FD 分解,因为丢失了BC,AD,DC 等三个FD。5-7 设关系模式R (ABCD ) ,R 上的 FD 集 F=A C, DC,BD A ,试说明 =AB ,ACD ,BCD 相对于 F是损失分解的理由。答:根据已知的F 集,不可能把初始表格修改为一个全a 行的表格,因此相对于F是损失分解。5-8 设关系模式R( ABCD ), F 是 R 上成立的 FD 集, F=AB CD,AD 。 试说明 R 不是 2NF 模式的理由。 试把 R 分解成 2NF 模式集。答: 从已知的函数依赖集F,可知 R 的候选键是AB 。另外,由 ABCD 可推出 ABD,再由 AD 可知 AB

45、D 是部分(局部)函数依赖,因此R 不是 2NF 模式。 如果将 R 分解成 =AD , ABC ,则 是 2NF 模式集。5-9 设关系模式R( ABC ), F 是 R 上成立的 FD 集, F=C B,BA 。 试说明 R 不是 3NF 模式的理由。 试把 R 分解成 3NF 模式集。答:从已知函数依赖集F 可知, R 的候选键是C。由 CB,BA 可知, CA 是一个传递依赖,因此R 不是 3NF 模式。 此时如果将R 分解成 =CB ,BA ,则 是 3NF 模式集。5-10 设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所

46、在的部门和经理信息。如果规定: 每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。试回答下列问题: 根据上述规定,写出模式R 的基本 FD 和关键码; 说明 R 不是 2NF 的理由,并把R 分解成 2NF 模式集; 进而分解成3NF 模式集。解: 基本的 FD 有三个:(职工编号,日期)日营业额职工编号 部门名部门名 部门经理 R的关键码为:(职工编号,日期)。 R 中有两个这样的FD:(职工编号,日期)(部门名,部门经理)职工编号(部门名,部门经理)可见前一个FD 是局部依赖,所以R 不是 2NF 模式。R 应分解 Rl(职工编号,部门名,部门经理)R2(职工编号

47、,日期,日营业额)此处, Rl 和 R2 都是 2NF 模式。 R2 已是 3NF 模式。在 R1 中,存在两个FD:职工编号 部门名部门名 部门经理因此,“职工编号 部门经理”是一个传递依赖,Rl 不是 3NF 模式。R1 应分解成 R11(职工编号,部门名)R12(部门名,部门经理)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 30 页 - - - - - - - - - 第 16页这样, =R11 ,Rl2,R2 是一个 3NF 模式集。5-11 设有关系模式R

48、(运动员编号,比赛项目,成绩,比赛类别,比赛主管),如果规定:每个运动员每参加一个比赛项目,只有一个成绩;每个比赛项目只属于一个比赛类别;每个比赛类别只有一个比赛主管。试回答下列问题: 根据上述规定,写出模式R的基本 FD和关键码; 说明 R不是 2NF的理由,并把R分解成 2NF模式集; 进而分解成3NF 模式集。解:基本的 FD有 3 个:(运动员编号,比赛项目)成绩比赛项目 比赛类别比赛类别 比赛主管R的关键码为(运动员编号,比赛项目)。 R 有两个这样的FD:(运动员编号,比赛项目)(比赛类别,比赛主管)比赛项目 (比赛类别,比赛主管)可见,前一个FD是部分(局部)函数依赖,所以R不是

49、 2NF模式。如果把 R分解成 R1(比赛项目,比赛类别,比赛主管) R2(运动员编号,比赛项目,成绩)这里, R1和 R2都是 2NF模式。 R2 已是 3NF模式。在 R1中,存在两个FD:比赛项目 比赛类别比赛类别 比赛主管因此,“比赛项目 比赛主管”是一个传递依赖,R1不是 3NF模式。R1应分解为 R11(比赛项目,比赛类别) R12(比赛类别,比赛主管)这样, =R11 ,R12,R2 是一个 3NF 模式集。习题 6 6-1 名词解释生命周期法快速原型法面向对象法数据流图数据字典弱实体超类子类继承性答: 生命周期法: 生命周期法就是将整个数据库应用系统的开发过程分解成若干个阶段,

50、并对每个阶段的目标、任务、 方法作出规定, 使整个数据库应用系统的开发过程具有合理的组织和科学的秩序。数据库应用系统的生命周期,可以分成四个主要阶段:系统分析、系统设计、系统实施、系统运行与维护。快速原型法:快速原型法的基本思想是以少量代价快速地构造一个可执行的软件系统,使用户和开发人员可以较快地确定需求。在初步了解用户的基本要求后,开发人员先建立一个他们认为符合用户要求的模式系统交付用户检验,由于模型是可以执行的,所以为用户提供了获得感性认识的机会。面向对象法:面向对象法是针对面向过程提出的,是区别于传统的结构化方法的一种新方法、 新思路, 是一种基于数据抽象的类的组合的自底向上的开发方法,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁