您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据结构与算法 > 数据库系统概论复习题及答案
第一学期期末考试试卷和答案试卷代码:03115授课课时:96课程名称:数据库系统原理A适用对象:本科选课班一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分)1、在数据库技术发展的几个阶段中,数据独立性最高的是__A___阶段。A、数据库系统B、文件系统C、人工管理D、数据项管理2、在SQL的SELECT语句中,与选择运算对应的命令动词是__C___。A、SELECTB、FROMC、WHERED、ORDERBY3、在数据库中,下列说法_A__是不正确的A、数据库避免了一切数据的重复B、若系统是完全可以控制的,则系统可确保更新是的一致性C、数据可以共享D、数据库减少了冗余4、在数据库系统中,模式/外模式映像用于解决数据的_C__A、结构独立性B、物理独立性C、逻辑独立性D、分布独立性5、关系代数的5种基本运算是__D_。A、并、差、选择、投影、自然连接B、并、差、交、选择、投影C、并、差、交、选择、笛卡尔积D、并、差、选择、投影、笛卡尔积6、在SQL语句中,谓词“EXISTS”的含义是_B___。A、全称量词B、存在量词C、自然连接--在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列D、等值连接--在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列7、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常、更新异常以及_C__的缺陷A、数据不一致性B、结构不合理C、冗余度大D、数据丢失8、数据库数据的正确性和相容性是数据库的__B____。A、安全性B、可维护性C、完整性D、并发控制9、数据库三级模式体系结构主要的目标是确保数据库的_B__。A、数据安全性B、数据独立性C、最小冗余D、数据结构规范化10、后援副本的用途是_C____。A、安全性保障B、一致性控制C、故障后的恢复D、数据的转储评分标准:每题1分二、简答题(回答要点,并简明扼要作解释。每题5分,共20分)1、简述数据库系统从哪些方面来保证数据的完整性。①列级约束:数据类型、宽度、缺省值、检查约束、是否空值、唯一约束②主键约束、③外键约束、④用户自定义约束:主要通过触发器完成评分标准:1)写出列级约束2分2)写出主键约束1分3)写出外键约束1分4)写出用户自定义约束1分2、简述事务的ACID特性①原子性(A):事务中的操作要么全做,要么一个也不做②一致性(C):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态③隔离性(I):一个事务的执行不能被其它事务干扰④持续性(D):一个事务一旦提交,它对数据库中数据的修改应该是永久的评分标准:1)写出原子性1分2)写出隔离性1分3)写出一致性2分4)写出持续性1分3、简述并发控制不当带来的数据不一致性问题①丢失修改:两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1的结果,导致T1的修改被丢失②不可重复读:是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果③读“脏”数据:是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致。则T2读到了“脏”数据,即不正确的数据。④产生上述三类数据不一致性的主要原因是并发操作破坏了事务的隔离性。评分标准:1)写出丢失修改1分2)写出不可重复读1分3)写出读“脏”数据2分4)写出主要原因1分4、简述数据库系统从哪些方面来保证数据的安全性。①身份认证:提供用户标识和密码的确认②用户操作对象的权限:通过授权机制③视图:只显示用户可以作用的属性及记录④存储过程:通过存储过程实现对不具有操作权限的数据评分标准:1)写出用户身份认证2分2)写出用户操作对象的权限1分3)写出视图1分4)写出存储过程1分三、编程与关系运算(每题5分,共20分)设有四个关系学生表(学号char(5),姓名varchar(10),姓别char(2),所属系varchar(20))Student(sno,sname,sex,dept)课程表(课程号char(3),课程名varchar(20),先修课程char(3),学分tinyint,任课教师char(5))Course(cno,cname,precno,ceredit,tno)教师表(教师号char(5),教师名称varchar(10),姓别char(2))Teacher(tno,tname,sex)选课表(学号char(5)、课程号char(3),成绩tinyint)SC(sno,cno,grade)1、编写一个触发器,当对学生表进行修改时其姓别只能是男和女。createtriggerStudentUpdateonStudentforupdateasbeginifexists(select*frominsertedwheresexnotin('男','女'))rollbackend评分标准:1)写出createtriggeronStudent1分2)写出forupdate1分3)写出ifexists(select*frominsertedwheresexnotin('男','女'))2分4)写出rollback1分2、编写一个存储过程,依据输入的学号参数,统计该学生的平均分和总分,要求使用游标,不可以使用sum和avg命令。createprocedureSearchSumBySno(@snochar(5))asbegindeclare@sumint,@avgnumeric(5,1),@gradetinyint,@counttinyintselect@sum=0,@count=0declaremyCursorcursorforselectgradefromscwheresno=@snoopenmyCursorfetchmyCursorinto@gradewhile(@@fetch_status=0)beginselect@sum=@sum+@gradeselect@count=@count+1fetchmyCursorinto@gradeendclosemyCursordeallocatemyCursorif@count=0select0'总分',0'平均分'elsebeginselect@avg=@sum/@countselect@sum'总分',@avg'平均分'endend评分标准:1)定义游标1分2)定义变量1分3)给变量赋值1分4)游标的打开、获取和关闭1分5)循环条件1分3、使用关系代数语言查询选修了’刘红’老师所授的所有课程的同学学号。∏sno,cno(SC)÷∏cno(σtname=’刘红’(Teacher)∞Course)评分标准:1)σtname=’刘红’(Teacher)1分2)与Course表的连接1分3)作除法运算2分4)括号正确1分4、使用元组演算语言查询同时选修了‘001’和‘002’两门课程号的同学姓名。{t|ヨuヨvヨw(Student(u)∧SC(v)∧SC(w)∧v[2]=’001’∧w[2]=’002’∧v[1]=w[1]∧u[1]=v[1]∧t[1]=u[2])}评分标准:1)写出存在量词1分2)写出自表连接运算v[1]=w[1]∧u[1]=v[1]2分3)写出选取条件v[2]=’001’∧w[2]=’002’1分4)写出投影运算t[1]=u[2]1分四、综合设计题(共40分)1、已知:关系模式R(U,F)U=ABCDF={A→C,C→A,B→AC,D→AC}求:(1)(AD)F+,R的候选码。(5分)(2)求F的最小函数依赖集,并使用算法将模式R无损失连接且保持函数依赖分解为3NF。(5分)解:(1)(AD)F+=ADC,候选码:BD(2)最小函数依赖集:Fmin={A→C,C→A,B→A,D→A},将模式R无损失连接且保持函数依赖分解为3NF,P={AC,BA,DA,BD}。评分标准:(1)(AD)F+=ADC(2分)(2)候选码:BD(3分)(3)F的最小函数依赖集是(2分)(4)P={AC,BA,DA,BD}(3分)2、设有关系模式RU,F,U={A,B,C,D,E},F={A→D,E→D,D→B,BC→D,CD→AB},设有一个分解P={R1(ED),R2(BCD),R3(ACD)}判断该分解是否保持函数依赖,并判断此分解是否具有无损连接性。(10分)解:(1)求出F的最小函数依赖集F’={A→D,E→D,D→B,BC→D,CD→A}又因为:F’+=(Fi)+,则RU,F的分解р={R1,R2,R3}保持函数依赖。所以,该分解能保持函数依赖关系。(5分)(2)又因为:ABCDER1b11a2b13a4a5R2a1a2a3a4b25R3a1a2a3a4b35可以得到没有一行全为a,所以该分解为有损分解。(5分)3、对于关系模式R(D,B,I,S,Q,O),设有两个函数依赖集F和G,其中F={S—D,I—B,IS—Q,B—O}G={S—D,I—B,IS—Q,B—O,I—O}试判断F和G是否等价。(5分)解:因为FG+,GF+所以F和G等价。评分标准:1)FG+(2分)2)GF+(2分)3)F和G等价(1分)4、数据库设计:设计一个图书馆数据库,此数据库中保存有读者记录,包括读者号、姓名、地址、出生日期、单位。每本图书有书号、书名、作者、出版社。一本书有多个作者。对每本借出的书有借出日期和应还日期。一个读者可以借多本书。要求:1)画出E-R图(5分)2)根据需要可以增加属性,转换为满足3NF的关系模式(5分)3)给出主键约束和外键约束(5分)4)关系名和属性名用汉字1)画出E-R图mn评分标准:1)绘出两个实体2分2)绘出一个联系1分3)每个实体、联系的属性3分读者图书借书读者号读者名地址年龄单位图书号图书名作者出版社借出日期应还日期2)根据需要可以增加属性,转换为满足3NF的关系模式读者关系(读者号、读者名称、地址、出生日期、单位)图书关系(图书号、图书名、出版社、出版日期)图书-作者关系(图书号、作者名称、作者所在单位)借书主关系(借书号、读者号、借书日期、应还日期)借书明细关系(借书号、图书号)评分标准:每个关系1分3)给出主键约束和外键约束读者关系:主键:读者号图书关系:主键:图书号图书-作者关系:主键:图书号+作者名称外键:图书号借书主关系:主键:借书号借书明细关系:主键:借书号、图书号外键1:借书号,外键2:图书号评分标准:给出主键3分给出外键2分五、优化与并发(每题5分,共10分)1、设有二个事务T、U,下面的并发操作是否正确,若不正确请使用时间戳方法解决其冲突,设Ts(T)Ts(U)。(8分)TURead(b)Write(b=b-300)Read(b)Write(b=b+300)答:并发操作不正确,可以使用时间戳方法解决其冲突。数据bT事务U事务读时标写时标操作00t10T读bt20U读bt2t2U更新bt2t2T更新b(不允许,因t1t2)t2t2回退T并赋予新时标t3t3t2T读bt3t3T更新b正确的调度:T事务U事务Read(b)Write(b=b+300)Read(b)Write(b=b-300)评分标准:1)并发操作不正确,可以使用时间戳方法解决其冲突。(1分)2)时标表(3分)3)正确的调度(1分)2、优化中的算法描述:根据排序—合并算法描述下列查询操作的实现。(5分)selecta.cust_id,b.tot_amt,b.order_date,a.tel_nofromcustomera,salesbwherea.cust_id=b.cust_id解:⑴首先对customer和sales按连接属性cust_id排序;⑵取customer表中第一个cust_id,依次扫描sales表中具有相同cust_id的元组,把它们连接起来;⑶当扫描到cust_id不
本文标题:数据库系统概论复习题及答案
链接地址:https://www.777doc.com/doc-2747754 .html