数据库习题及练习答案

上传人:xins****2008 文档编号:110834032 上传时间:2019-10-31 格式:DOC 页数:12 大小:147KB
返回 下载 相关 举报
数据库习题及练习答案_第1页
第1页 / 共12页
数据库习题及练习答案_第2页
第2页 / 共12页
数据库习题及练习答案_第3页
第3页 / 共12页
数据库习题及练习答案_第4页
第4页 / 共12页
数据库习题及练习答案_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数据库习题及练习答案》由会员分享,可在线阅读,更多相关《数据库习题及练习答案(12页珍藏版)》请在金锄头文库上搜索。

1、简答题1. 什么是数据库的数据独立性?数据独立性分为哪两个级别?答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。2. DBMS的主要功能有哪5个方面?答:(1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。 (2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。 (3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。 (4)数据库的建立和

2、维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。(5)数据库的传输。DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。3. 叙述等值连接和自然连接的区别和联系。答:等值连接表示为,自然连接表示为,自然连接是除去重复属性的等值连接。两者之间的区别和联系如下:(1)自然连接一定是等值连接,但等值连接不一定是自然连接。等值连接不把重复的属性除去;而自然连接要把重复的属性除去;(2)等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。4. 简单说明排它锁和它的作用。答:排它锁又称为写锁((eXc

3、lusive lock,简记为X锁)),若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。它防止任何其它事务获取资源上的锁,直到在事务的末尾将资源上的原始锁释放为止。在更新操作(INSERT、UPDATE 或 DELETE)过程中始终应用排它锁。故而排他所得作用就是:防止并发操作引起的数据不一致性5. 设有关系R和S,其中R为参照关系,S为信赖关系。为了实现完整性约束,SQL规定可以对R的删除操作采取哪三种措施? 答:(1) RESTRICT (或 约束删除),(2) CASCADE (或级联删除),(3) SET NULL (或

4、外键值置空)6. 简要说明事务的原子性。答:事务的所有操作必须完成,否则事务将被撤消。也就是说,事务是作为一个整体的单位处理,不可以被分割。7. 两个函数信赖集F和G等价的充分必要条件是什么? 答:F中每个FD在G+中,并且G中每个FD也在F+中。8. 在数据库系统中有如下一个调度,它涉及到个不同的事务1、和。请问调度是冲突可串行化的吗?为什么?如果调度是冲突可串行化的,就请给出与之等价的一个串行调度序列。 Read(A) Read(B) Read(Q) Write(Q) Read(M) Write(Q) Read(Q) Write(M) Write(B) 首先要给出该调度的优先图: T1T2

5、 T2T1 T1T3 T2T3调度的优先图中存在有向环,因此该调度不是冲突可串行化的。9. 在同一个SQL语句中的having子句和where子句中的条件是什么样的关系?答:如果在同一个SQL语句中同时存在where子句和having子句,那么首先应该用where子句中的条件进行选择,满足where条件的记录通过group by子句形成分组;然后在每个分组上应用having子句,不符合having条件的分组将被抛弃掉!having子句主要是针对分组进行条件限制。having子句中的条件只有在形成分组后才起作用,因此可以在having子句中使用聚集函数。10. 解释文件系统为什么会存在数据冗余?

6、这种数据冗余会导致哪两类典型的问题?答:由于文件系统难于实现数据共享,因此,相同的数据可能会在多个文件中重复出现,即产生数据冗余。数据冗余会导致数据(或更新)异常和数据不一致性。11. 简述关系模型的实体完整性规则和参照完整性规则。答:实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它对于基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。12. 对DBS生存期的划分,一般分为哪7个阶段。答:DBS生存期

7、分七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。13. 函数依赖集F的最小依赖集G应满足哪4个条件?答:(1)G+=F+;(2)每个FD的右边都是单属性;(3)F中不存在这样的函数依赖XY,使得F与F-XY等价;(4)F中不存在这样的函数依赖XY,X有真子集W使得F-XYUWY与F等价。14. 事务有哪几种状态?答:活动状态、局部提交状态、失败状态、异常中止状态、提交状态。15. ODBC的体系结构共分为哪几层?答:ODBC的体系结构共分为四层:应用程序、驱动程序管理器、DBMS驱动程序和数据源。16. 简述模式分解的优缺点。答:优点:(1)模式分解能消除数据冗余和操

8、作异常现象;(2)在分解了的数据库中可以存储悬挂元组,存储泛关系中无法存储的信息。缺点:(1)分解以后,检索操作需要做笛卡尔积或连接操作,这将付出时间代价;(2)在有泛关系假设时,对数据库中关系进行自然连接时,可能产生寄生元组,即损失了信息,在无泛关系时,由于数据库中可能存在悬挂元组,就有可能不存在泛关系。17. ODBC驱动程序有哪两种类型?主要区别是什么?答:ODBC驱动程序有两种类型:单层驱动程序和多层驱动程序。区别:单层驱动程序中包含了数据库引擎,解释执行SQL语句。在网络中传输的是整个数据库文件,所以网络的数据通信量很大。多层驱动程序中不包含数据库引擎,将SQL语句传递给数据源服务器

9、,由DBMS解释执行。因此在网络中传输的只是用户请求和数据库处理的结果,从而使网络的数据通信量大大减少,减轻了网络的负担,均衡了服务器和客户机的负载,提高了应用程序的运行效率。18. ODBC应用程序初始化的基本流程是什么?答:分配环境句柄分配连接句柄与服务器连接分配语句句柄。19. ODBC应用程序终止的基本流程是什么?答:与服务器断开释放语句句柄释放连接句柄释放环境句柄。20. ODBC句柄有哪三个?答:有三种句柄:环境句柄,连接句柄和语句句柄。21. JDBC的总体结构由哪4部分组成?答:JDBC的总体结构由Java程序、JDBC管理器、驱动程序和数据库四部分组成。22. JDBC驱动程

10、序有哪4类?答:JDBC驱动程序有四类:本地库Java驱动程序,独立于DBMS的网络协议驱动程序,DBMS协议Java驱动程序,JDBC-ODBC桥驱动程序。23. JDBC API主要完成哪三项任务?答:(1)同一个数据库建立连接;(2)向数据库发送SQL语句;(3)处理数据库返回结果。24. 简述在DTD的属性声明中,类型声明的5种类型和默认声明的3种类型。答:类型声明的5种类型:(1)PCDATA或CDATA;(2)ID;(3)IDREF或IDREFS;(4)ENTITY或ENTITIES;(5)枚举类型。默认声明的3种类型:(1)#IMPLIED;(2)#REQUIRED(3)#FIX

11、ED。25. 现在主要有哪三种语言提供了XML数据的查询和转换能力?答:XPath、XSLT、XQuery。26. 论述并发操作对数据库带来的问题及解决的办法。答:并发操作带来3个问题:丢失更新问题、读脏数据问题、不可重复读问题。这些问题都需要并发控制子系统来解决。综合题1. 设有如下实体学生:学号、单位、姓名、性别、年龄、选修课程名课程:编号、课程名、开课单位、任课教师号教师:教师号、姓名、性别、职称、讲授课程号单位:单位名称、电话、教师号、教师名上述实体中存在如下联系(1) 一个学生可以选修多门课程,一门课程可以为多个学生选修;(2) 一个教师可以讲授多门课程,一门课程可以为多个教师讲授;

12、(3) 一个单位可以有多个教师,一个教师只能属于一个单位。试完成如下工作:(1) 将全局ER图转换为等价的关系模式的数据库逻辑结构。单位(单位名,电话)教师(教师号,姓名,性别,职称,单位名)课程(课程编号,课程名,单位名)学生(学号,姓名,性别,年龄,单位号)讲授(教师号,课程编号)选修(学号,课程编号)2. 图书出版管理数据库中有两个基本表:图书(书号,书名,作者编号,出版社,出版日期);作者 (作者编号,作者名,年龄,地址)。试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名.书名和出版社。SELECT 作者名,书名,出版社FROM 图书,作者WHERE 图书.作者编

13、号=作者.作者编号AND 年龄 = (SELECT AVG (年龄)FROM 作者);3. 设有关系S(S#,SNAME,AGE,SEX)、SC(S#,C#,SCORE)、C(C#,CNAME,TEACHER),试用关系代数和SQL完成如下操作(1) 用关系代数表达检索选修了“程军”老师所授课程之一的学生姓名。SNAME(SSCC#(TEACHER=程军(C))(2) 用关系代数表达至少选修了S2和S4课程的学生的学号和姓名。S#,SNAME(SS#(4=42=s25=s4(SCSC)) (3) 用SQL表达找出“程序设计”课程成绩在90分以上的学生。4. 设有关系模式R(U),函数依赖集为F

14、,其中U=A,B,C,D,E,F=ABC,CDE,BD,EA(1) 计算B+,并给出计算步骤。解答:令X=B,X(0)=B,由BD ,且BX(0),X(1)=X(0)D=BD,由ABC,CDE,EA函数依赖的左部都不在X(1)中,所以B+=BD(2) 证明CD是R的候选键证明:由已有的函数依赖得:CDU,所以,CD是超键,又由于C+=C,D+=D,所以C和D都不是超键,因此,CD是候选键。5. 设有关系模式STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE)S#,CNAME组成候选键,函数依赖集合为F=S#, CNAMESNAME, SDEPT, MNAMES#S

15、NAME, SDEPT, MNAMES#, CNAMEGRADESDEPTMNAME试问:(1) 关系模式STUDENT属于第几范式?给出理由。答:由于S#,CNAMESDEPT, 和S#SDEPT,所以,存在非主属性局部依赖于候选键,所以关系模式不是2NF的,它是1NF的。(2) 如果STUDENT不属于BCNF,试给出分解为BCNF的过程。答:首先消除S#, CNAMESNAME, SDEPT, MNAME部分函数依赖,构造R1(S#,SNAME, SDEPT, MNAME)和R2(S#,SNAME, GRADE)在关系R1中,其函数依赖为S#SNAME, SDEPT, MNAMESDEPTMNAME这里有非主属性MNAME传递依赖于候选键S#,将R1分解为R11(SD

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

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号