江西农业大学2013—2014学年第一学期期末考试试卷(A )
课程名称:数据库原理及应用 开课单位:软件学院 考试方式:闭卷 使用专业:软件工程 考试日期: 考试时间:120分钟
卷和答题纸交给监考老师。
一大题:选择题(共10小题,每小题2分,共20分) 1、在数据库中,下列说法( )是不正确的。
A. 数据库避免了一切数据的重复
B. 若系统是完全可以控制的,则系统可确保更新时的一致性
C. 数据库中的数据可以共享
D. 数据库减少了数据冗余
2、对数据库物理存储方式的描述称为( ) A .外模式 (子模式、用户模式) B .内模式 C .概念模式 D .逻辑模式(模式)
3、在数据库三级模式间引入二级映象的主要作用是( ) A .提高数据与程序的独立性 B .提高数据与程序的安全性 C .保持数据与程序的一致性 D .提高数据与程序的可移植性
4、概念模型最常用的描述方法是( )。 A. E-R 模型 B. 关系模型 C. 层次模型 D. 网状模型
5、图是一个“虚表”,视图的构造基于( ) A .基本表 B .视图 C .基本表或视图
D .数据字典
6、关系代数中的笛卡尔积运算对应SELECT 语句中的以下哪个子句?
( ) A .SELECT
B .FROM
C .WHERE
D .GROUP BY
7、关系运算中花费时间可能最长的运算是( ) A. 投影
B. 选择
C. 笛卡尔积
D. 除
8、事务日志的用途是( )
A. 事务处理
B. 完整性约束
C. 数据恢复
D. 安全性控制
9、用于实现数据存取安全性的SQL 语句是( )
A. CREATE TABLE
B. COMMIT
C. GRANT 和REVOKE
D. ROLLBACK
10、如果事务T 已在数据R 上加了X 锁,则其他事务在数据R 上( ) A.只可加X 锁 B. 只可加S 锁 C. 可加S 锁或X 锁 D. 不能加任何锁
二大题:填空题(共5小题,每空1分,共10分)
1、数据管理技术经历了_______、_______和_______三个阶段。
2、自然连接运算是由_______、_______和_______运算组成。
院系: 专业班级: 姓名: 学号:
装 订 线
3、在SQL 语言的结构中,_______有对应的存储文件,而_______没有对应的存储文件。
4、如果一个满足1NF 关系的所有属性合起来组成一个候选码,则该关系最高满足的范式是_______。
5、在数据库设计的各阶段中,每个阶段都有自己的设计内容,“为哪些表,在哪些属性上建立什么样的索引”这一设计内容应该属于_______阶段。
三大题:简答题(共4小题,每小题5分,共20分)
1、试述视图与基本表的区别和联系。
2、简述事务的特性。
3、试述数据库设计过程。
4、举例说明关系参照完整性的含义。
四大题:程序题(共5小题,每小题6分,共30分) 现有关系数据库如下:
学生(学号,姓名,年龄,性别,班级) 选课(学号,课程号,成绩)
课程(课程号,课程名,学分,学时,任课教师)
分别用关系代数表达式和SQL 语句实现下列1—5小题(注意:每小题都要分别写出关系代数表达式和SQL 语句!!!每小题关系代数表达式3分,SQL 语句3分):
1、查询选修了课程名为DB 的学生姓名和所在班级。
2、查询学号为S3学生所学课程的课程名与任课教师名。
3、查询WANG 同学不学的课程号。
4、查询至少选修两门课程的学生学号。
5、查询全部学生都选修的课程的课程号与课程名。
五大题:设计题(共2小题,每小题10分,共20分)
1、某医院病房计算机管理中需要如下信息:
科室:科室名,科地址,科电话,医生姓名;
病房:病房号,床位号,所属科室名;
医生:姓名,职称,所属科室名,年龄,工作证号; 病人:病历号,姓名,性别,年龄,主管医生,病房号;
其中,一个科室有多个病房,多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
要求:画出该计算机管理系统的E-R 图。
姓名:
学号:
线
2、假设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,数量,部门编号,负责人)
如果规定:
每个商店的每种商品只在一个部门销售;
每个商店的每个部门只有一个负责人;
每个商店的每种商品只有一个库存数量。
试回答下列问题:
(1) 根据上述规定,写出关系模式R的基本函数依赖;
(2) 找出关系模式R的候选码;
(3) 试问关系模式R最高已经达到第几范式?为什么?
(4) 如果R不属于3NF,请将R分解成3NF模式集。
江西农业大学2013—2014学年第一学期期末考试试卷(A)
答案
选择题:
1-5.ABAAC 6-10.BCCCD
填空题:
1.人工处理、文件系统和数据库
2. 笛卡儿积、选择和投影
3.基本表视图
4._3NF
5.数据库物理设计
简答题:
1、答:视图是从一个或几个基本表导出的表,它与基本表不同,它是一个虚表,(2分)数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变(2分)。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制(1分)。
2、答:事务具有四个特性,即ACID特性:(1分)
(1)原子性:事务中包括的所有操作要么都做,要么都不做。(1分)
(2)一致性:事务必须使数据库从一个一致性状态
变到另一个一致性状态。(1分)
(3)隔离性:一个事务内部的操作及使用的数据对
并发的其他事务是隔离的。(1分)
(4)持续性:事务一旦提交,对数据库的改变是永久的。(1分)
3. 数据库设计过程为:
1) 需求分析2) 概念结构设计3) 逻辑结构设计4) 数据库物理设计
5) 数据库实施6) 数据库运行和维护
4. 如图所示的两个关系表,成绩表是R,课程表是S,在R中,学号是关键字,课程号是外码F;在课程表中课程号是关键字,根据关系参照完整性定义,R中的F课程号或者为空或者在课程表中的课程号中能够找到。
成绩表课程表
程序题:
1、Π姓名,班级
(学生∞选课∞ σ课程
名='DB' (课程))
SELECT 姓名,姓名, 班级FROM 学生
WHERE 学号IN (SELECT 学号FROM 选课,课程
WHERE 选课.课程号=课程.课程号AND 课程名='DB')
2、π课程名,任课教师(σ学号='S3'∧选课.课程号=C.课程号(选课×课程))
(也可将两个关系自然连接后选择、投影)
π课程名,任课教师(σ学号='S3' (学生∞选课))
3、π课程号(选课)- π课程号(σ姓名='WANG'∧学生.学号=选课.学号(学
生×选课))
SELECT 课程号FROM C WHERE 课程号NOT IN
(SELECT 课程号FROM 选课WHERE 学号IN
(SELECT 学号FROM S WHERE 姓名='WANG'))
4、π学号(σ1=4∧2≠5(选课×选课)) (选课自乘之后,同一个学号下两个课程号不同的元组)
SELECT 学号FROM选课GROUP BY 学号HAVING COUNT(课程号)>=2
学号
姓
名
课
程号
成
绩
1 01
刘
军
K58
2 12
王
丽
K87
6
2 21
章
华
K99
2
课
程号
课程名
K5高等数
学
K8C语言
K9计算机
网络
5、π课程号, 课程名(选课∞(π学号,课程号(选课)÷π学号(学生)))
(涉及到全部值时,应用除法,“除数”是全部量。)
SELECT 课程号,课程名FROM 课程WHERE NOT EXISTS
(SELECT * FROM 学生WHERE NOT EXISTS
(SELECT * FROM 选课WHERE 选课.学号=学生.学号AND 选课.课程号=课程.课程号))
设计题
1、
2、(1) 有三个函数依赖:(商店编号,商品编号) →部门编号
(商店编号,部门编号) →负责人
(商店编号,商品编号) →数量
(2) R的候选码是(商店编号,商品编号)
(3) 因为R中存在着非主属性“负责人”对候选码(商店编号、商品编号)的传递函数依赖,所以R属于2NF,R不属于3NF。
(4) 将R分解成:R1 (商店编号,商品编号,数量,部门编号)
R2 (商店编号,部门编号,负责人)