
数据库原理试卷3.doc
4页学年第 学期 专业 计算机科学技术 年级 本科 《数据库原理 》试卷 卷答案 第 1 页 共 4 页浙江万里学院 学年第 学期《 数据库原理 》试卷(20 )卷 标准答案专业: 计算机科学技术 层次:本科 年级: 命题教师:杨爱民 一、单项选择题(本大题共 20 小题,每小题 1 分,共 20 分) 1.下述各项中,属于数据库系统的特点的是 ( C ) A)存储量大 B)存取速度快 C)数据独立性 D) 操作方便 2.在 SQL 语言的基本功能中,不包括的是 ( B ) A)插入新数据 B)描述数据库结构 C)对数据库中数据排序 D) 删除数据库中数据 3. 数据库中全体数据的整体逻辑结构描述称为 ( B ) A)存储模式 B)内模式 C)外模式 D) 右外模式 4.在 SQL 中使用 FOREIGN KEY 时,与之配合的语句是 ( D ) A)EXISTS B)EXCEPT C)TABLE D)REFERENCES 5. 能够消除多值依赖引起的冗余的范式是 ( C ) A)2NF B)3NF C)4NF D)BCNF 6. DBS 的含义是 ( B ) A)数据库管理系统 B)数据库系统 C)对象关系数据库系统 D)对象关系数据库 7. 在 SQL 中,建立视图用 ( C ) A)CREATE SCHEMA 命令 B)CREATE TABLE 命令C)CREATE VIEW 命令 D)CREATE INDEX 命令8. 相对于关系模型,层次数据模型的缺点之一是( A )A) 数据维护困难 B) 数据结构复杂 C )数据独立性高 D )有严格的数学基础9. 现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是( A )A) 患者编号 B) 患者姓名 C) 患者编号和患者姓名 D)医生编号和患者编号10. 班长和学生是什么关系( B )A)1:1 B)1:M C)M:N D)都不是11.下面哪种数据模型只有一个根结点( B )A)概念 B)层次 C)关系 D)网状12.视图定义是( D )A)一个基表中导出的基表B)一个基表中导出的虚表C)一个或几个基表或视较中导出的基表D)一个或几个基表或视较中导出的虚表13. 选择和笛卡尔积的关系运算是 ( A )A. ×和 σ B. ∞和 σ C.×,和- D.π 和∞14. SQL 中,下列涉及空值的操作,不正确的是 ( C )A)AGE IS NULLB)AGE IS NOT NULLC)AGE = NULLD)NOT (AGE IS NULL)15. 单个用户使用的数据视图的描述称为 ( A )A)外模式B)概念模式C)内模式D)存储模式 16 在客户机/服务器体系结构的 DBS 中,数据库功能分为前端和后端两部分,下列功能属于后端的是 ( B ) A)用户界面 B) 存取结构 C)数据输入 D) 报表输出 17. 实体集书店与图书之间具有( B )联系。
A) 一对一 B) 一对多 C) 多对多 D )多对一18. 现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主码是( A )A) 患者编号,医生编号,诊断日期 B)医生编号 C)诊断日期 D)患者编号19. 任何一个三目关系都属于( A )A )1NF B) 3NF C) BCNF D) 4NF20.哪种模式不是数据库的模式( C )装订线 学年第 学期 专业计算机科学技术 年级 本科 《 数据库原理 》试卷 卷答案 第 2 页 共 4 页A)模式 B)外模式 C)映像模式 D)内模式二、填空题(本大题共 5 个空,每空 1 分,共 5 分) 1. 标准的数据库三级模式是概念模式、内模式和( 外 )模式 2. 在 SQL 中,用(MODIFY)命令可以修改表中的数据,用命令可以修改表的结构。
3. 在 ER 图中,矩形框表示(实体) 4. 一级封锁协议可解决(丢失修改 )的问题 5. 预防死锁的方法有(一次封锁法 )和顺序封锁法 三、名词解释(本大题共 5 个小题,每小题 3 分,共 15 分) 1.S 封锁 共享型封锁如果事务 T 对某数据 R 加上 S 封锁,那么其它事务对数据 R 的 X 封锁便不能成功, 而对数据 R 的 S 封锁请求可以成功这就保证了其他事务可以读取 R 但不能修改 R,直到事务 T 释放 S 封锁 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 sname,cname,grade from student,sc,course where student.sno=sc.sno and o=o"(2)"查询选修了 1 号课的同学的姓名,课程号及成绩 ""select sname,cno,grade from student,sc where student.sno=sc.sno and cno='1'"(3) "查询计算机系( CS)所有选了数据库原理的同学的姓名及学号""select sname,sno from student,sc,course where student.sno=sc.sno and o=o and cname='数据库原理' and sdept='CS'"(4)"查询选修了数据库原理课的平均成绩""select avg(grade) as '最高成绩' from student,sc,course where student.sno=sc.sno and o=o and cname='数据库原理'"(5)查询所有选修了 2 号课程的同学的姓名" " select sname from student where student.sno in (select sc.sno from sc where cno='2')"2. 设有一个 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 表 学年第 学期 专业计算机科学技术 年级 本科 《 数据库原理 》试卷 卷答案 第 3 页 共 4 页P 表请用关系代数完成如下查询:1. 求供应工程 J2 零件的供应商号 SNO2. 求供应工程 J2 零件 P2 的供应商号吗 SNO3. 求供应工程 J2 零件为红色的供应商号码 SNO4. 求没有使用上海供应商生产的红色零件的工程号 JNO5.求至少用了供应商 S2 所供应的全部零件的工程号 JNO1. ∏ sno(σ JNO=‘J2’ (SPJ) )2. ∏ sno(σ JNO=‘J2’ ΛPNO=’P2’ (SPJ) )3. ∏ sno(σ JNO=‘J2’ (SPJ)∞σ color=‘红’ (P ) )4. ∏ jno(SPJ)-∏ jno(∏ sno(σ city=‘上海’ (S) )∞∏ sno,jno (SPJ)∞∏ jno σ color=‘红’ (P) )5. ∏ jno, pno(SPJ)÷∏ pno( σ sno=‘s2’ (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 初值为 1 B 初值为 1解答:试问(1)若这三个事物允许并发执行,则有多少种可能的的正确结果,请一一列举出来(2)请给出一个可串行化的调度(3)请给出一个非串行化的调度(4)若这三个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度(5)若这三个事务都遵守两段锁协议,请给出一个产生死锁的调度(1) 三个事务允许并发执行,有 6 种结果:T1 T1 T2 T2 T3 T3T2 T3 T1 T。












