1、第一学期期末考试试卷和答案试卷代码:03115 授课课时:96课程名称:数据库系统原理A 适用对象:本科选课班一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分)1、在数据库技术发展的几个阶段中,数据独立性最高的是_A_阶段。A、数据库系统 B、文件系统 C、人工管理 D、数据项管理2、在SQL的SELECT语句中,与选择运算对应的命令动词是_C_。A、SELECT B、FROM C、WHERE D、ORDER BY3、在数据库中,下列说法_A_是不正确的A、数据库避免了一切数据的重复B、若系统是完全可以控制的,则系统可确保更新是的一致性C、数据可以共享D、数据库减少了冗余
2、4、在数据库系统中,模式/外模式映像用于解决数据的_C_A、结构独立性 B、物理独立性C、逻辑独立性 D、分布独立性5、关系代数的5种基本运算是_D_。A、并、差、选择、投影、自然连接B、并、差、交、选择、投影C、并、差、交、选择、笛卡尔积D、并、差、选择、投影、笛卡尔积6、在SQL语句中,谓词“EXISTS”的含义是_B_。A、全称量词 B、存在量词 C、自然连接-在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列 D、等值连接-在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括
3、其中的重复列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、简述数据库系统从哪些方面来保证数据的完整性。列
4、级约束:数据类型、宽度、缺省值、检查约束、是否空值、唯一约束主键约束、外键约束、用户自定义约束:主要通过触发器完成评分标准:) 写出列级约束 2分) 写出主键约束 1分) 写出外键约束 1分) 写出用户自定义约束 1分2、简述事务的ACID特性原子性(A):事务中的操作要么全做,要么一个也不做一致性(C):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态隔离性(I):一个事务的执行不能被其它事务干扰持续性(D):一个事务一旦提交,它对数据库中数据的修改应该是永久的评分标准:) 写出原子性 1分) 写出隔离性 1分) 写出一致性 2分) 写出持续性 1分3、简述并发控制不当带来的
5、数据不一致性问题丢失修改:两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1的结果,导致T1的修改被丢失不可重复读: 是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果读“脏”数据: 是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致。则T2读到了“脏”数据,即不正确的数据。产生上述三类数据不一致性的主要原因是并发操作破坏了事务的隔离性。评分标准:) 写出丢失修改 1分) 写出不可重复读 1分) 写出读“脏”数据 2分) 写出主要原因 1分4、简述数
6、据库系统从哪些方面来保证数据的安全性。身份认证:提供用户标识和密码的确认用户操作对象的权限:通过授权机制视图:只显示用户可以作用的属性及记录存储过程:通过存储过程实现对不具有操作权限的数据评分标准:) 写出用户身份认证 2分) 写出用户操作对象的权限 1分) 写出视图 1分) 写出存储过程 1分三、编程与关系运算(每题5分,共20分)设有四个关系学生表(学号char(5),姓名varchar(10),姓别char(2),所属系varchar(20))Student(sno,sname,sex,dept)课程表(课程号char(3),课程名varchar(20),先修课程char(3),学分ti
7、nyint,任课教师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、 编写一个触发器,当对学生表进行修改时其姓别只能是男和女。create trigger StudentUpdateon Studentfor update asbegin if exists (select * from inserted where sex
8、 not in (男,女) rollback end评分标准:) 写出create trigger on Student1分) 写出for update 1分) 写出if exists (select * from inserted where sex not in (男,女) 分) 写出rollback 1分2、 编写一个存储过程,依据输入的学号参数,统计该学生的平均分和总分,要求使用游标,不可以使用sum和avg命令。create procedure SearchSumBySno(sno char(5)asbegin declare sum int,avg numeric(5,1),gra
9、de tinyint,count tinyint select sum=0,count=0 declare myCursor cursor for select grade from sc where sno=sno open myCursor fetch myCursor into grade while(fetch_status=0) begin select sum=sum+grade select count=count+1 fetch myCursor into grade end close myCursor deallocate myCursor if count=0 selec
10、t 0 总分,0 平均分 else begin select avg=sum/count select sum 总分, avg 平均分 endend评分标准:)定义游标1分) 定义变量1分) 给变量赋值1分) 游标的打开、获取和关闭1分) 循环条件1分3、 使用关系代数语言查询选修了刘红老师所授的所有课程的同学学号。sno,cno(SC)cno(tname=刘红 (Teacher)Course)评分标准:)tname=刘红 (Teacher)1分)与Course表的连接 1分)作除法运算 2分)括号正确1分4、 使用元组演算语言查询同时选修了001和002两门课程号的同学姓名。t|uvw(St
11、udent(u)SC(v) SC(w) v2=001w2=002v1=w1 u1=v1 t1=u2)评分标准:)写出存在量词1分)写出自表连接运算v1=w1 u1=v1 2分)写出选取条件v2=001w2=0021分)写出投影运算t1=u2 1分四、综合设计题(共40分)1、已知:关系模式R(U,F)U=ABCD F=AC,CA, BAC,DAC 求:(1)(AD)F+ ,R的候选码。(5分)(2)求F的最小函数依赖集,并使用算法将模式R无损失连接且保持函数依赖分解为3NF。(5分)解:(1)(AD)F+=ADC,候选码:BD(2)最小函数依赖集:Fmin=AC,CA,BA,DA,将模式R无损
12、失连接且保持函数依赖分解为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、设有关系模式R,U=A,B,C,D,E,F=AD,ED,DB,BCD,CDAB,设有一个分解P=R1(ED),R2(BCD),R3(ACD)判断该分解是否保持函数依赖,并判断此分解是否具有无损连接性。(10分)解 :(1)求出F的最小函数依赖集F=AD,ED,DB,BCD,CDA又因为: F+ =( Fi)+,则R的分解=R1,R2,R3保持函数依赖。所以,该分解能保持函数依赖关系。(
13、5分)(2)又因为:ABCDER1b11a2b13a4a5R2a1a2a3a4b25R3a1a2a3a4b35可以得到没有一行全为a,所以该分解为有损分解。(5分)3、对于关系模式R(D,B,I,S,Q,O),设有两个函数依赖集F和G,其中F=SD,IB, ISQ,BO G= SD,IB, ISQ,BO ,IO 试判断F和G是否等价。(5分)解:因为F G+,G F+ 所以F和G等价。评分标准:1)F G+ (2分)2)G F+ (2分) 3)F和G等价 (1分)4、数据库设计:设计一个图书馆数据库,此数据库中保存有读者记录,包括读者号、姓名、地址、出生日期、单位。每本图书有书号、书名、作者、
14、出版社。一本书有多个作者。对每本借出的书有借出日期和应还日期。一个读者可以借多本书。要求:1)画出E-R图(5分)2)根据需要可以增加属性,转换为满足3NF的关系模式(5分)3)给出主键约束和外键约束(5分)4)关系名和属性名用汉字)画出E-R图读者图书借书读者号读者名地址年龄单位图书号图书名作者出版社借出日期应还日期 m n评分标准:)绘出两个实体2分)绘出一个联系1分)每个实体、联系的属性3分)根据需要可以增加属性,转换为满足3NF的关系模式读者关系(读者号、读者名称、地址、出生日期、单位)图书关系(图书号、图书名、出版社、出版日期)图书-作者关系(图书号、作者名称、作者所在单位)借书主关
15、系(借书号、读者号、借书日期、应还日期)借书明细关系(借书号、图书号)评分标准:每个关系1分)给出主键约束和外键约束读者关系:主键:读者号图书关系:主键:图书号图书-作者关系: 主键:图书号+作者名称外键:图书号借书主关系:主键:借书号借书明细关系:主键:借书号、图书号外键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)答: 并发操作不正确,可以
16、使用时间戳方法解决其冲突。数据bT事务 U事务读时标写时标操作 00 t10T读b t20 U读bt2t2 U更新b t2t2T更新b(不允许,因t1t2) t2t2 回退T并赋予新时标t3 t3t2T读b t3t3T更新b正确的调度:T事务U事务Read(b)Write(b=b+300)Read(b)Write(b=b-300)评分标准:1)并发操作不正确,可以使用时间戳方法解决其冲突。(1分)2)时标表(3分)3)正确的调度(1分)2、优化中的算法描述:根据排序合并算法描述下列查询操作的实现。(5分)select a.cust_id,b.tot_amt,b.order_date,a.tel
17、_nofrom customer a ,sales bwhere a.cust_id=b.cust_id 解:首先对customer 和sales 按连接属性cust_id排序;取customer表中第一个cust_id,依次扫描sales表中具有相同cust_id的元组,把它们连接起来;当扫描到cust_id不相同的第一个sales元组时,返回customer表扫描它的下一个元组,再扫描sales表中具有相同cust_id的元组,把它们连接起来;重复上述步骤直到customer表扫描完。评分标准:1)写出第步 1分2)写出第步 1分3)写出第步 2分4)写出第步 1分试题二得 分阅卷人复查人
18、一、单项选择题(本大题共20小题,每小题1.5分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.数据库系统与文件系统的主要区别是( )A数据库系统复杂,而文件系统简单B文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量2.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作的数据库语言称为( )A数据定义语言(DDL) B数据管理语言 C数据操纵语言(DML) D数据控制语言3
19、.数据库的网状模型应满足的条件是( ) A允许一个以上结点无双亲,也允许一个结点有多个双亲 B必须有两个以上的结点C有且仅有一个结点无双亲,其余结点都只有一个双亲 D每个结点有且仅有一个双亲4. 数据的逻辑独立性是指( )A内模式改变,模式不变B模式改变,内模式不变C模式改变,外模式和应用程序不变D内模式改变,外模式和应用程序不变5设有关系模式EMP(职工号,姓名,年龄,技能)。假设职工号唯一,每个职工有多项技能,则EMP表的主码是( )A职工号B姓名,技能C技能D职工号,技能6在关系代数中,对一个关系做投影操作后,新关系的元组个数( )原来关系的元组个数。A小于 B小于或等于 C等于 D大于
20、7设关系R和S的属性个数分别是2和3,那么RS等价于( ) 12A12(RS) B14(RS)C12(RS) D150时,R中与相关联的属性B之值。(3分)SELECT B FROM R, S WHERE R.A=S.A AND C50(2)当属性C=40时,将R中与之相关联的属性B值修改为b4。(5分)UPDATE R SET B=b4 WHERE A IN (SELECT A FROM S WHERE C=40)4.设有关系R和函数依赖F: R(W,X,Y,Z),F = XZ,WXY 。试求下列问题:(1)关系R属于第几范式?(3分)R是1NF。侯选码为WX,则Y,Z为非主属性,又由于XZ
21、,因此F中存在非主属性对侯选码的部分函数依赖。(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。将关系分解为:R1(W,X,Y),F1 = WXY R2(X,Z),F2 = XZ 消除了非主属性对码的部分函数依赖。F1和F2中的函数依赖都是非平凡的,并且决定因素是候选码,所以上述关系模式是BCNF得 分阅卷人复查人五、综合题(15分)某医院病房管理系统中,包括四个实体型,分别为:科室:科名,科地址,科电话病房:病房号,病房地址医生:工作证号,姓名,职称,年龄病人:病历号,姓名,性别 且存在如下语义约束: 一个
22、科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室;一个医生可负责多个病人的诊治,一个病人的主管医生只有一个;一个病房可入住多个病人,一个病人只能入住在一个病房。注意:不同科室可能有相同的病房号。 完成如下设计:(1)画出该医院病房管理系统的ER图;(5分)(2)将该E-R图转换为关系模型;(5分)(要求:1:1和1:n的联系进行合并)(3)指出转换结果中每个关系模式的主码和外码。(5分) (2)转化后的关系模式如下:科室(科名,科地址,科电话) 病房(病房号,病房地址,科名) 医生(工作证号,姓名,职称,年龄,科名) 病人(病历号,姓名,性别,主管医生,病房号,科名)
23、 (3)每个关系模式的主码、外码如下: 科室:主码是科名; 病房:主码是科名十病房号,外码是科名; 医生:主码是工作证号,外码是科名; 病人:主码是病历号,外码是科名十病房号。 试题二参考答案与评分标准二、填空题(每题1分)1.外模式 2. 外码 3. 集合 4. 班级 IS NULL 5. F(RS)6. IN 7. 定义 8. 物理 9. 封锁 10. 二三、简答题1、参考答案:答:数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它主要功能包括以下几个方面:(1)数据定义功能:DBMS提供数据描述语言(DDL),用户可通过它来定义数据对象。(2)数据操纵功能:DBMS
24、还提供数据操纵语言(DML),实现对数据库的基本操作:查询、插入、删除和修改。(3)数据库的运行管理:这是DBMS运行时的核心部分,它包括并发控制,安全性检查,完整性约束条件的检查和执行,发生故障后的恢复等。(4)数据库的建立和维护功能: 它包括数据库初始数据的输入及转换,数据库的转储与恢复,数据库的重组功能和性能的监视与分析功能等。评分标准:四个关键词每个1分,细节叙述1分。2、参考答案:数据库设计分以下六个阶段:(1)需求分析(2)概念结构设计(3)逻辑结构设计(4)物理结构设计(5)数据库实施(6)数据库运行和维护评分标准:六个关键词每错一个扣1分。3、参考答案:(1) 一级封锁协议是:
25、事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。一级封锁协议能够解决“丢失修改”问题。(2) 二级封锁协议是:一级封锁协议加上事务在读取数据R之前必须先对其加S锁,读完后即可释放S锁。二级封锁不仅可以解决“丢失修改”问题,而且可以解决读“脏“数据问题。(3) 三级封锁协议是:一级封锁协议加上事务在读取数据R之前必须先对其加S锁,直到事务结束才释放。三级封锁协议不仅解决了“丢失修改”、读“脏”数据问题,而且进一步解决了“不可重复读”问题。评分标准:各级封锁协议内容各1分,应着重三个方面,何时加锁,加什么锁,锁何时释放,缺少任一点都要扣0.5分;各级封锁协议能解决哪些数据不一致问题各1
26、分。四、设计题、参考答案:SELECT 课程号,MAX(成绩) FROM SC GROUP BY 课程号评分标准:MAX集函数和GROUP BY子句各1.5分,其它1分。2、参考答案:关系代数:SN(sPN=P1 (SSPP)SQL:SELECT SN FROM S, SP, P WHERE S.SNO=SP.SNO AND P.PNO=SP. PNO AND PN=TV评分标准:关系代数:SSPP2分,SP必须书写在S、P之间,否则不得分,对三个关系作正确的投影再做连接也正确;SN、sPN=P1各1分。SQL:WHERE子句的三个条件各1分,FROM子句1分,SP必须书写在S、P之间,否则不
27、得分。 3、参考答案:(1)SELECT B FROM R, S WHERE R.A=S.A AND C50(2)UPDATE R SET B=b4 WHERE A IN (SELECT A FROM S WHERE C=40)评分标准:(1)WHERE子句的两个条件各1分;其它1分。(2)UPDATE1分;SET子句1分;A 1分;IN 1分;内层子查询1分。4、参考答案:(1)R是1NF。侯选码为WX,则Y,Z为非主属性,又由于XZ,因此F中存在非主属性对侯选码的部分函数依赖。(2)将关系分解为:R1(W,X,Y),F1 = WXY R2(X,Z),F2 = XZ 消除了非主属性对码的部分函数依赖。F1和F2中的函数依赖都是非平凡的,并且决定因素是候选码,所以上述关系模式是BCNF。评分标准:(1)回答R是1NF并正确说明理由3分,没有正确回答出理由扣1分。(2)分解所得的两个关系模式各1.5分,正确回答消除什么类型的函数依赖和说明所得的两个关系模式是BCNF各1分。五、综合题参考答案:(1)本题的E-R图如下图所示。nn11nn11病房组成科室入住病人拥有诊治医生病历号姓名性别工作证号姓名科名科地址科电话病房号病房地址职称年龄某医院病房管理系统的基本E-R图(2)转化后的关系模式如下:科室(科名,科地址,科电话) 病房(病房号,病房地址,科名) 医生