您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 数据库习题及练习答案
简答题1.什么是数据库的数据独立性?数据独立性分为哪两个级别?答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。2.DBMS的主要功能有哪5个方面?答:(1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。(2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。(3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。(4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。(5)数据库的传输。DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。3.叙述等值连接和自然连接的区别和联系。答:等值连接表示为,自然连接表示为,自然连接是除去重复属性的等值连接。两者之间的区别和联系如下:(1)自然连接一定是等值连接,但等值连接不一定是自然连接。等值连接不把重复的属性除去;而自然连接要把重复的属性除去;(2)等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。4.简单说明排它锁和它的作用。答:排它锁又称为写锁((eXclusivelock,简记为X锁)),若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。它防止任何其它事务获取资源上的锁,直到在事务的末尾将资源上的原始锁释放为止。在更新操作(INSERT、UPDATE或DELETE)过程中始终应用排它锁。故而排他所得作用就是:防止并发操作引起的数据不一致性5.设有关系R和S,其中R为参照关系,S为信赖关系。为了实现完整性约束,SQL规定可以对R的删除操作采取哪三种措施?答:(1)RESTRICT(或约束删除),(2)CASCADE(或级联删除),(3)SETNULL(或外键值置空)6.简要说明事务的原子性。答:事务的所有操作必须完成,否则事务将被撤消。也就是说,事务是作为一个整体的单位处理,不可以被分割。7.两个函数信赖集F和G等价的充分必要条件是什么?答:F中每个FD在G+中,并且G中每个FD也在F+中。8.在数据库系统中有如下一个调度S,它涉及到3个不同的事务T1、T2和T3。请问调度S是冲突可串行化的吗?为什么?如果调度S是冲突可串行化的,就请给出与之等价的一个串行调度序列。T1T2T3Read(A)Read(B)Read(Q)Write(Q)Read(M)Write(Q)Read(Q)Write(M)Write(B)首先要给出该调度的优先图:T1→T2T2→T1T1→T3T2→T3调度的优先图中存在有向环,因此该调度不是冲突可串行化的。9.在同一个SQL语句中的having子句和where子句中的条件是什么样的关系?答:如果在同一个SQL语句中同时存在where子句和having子句,那么首先应该用where子句中的条件进行选择,满足where条件的记录通过groupby子句形成分组;然后在每个分组上应用having子句,不符合having条件的分组将被抛弃掉!having子句主要是针对分组进行条件限制。having子句中的条件只有在形成分组后才起作用,因此可以在having子句中使用聚集函数。10.解释文件系统为什么会存在数据冗余?这种数据冗余会导致哪两类典型的问题?答:由于文件系统难于实现数据共享,因此,相同的数据可能会在多个文件中重复出现,即产生数据冗余。数据冗余会导致数据(或更新)异常和数据不一致性。11.简述关系模型的实体完整性规则和参照完整性规则。答:实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。参照完整性规则:若属性(或属性组)F是基本关系R的外码,它对于基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。12.对DBS生存期的划分,一般分为哪7个阶段。答:DBS生存期分七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。13.函数依赖集F的最小依赖集G应满足哪4个条件?答:(1)G+=F+;(2)每个FD的右边都是单属性;(3)F中不存在这样的函数依赖X→Y,使得F与F-{X→Y}等价;(4)F中不存在这样的函数依赖X→Y,X有真子集W使得F-{X→Y}U{W→Y}与F等价。14.事务有哪几种状态?答:活动状态、局部提交状态、失败状态、异常中止状态、提交状态。15.ODBC的体系结构共分为哪几层?答:ODBC的体系结构共分为四层:应用程序、驱动程序管理器、DBMS驱动程序和数据源。16.简述模式分解的优缺点。答:优点:(1)模式分解能消除数据冗余和操作异常现象;(2)在分解了的数据库中可以存储悬挂元组,存储泛关系中无法存储的信息。缺点:(1)分解以后,检索操作需要做笛卡尔积或连接操作,这将付出时间代价;(2)在有泛关系假设时,对数据库中关系进行自然连接时,可能产生寄生元组,即损失了信息,在无泛关系时,由于数据库中可能存在悬挂元组,就有可能不存在泛关系。17.ODBC驱动程序有哪两种类型?主要区别是什么?答:ODBC驱动程序有两种类型:单层驱动程序和多层驱动程序。区别:单层驱动程序中包含了数据库引擎,解释执行SQL语句。在网络中传输的是整个数据库文件,所以网络的数据通信量很大。多层驱动程序中不包含数据库引擎,将SQL语句传递给数据源服务器,由DBMS解释执行。因此在网络中传输的只是用户请求和数据库处理的结果,从而使网络的数据通信量大大减少,减轻了网络的负担,均衡了服务器和客户机的负载,提高了应用程序的运行效率。18.ODBC应用程序初始化的基本流程是什么?答:分配环境句柄→分配连接句柄→与服务器连接→分配语句句柄。19.ODBC应用程序终止的基本流程是什么?答:与服务器断开→释放语句句柄→释放连接句柄→释放环境句柄。20.ODBC句柄有哪三个?答:有三种句柄:环境句柄,连接句柄和语句句柄。21.JDBC的总体结构由哪4部分组成?答:JDBC的总体结构由Java程序、JDBC管理器、驱动程序和数据库四部分组成。22.JDBC驱动程序有哪4类?答:JDBC驱动程序有四类:本地库Java驱动程序,独立于DBMS的网络协议驱动程序,DBMS协议Java驱动程序,JDBC-ODBC桥驱动程序。23.JDBCAPI主要完成哪三项任务?答:(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)#FIXED。25.现在主要有哪三种语言提供了XML数据的查询和转换能力?答:XPath、XSLT、XQuery。26.论述并发操作对数据库带来的问题及解决的办法。答:并发操作带来3个问题:丢失更新问题、读脏数据问题、不可重复读问题。这些问题都需要并发控制子系统来解决。综合题1.设有如下实体学生:学号、单位、姓名、性别、年龄、选修课程名课程:编号、课程名、开课单位、任课教师号教师:教师号、姓名、性别、职称、讲授课程号单位:单位名称、电话、教师号、教师名上述实体中存在如下联系(1)一个学生可以选修多门课程,一门课程可以为多个学生选修;(2)一个教师可以讲授多门课程,一门课程可以为多个教师讲授;(3)一个单位可以有多个教师,一个教师只能属于一个单位。试完成如下工作:(1)将全局ER图转换为等价的关系模式的数据库逻辑结构。单位(单位名,电话)教师(教师号,姓名,性别,职称,单位名)课程(课程编号,课程名,单位名)学生(学号,姓名,性别,年龄,单位号)讲授(教师号,课程编号)选修(学号,课程编号)2.图书出版管理数据库中有两个基本表:图书(书号,书名,作者编号,出版社,出版日期);作者(作者编号,作者名,年龄,地址)。试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名.书名和出版社。SELECT作者名,书名,出版社FROM图书,作者WHERE图书.作者编号=作者.作者编号AND年龄=(SELECTAVG(年龄)FROM作者);3.设有关系S(S#,SNAME,AGE,SEX)、SC(S#,C#,SCORE)、C(C#,CNAME,TEACHER),试用关系代数和SQL完成如下操作(1)用关系代数表达检索选修了“程军”老师所授课程之一的学生姓名。ΠSNAME(SSCΠC#(σTEACHER=’程军’(C)))(2)用关系代数表达至少选修了S2和S4课程的学生的学号和姓名。ΠS#,SNAME(SΠS#(σ4=4∧2='s2'∧5='s4'(SC×SC)))(3)用SQL表达找出“程序设计”课程成绩在90分以上的学生。4.设有关系模式R(U),函数依赖集为F,其中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#SNAME,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(SDEPT,MNAME)和R12(S#,SNAME,SDEPT),它们和R2都是BCNF6.假设某商业集团数据库中有一关系模式R如下:R(商店编号,商品编号,数量,部门编号,负责人)如果规定:(1)每个商店的每种商品只在一个部门销售;(2)每个商店的每个部门只有一个负责人;(3)每个商店的每种商品只有一个库存数量。试回答下列问题:(1)根据上述规定,写出关系模式R的基本函数依赖;答:有三个函数依赖:(商店编号,商品编号)→部门编号(商店编号,部门编号)→负责人(商店编号,商品编号)→数量(2)找出关系模式R的候选码;答:R的候选码是:(商店编号,商品编号)(3)试问关系模式R最高已经达到第几范式?为什么?答:因为R中存在着非主属性“负责人”对候选码(商店编号,商品编号)的传递函数依赖,所以R属于2NF,R不属于3NF(4)如果R不属于3NF,请将R分解成3NF模式集。答:将R分解成:R1(商店编号,商品编号,数量,部门编号)R2(商店编号,部门编号,负责人)7.设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的
本文标题:数据库习题及练习答案
链接地址:https://www.777doc.com/doc-2428100 .html