数据库原理试卷(共6页).docx
精选优质文档-倾情为你奉上浙江万里学院 学年第 学期 数据库原理 试卷(1)卷 标准答案专业: 计算机科学技术 层次:本科 年级: 命题教师:杨爱民 一、单项选择题(本大题共20小题,每小题1分,共20分) 1. 使用CREATE TABLE SCHEMA 语句建立的是 ( B )  A)数据库模式     B)表      C)视图     D)索引  2. 设关系R和S的结构相同,并且各有80个元组,假如这两个关系作交运算, 其运算结果的元组个数为       ( B )     A)80     B)小于等于80     C)大于等于160     D)大于等于80,小于等于160  3. 在SQL的授权语句中使用“ALL PRIVILEGES”,表示 ( B )  A)授权所有用户     B)所有的操作权限     C)对所有的数据集合    D)允许再授权  4. 对数据库模式进行规范化处理,是在数据库设计的 ( C )  A)需求分析阶段     B)概念设计阶段     C)逻辑设计阶段     D)物理设计阶段  5. 不存在传递函数依赖的范式至少要求是 ( C )  A)2NF     B)3NF     C)4NF     D) BCNF  6. 在下列几种故障中,不破坏数据库内容的是 ( B )  A)计算机病毒发作             B)供电系统故障  C)瞬时的强磁场干扰           D)磁盘介质损坏 7. 在数据库技术中,独立于计算机系统的模型是 ( A ) A)E-R模型                    B)层次模型C)关系模型                   D)面向对象的模型 8. 四种传统的集合运算算是 ( C ) A),-,×,和 B),-,和 C),×,和- D),和 9. SQL中,下列涉及空值的操作,不正确的是 ( C )A)AGE IS NULLB)AGE IS NOT NULLC)AGE = NULLD)NOT (AGE IS NULL)10. 单个用户使用的数据视图的描述称为 ( A )A)外模式B)概念模式C)内模式D)存储模式 11 在客户机/服务器体系结构的DBS中,数据库功能分为前端和后端两部分,下列功能属于后端的是 ( B ) A)用户界面                      B) 存取结构 C)数据输入                      D) 报表输出 12.  实体集书店与图书之间具有( B )联系。A) 一对一 B) 一对多 C) 多对多 D )多对一13. 现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主码是( A )A) 患者编号,医生编号,诊断日期 B)医生编号 C)诊断日期 D)患者编号14)  任何一个三目关系都属于( A )A )1NF B) 3NF C) BCNF D) 4NF15.  相对于关系模型,层次数据模型的缺点之一是( A )A) 数据维护困难 B) 数据结构复杂 C )数据独立性高 D )有严格的数学基础16.  现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位) 医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是( A )A) 患者编号 B) 患者姓名 C) 患者编号和患者姓名 D)医生编号和患者编号17. 班长和学生是什么关系( B )A)1:1 B)1:M C)M:N D)都不是18.下面哪种数据模型只有一个根结点( B )A)概念 B)层次 C)关系 D)网状19.哪种模式不是数据库的模式( C )A)模式 B)外模式 C)映像模式 D)内模式20视图定义是( D )A)一个基表中导出的基表B)一个基表中导出的虚表C)一个或几个基表或视较中导出的基表D)一个或几个基表或视较中导出的虚表二、填空题(本大题共5个空,每空1分,共5分)  1. 标准的数据库三级模式是概念模式、(内)模式和外模式。 2. 在SQL中,用MODIFY命令可以修改表中的数据,用(ALTER)命令可以修改表的结构。 3. 在ER图中,菱形框表示(联系)。 4. 并发控制的主要方法是采用(封锁机制)。 5. 在并行处理中,若干事物相互等待对方释放封锁,称为系统进入(死锁)状态。 三、名词解释(本大题共5个小题,每小题3分,共15分) 1关系 一个关系即一张二维表,如student(sno,sname,sex ,age)1. 概念模式 2. X封锁 如果事务T对数据R实现X封锁,那么其他的事务要等T解除X封锁以后,才能对这个数据进行封锁。 只有获准X封锁的事务,才能对被封锁的数据进行修改。  3元组表中的一行即为一个元组 4. 主属性 包含在任何一个候选码中的属性。    5. 事务的原子性 一个事务对数据库的操作是一个不可分割的操作系列,事务要么完整地被全部执行,要么全部不执行。 四、程序设计题(本大题共2小题,每小题15分,共30分) 1.对于教学数据库的三个基本表 学生 student (sno,sname,sex,sage,sdept) 学习 sc(sno,cno,grade) 课程 course(cno,cname,cpno,ccredit) 试用SQL语句表示:下列语句。 (1)"查询全男同学信息情况""select * from student where sex='男'"(2)"查询选修了1号课的学生的学号和成绩""select sno,grade from sc where cno='1'"(3)"查询所有选修过课的学生的姓名,课程名及成绩""select sname,cname,grade from student,sc,course where student.sno=sc.sno and o=o"(4)"查询选修了数据库原理课的最高成绩""select max(grade) as '最高成绩' from student,sc,course where student.sno=sc.sno and o=o and cname='数据库原理'"(5)查询所有选修了1号课程的同学的姓名""select sname from student where student.sno in (select sc.sno from sc where cno='1')"设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式(20分)供应商表S(SNO,SNAME,STATUS,CITY);零件表P(PNO,PNAME,COLOR,WEIGHT);工程项目表J(JNO,JNAME,CITY);供应情况表SPJ(SNO,PNO,JNO,QTY); SPJ表 J表 S表 P表请用关系代数完成如下查询:求供应工程J1零件的供应商号 SNO求供应工程J1零件P1的供应商号吗SNO求供应工程J1零件为红色的供应商号码SNO求没有使用天津供应商生产的红色零件的工程号JNO5求至少用了供应商S1所供应的全部零件的工程号JNOsno(JNOJ1(SPJ)sno(JNOJ1 PNO=P1(SPJ)sno(JNOJ1(SPJ)color红(P)jno(SPJ)-jno(sno(city天津(S)sno,jno (SPJ)jno color红(P)jno, pno(SPJ)÷pno(snos1(SPJ)五、分析题(本大题共2小题,每小题15分本大题共30分) 1. 学生运动会模型:   (1)有若干班级,每个班级包括: 班级号,班级名,专业,人数   (2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄   (3)有若干比赛项目,包括:项目号,名称,比赛地点   (4)每名运动员可参加多项比赛,每个项目可有多人参加   (5)要求能够公布每个比赛项目的运动员名次与成绩   (6)要求能够公布各个班级团体总分的名次和成绩 解题要求:   (1)画出每个实体及其属性关系、实体间实体联系的E-R图.   (2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性.并指出每个表的主键和外键。 (1) (2) 班级(班级号,班级名,专业,人数)             主键:班级号                运动员(运动员号,姓名,性别,年龄,班级号)                             主键:运动员号     外键: 班级号 项目(项目号,项目名,比赛地点)                     主键:项目号比赛(运动员号,项目号,成绩,名次,得分)      主键:运动员号,项目号     外键: 运动员号;项目号2设T1,T2,T3是如下三个事务:T1:A:=A+2 ;B:=B+2T2:A:=A*2; B:=B*2T3:A:=A*2; B:=B*2设A初值为0 B初值为0解答:试问(1)若这三个事物允许并发执行,则有多少种可能的的正确结果,请一一列举出来(2)请给出一个可串行化的调度,并给出执行结果(3)请给出一个非串行化的调度,并给出执行结果(4)若这三个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度(5)若这三个事务都遵守两段锁协议,请给出一个产生死锁的调度 三个事务允许并发执行,有6种结果:T1 T1 T2 T2 T3 T3T2 T3 T1 T3 T1 T2T3 T2 T3 T1 T2 T1A=16 A=8 A=4 A=2 A=4 A=2B=16 B=8 B=4 B=2 B=4 B=2(2)T1 T2 T3 A=16B=16(3) T1 T2 T3 XLOCK A XLOCK B WAIT 读A=0 读B=0 WAIT A=A+2 B=B*2 WRITE A=2 WRITE B=0UNLOCK A UNLOCK B WAIT XLOCL B XLOCKA 读B=0 读A=2 B=B+2 A=A*2 wait WRITE B=2 WRITE A=4 UNLOCK B UNLOCL A XLOCK A 读A=4 A=A* WRITE A=16 UNLOCK A XLOCL B 读B=2 B=B*2 WRITE B=4 UNLOCK B 非串行化调度A=16 B=4 (4) T1 T2 T3 XLOCK A WAIT WAIT 读A=0 WAIT WAIT 。 WAIT WAIT UNLOCK A WAIT WAIT UNLOCK B XLOCK A WAIT 读A=0 WAIT 。 WAIT UNLOCK A XLOCK A UNLOCK B WAIT 读A=0 。 UNLOCK AUNLOCK B (5) T1 T2 T3 XLOCK A XLOCK B WAIT 读A=0 读B=0 WAIT A=A+2 B=B*2 WAIT WRITE A=2 WRITE B=0 WAITXLOCL B XLOCKA WAIT 专心-专注-专业