数据库系统概论模拟试卷(二)及参考答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页共10页《数据库系统概论》模拟试卷(二)参考答案一、单项选择题(每小题2分,共30分)1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是(A)阶段。(A)、数据库系统(B)、文件系统(C)、人工管理2.下面给出的关于数据库的三级模式结构的说法中,(C)是不正确的。I.数据库中只有一个模式II.外模式与模式之间的映像实现数据的逻辑独立性III.外模式与内模式之间的映像实现数据的物理独立性(A)、仅I(B)、仅II(C)、仅III(D)、都不正确3.设有关系SC(SNO,CNO,GRADE),主码是(SNO,CNO)。遵照实体完整性规则,(D)。(A)、只有SNO不能取空值(B)、只有CNO不能取空值(C)、只有GRADE不能取空值(D)、SNO与CNO都不能取空值4.以下(D)封锁违反两段锁协议。(A)、SlockA…SlockB…XlockC……UnlockA…UnlockB…UnlockC(B)、SlockA…SlockB…XlockC……UnlockC…UnlockB…UnlockA(C)、SlockA…SlockB…XlockC……UnlockB…UnlockC…UnlockA(D)、SlockA…UnlockA……SlockB…XlockC…UnlockB…UnlockC5.数据库应用程序的编写是基于三级模式结构中的(A)(A)、外模式(B)、逻辑模式(C)、内模式(D)、概念模式6.一个关系中的各个元组(B)(A)、前后顺序不能任意颠倒,一定要按照输入的顺序排列(B)、前后顺序可以任意颠倒,不影响关系中的元组操作结果(C)、前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就第2页共10页可能不同(D)、前后顺序不能任意颠倒,一定要按照候选码值的顺序排列7.假设W=RS,且W,R和S的元组个数分别为p,m和n,那么三者之间满足(D)(A)、p(m+n)(B)、p≤(m+n)(C)、p(m×n)(D)、p≤(m×n)8.设关系R与关系S具有相同的目(或称度),且相对应的属性的值取自同一个域,则R-(R-S)等于(B)。(A)、RUS(B)、R∩S(C)、R×S(D)、R-S9.WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符式(B)(A)、*(B)、%(C)、-(D)、?10.设有关系模式R(A,B,C,D),其数据依赖集:F={(A,B)→C,C→D},则关系模式R的规范化程度最高达到(B)。(A)、1NF(B)、2NF(C)、3NF(D)、BCNF11.若事务T1已经给数据A加上了共享锁,则事务T2(A)(A)、只能再对A加共享锁(B)、只能再对A加排他锁(C)、可以对A加共享锁,也可以对A加排他锁(D)、不能再给A加任何锁12.对由SELECT—FROM--WHERE---GROUP---ORDER组成的SQL语句,其在被DBMS处理时,各子句的执行次序(C)。(A)、SELECT—FROM—GROUP—WHERE--ORDER(B)、FROM—SELECT—WHERE—GROUP—ORDER(C)、FROM—WHERE—GROUP—SELECT—ORDER(D)、SELECT—FORM—WHERE—GROUP—ORDER13.关系数据库的规范化理论主要解决的问题是(A)。(A)、如何构造合适的数据逻辑结构(B)、如何构造合适的数据物理结构(C)、如何构造合适的应用程序界面(D)、如何控制不同用户的数据操作权限第3页共10页14.在将E-R模型转换成关系模型的过程中,下列叙述不正确的是(D)。(A)、每个实体类型转换成一个关系模式(B)、每个多对多联系类型转换成一个关系模式(C)、在处理一对一和一对多联系类型时,可以生成新的关系模式(D)、每个属性转换成一个关系模式15.设有两个事务T1、T2,其并发操作如图所示,下面评价正确的是(B)(A)、该操作不存在任何问题(B)、该操作丢失修改(C)、该操作不能重复读(D)、该操作读“脏”数据二、简答题(每小题5分,共10分)1、什么是“死锁”?处理死锁的方法有哪些?答:在对并发事务采用封锁机制时,有可能若干事务都处于等待状态,等待对方释放封锁,造成事务都不能继续运行下去,这种现象称系统进入死锁状态。处理死锁的方法有两种:(1)死锁预防:保证系统不会进入死锁状态;(2)死锁检测和死锁恢复:允许系统进入死锁状态,系统周期性调用死锁检测算法,以判断是否产生了死锁;一旦发现死锁,则选择一个回滚代价最小的事务作为牺牲者,对选择的牺牲者采取全部或部分回滚,然后重启。2、视图是DBMS中的一种虚关系,大多数DBMS都不允许在视图这种虚关系上进行数据的插入、删除和更新的操作,请问这是为什么?答:因为视图是虚关系,对视图的修改最终要转换成对产生视图的数据库中基本关系的修改。而这种转化比较困难,且有时是不可行的!例如,如果产生视图的SQL语句中有连接、笛卡儿积和聚集运算(SUM、AVG等)等,则不可能通过视图对基本关系进行修改,因此一般的DBMS不允许在视图这种虚关系上进行数据的插入、删除和更新操作。A=1000A=1500A=800ReadAA=A+500WriteAReadAA=A-200WriteA事务T1事务T2第4页共10页三、综合应用题(60分)1、(21分)现有如下关系数据库:S(SNO,SNAME,STATUS,CITY)P(PNO,PNAME,COLOR,WEIGHT)J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)(注:带下划线的是各表的主码)。其中:供应商表S由供应商代码(SNO),供应商姓名(SNAME),供应商状态(STATUS),供应商所在城市(CITY)组成;零件表P由零件代码(PNO),零件名(PNAME),颜色(COLOR),重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO),工程项目名称(JNAME),工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO),零件代码(PNO),工程项目代码(JNO),供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。用关系代数表达式完成下面的查询:(1)、找出向北京的供应商购买重量大于30的零件的工程项目名称。πJname(бs.city=’北京’∧p.weight30(SPJSPJ)(2)、检索没有使用天津的供应商生产的红色零件的工程项目代码。πJno(J)-πJno(бs.city=’天津’∧p.color=’红色’(SPJSP)(3)、检索至少使用了供应商代码为’S1’的供应商所供应的全部零件的工程项目代码。πjno,pno(SPJ)÷πpno(бsno=’S1’(SPJ))请用SQL语句完成如下各项操作:(4)、检索为工程项目代码为’J1’的工程提供红色零件的供应商代码;SELECTDISTINCTSNOFROMSPJ,PWHERESPJ.PNO=P.PNOANDP.COLOR=’红色’ANDSPJ.JNO=’J1’第5页共10页(5)、检索没有使用天津的供应商生产的红色零件的工程项目代码;SELECTJNOFROMJWHERNOTEXISTS(SELECT*FROMSPJWHERSPJ.JNO=J.JNOANDSNOIN(SELECTSNOFROMSWHERCITY=’天津’)ANDPNOIN(SELECTPNOFROMPWHERCOLOR=’红色’))或者:SELECTJNOFROMJWHERNOTEXISTS(SELECT*FROMSPJ,S,PWHERSPJ.JNO=J.JNOANDSPJ.SNO=S.SNOANDSPJ.PNO=P.PNOANDS.CITY=’天津’ANDP.COLOR=’红色’)(6)、把全部红色零件的颜色改为蓝色。UPDATEPSETCOLOR=”蓝色”WHERECOLOR=“红色”;(7)按工程项目代码递增的顺序列出每个工程购买的零件总量。SELECTJNO,SUM(QTY)FROMSPJGROUPJNOORDERBYJNOASC2、(7分)设有雇员信息关系EMP和部门信息关系DEPT,如下图所示,其中雇员信息关系EMP的主码是雇员号,雇员信息关系EMP的部门号是外码。部门信息关系DEPT的主码是部门号。EMPDEPT雇员号雇员名部门号工资部门号部门名地址001010056101张山王宏达马林生赵敏02010204200012001000150001020304业务部销售部服务部财务部1号楼2号楼3号楼4号楼第6页共10页分析下列4个操作能否被正确执行,并说明理由。(1)在EMP中插入元组(‘102’,‘李燕’,‘01’,1500)(2)在EMP中插入元组(‘115’,‘张红’,‘05’,1200)(3)在EMP中插入元组(‘010’,‘李明’,‘02’,1000)(4)在EMP中插入元组(NULL,‘张燕’,‘02’,1000)答:这道题目考察的是数据库完整性控制(1)能正确执行。因为满足数据库的实体完整性和参照完整性(2)不能正确执行,插入操作破坏参照完整性约束,待插入的元组的“部门号”属性值“05”,在DEPT中找不到没有相应的主键值。(3)不能正确执行,插入操作破坏了实体完整性约束,待插入的元组的“雇员号”属性值“010”,在EMP表中已经存在。“雇员号”作为主键,其值不能重复,必须唯一。(4)不能正确执行,插入操作破坏了实体完整性约束,待插入的元组的“雇员号”属性值为空,“雇员号”作为主属性,其值不能为空。3、(5分)在数据库系统中有如下一个调度S,它涉及到3个不同的事务T1、T2和T3。请问调度S是冲突可串行化的吗?为什么?如果调度S是冲突可串行化的,就请给出与之等价的一个串行调度序列。答:首先要给出该调度的优先图:第7页共10页调度的优先图中存在有向环,因此该调度不是冲突可串行化的。4、(6分)设有如下图所示的关系R和S,计算下列代数表达式的结果:关系R关系SABBC12233251452442(1)、R1=RS(2)、R2=бR.BS.B(R×S)(3)、R3=R÷S答:(1)关系R1ABC123124323324第8页共10页451423424(2)关系R2AR.BS.BC45234524(3)关系R3A45、(6分)设有一个反映教师参加科研项目的关系模式:R(教师号,项目名称,科研工作量,项目类别,项目金额,负责人)如果规定:每个项目可有多名教师参加,一个教师可以参加多个项目,每名教师每参加一个项目有一个科研工作量;每个项目只属于一种类别,只有一名负责人,每个项目有一个项目金额。(1)、根据上述规定,写出模式R的基本函数依赖和候选码。(2)、R最高属于第几范式。请说明理由(3)、若R不是第三范式,请将其规范化为第三范式的关系模式,并指出分解后的每个关系模式的候选码和外码。答:(1)R的候选码是(教师号,项目名称)基本函数依赖:(教师号,项目名称)科研工作量,项目名称项目类别,项目名称项目金额,第9页共10页项目名称负责人(2)R最高属于第一范式,因为非主属性项目类别,项目金额,负责人对候选码部分函数依赖。(3)分解得到:R1(项目名称,项目类别,项目金额,负责人),项目名称为主码R2(项目名称,教师号,科研工作量),(项目名称,教师号)为主码,项目名称为外码6、(10分)现有关于学会、学生、课程、教师的信息如下:学生的属性有:学号、姓名、性别、年龄;课程的属性有:课程号、课程名、学分;教师的属性有:教师号、姓名、职称、专业;学会的属性有:学会名称、成立时间、负责人姓名、会费。假设每门课程可由多位教师讲授,每位教师只讲授一门课程。每个学生可加入多个学会,学生进入学会有一个入会年份。学生可选修多门课程,一门课程多个学生选修,每个学生选修的每门课程有一个成绩记载。1)根据语义画出E-R图,并在图上注明联系类型;2)将E-R图转换成3NF关系模式,并根据属性的现实

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功