数据库原理-期末考试复习题及答案
数据库
1. 下列四项中,不属于数据库系统的主要特点的是( )。
A .数据结构化 B .数据的冗余度小
C .较高的数据独立性 D .程序的标准化
2. 数据的逻辑独立性是指( )
A .内模式改变,模式不变
B .模式改变,内模式不变
C .模式改变,外模式和应用程序不变
D .内模式改变,外模式和应用程序不变
3. 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是( )。
A .外模式 B .内模式 C .存储模式 D .模式
4. 相对于非关系模型,关系数据模型的缺点之一是( )。
A .存取路径对用户透明,需查询优化 B .数据结构简单
C .数据独立性高 D .有严格的数学基础
5. 现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期)的主码是( )。
A .宿舍编号
B .学号
C .宿舍地址,姓名
D .宿舍编号,学号
6. 自然连接是构成新关系的有效方法。一般情况下,当对关系R 和S 使用自然连接时,要求R 和S 含有一个或多个共有的( )。
A .元组 B .行 C .记录 D .属性
7. 下列关系运算中,( )运算不属于专门的关系运算。
A .选择 B .连接
C .广义笛卡尔积 D .投影
8. SQL语言具有( )的功能。
A .关系规范化、数据操纵、数据控制
B .数据定义、数据操纵、数据控制
C .数据定义、关系规范化、数据控制
D .数据定义、关系规范化、数据操纵
9.从E-R 模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是( )。
A .M 端实体的关键字 B .N 端实体的关键字
C .M 端实体关键字与N 端实体关键字组合 D .重新选取其他属性
10. SQL语言中,删除一个表的命令是( )
A . DELETE B . DROP
C . CLEAR D . REMOVE
11. 图1中( )是关系完备的系统
A B C D
图1
12.有关系模式A(S,C ,M) ,其中各属性的含义是:S :课程;M :名次,
其语义是:每一个学生选修每门课程的成绩有一定的名次,每门课程中每一名次只有一个学生(即没有并列名次),则关系模式A 最高达到( )
A .1NF B .2NF
C .3NF D .BCNF
13.关系规范化中的删除异常是指 ( )
A .不该删除的数据被删除 B .不该插入的数据被插入
C .应该删除的数据未被删除 D .应该插入的数据未被插入
14.在数据库设计中, E -R 图产生于( )
A . 需求分析阶段 B .物理设计阶段
C .逻辑设计阶段 D .概念设计阶段
15.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符
串,这一规则属于( )。
A .实体完整性约束
B .参照完整性约束
C .用户自定义完整性约束
D .关键字完整性约束
16.事务是数据库运行的基本单位。如果一个事务执行成功,则全部更新提交;如果
一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于( )状态。
A.安全性 B .一致性
C .完整性 D .可靠性
17. ( )用来记录对数据库中数据进行的每一次更新操作。
A .后援副本 B .日志文件
C .数据库 D .缓冲区
18. 在并发控制技术中,最常用的是封锁机制,基本的封锁类型有排它锁X 和共享
锁S ,下列关于两种锁的相容性描述不正确的是( )
A. X/X :TRUE
B. S/S:TRUE
C. S/X:FALSE
D. X/S:FALSE
19. 设有两个事务T1、T2,其并发操作如图1所示,下面评价正确的是( )
A . 该操作不存在问题 B . 该操作丢失修改
C . 该操作不能重复读 D . 该操作读“脏”数据
T1 T2
read(A)
read(B)
sum=A+B
read(A)
A =A*2
write(A)
read(A)
read(B)
sum=A+B
write(A+B)
图2
20. 已知事务T 1的封锁序列为:LOCK S(A)„LOCK S(B)„LOCK X(C)
„UNLOCK(B) „UNLOCK (A) „UNLOCK (C)
事务T 2的封锁序列为:LOCK S(A) „UNLOCK (A) „LOCK S(B)
„LOCK X(C) „UNLOCK (C) „UNLOCK (B)
则遵守两段封锁协议的事务是( )
A . T 1 B . T 2 C . T 1和T 2 D . 没有
二、填空题
(本大题共7小题,每空1分,共10分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
1. 关系数据库的实体完整性规则规定基本关系的能取 。
2. 在关系A (S ,SN ,D )和B (D ,CN ,NM )中,A 的主码是S ,B 的主码是D ,
则D 在A 中称为 。
3. SQL 语言中,用于授权的语句是_________。
4. 关系R 与S 的交可以用关系代数的5种基本运算表示为。
5. 数据库系统中最重要的软件是,最重要的用户是
6. 数据库设计分为以下六个设计阶段:需求分析阶段、 、逻辑结构
设计阶段、 、数据库实施阶段、数据库运行和维护阶段。
7. 已知关系R (A ,B ,C ,D )和R 上的函数依赖集F={A→CD,C→B},则
R ∈NF 。
三、简答题
(本大题共3小题,第1题4分,第2、3题各3分,
共10分)
1. 试述数据、数据库、数据库管理系统、数据库系统的概念。
2. 说明视图与基本表的区别和联系。
3.数据库系统的故障有哪些类型?
四、设计题 (第1题15分,第2题10分,共25分)
1. 设有一个工程供应数据库系统,包括如下四个关系模式:
● ,SNAME , STATUS ,CITY) ;
● ,PNAME ,COLOR ,WEIGHT) ;
● ,JNAME ,CITY) ;
● ,QTY) ;
供应商表S 由供应商号、供应商名、状态、城市组成;
零件表P 由零件号、零件名、颜色、重量组成;
工程项目表J 由项目号、项目名、城市组成;
供应情况表SPJ 由供应商号、零件号、项目号、供应数量组成;
(1)用关系代数查询没有使用天津供应商生产的红色零件的工程号;(3分)
(2) 用关系代数查询至少使用了供应商S1所供应的全部零件的工程号JNO ;(3分)
(3)用SQL 查询供应工程J1零件为红色的工程号JNO ;(2分)
(4)用SQL 查询没有使用天津供应商生产的零件的工程号;(3分)
(5)用SQL 语句将全部红色零件改为蓝色;(2分)
(6)用SQL 语句将(S2,P4,J6,400)插入供应情况关系。(2分)
2. 设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),
(S#,CNAME)为候选码,设关系中有如下函数依赖:
(S#,CNAME)→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
(S#,CNAME)→GRADE
SDEPT →MNAME
试求下列问题:
(1)关系STUDENT 属于第几范式?并说明理由。(3分)
(2)如果关系STUDENT 不属于BCNF ,请将关系STUDENT 逐步分解为巧
BCNF 。(7分)
要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
五、综合题(15分) 某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。
(1)根据上述语义画出E-R 图;(5分)
(2)将该E-R 模型转换为关系模型;(5分)
(要求:1:1和1:n 的联系进行合并)
(3)指出转换结果中每个关系模式的主码和外码。(5分)
参考答案与评分标准
一、选择题(每题2分)
1.D 2.C 3.D 4.A 5.B 6.D 7.C 8.B 9.C 10.B 11.C 12.D 13.A 14.D 15.C 16.B 17.B 18.A 19.C 20.A
二、填空题(每空1分)
1. 主属性 空值(或NULL ) 2. 外码 3. GRANT
4. R-(R-S ) 5. 数据库管理系统(或DBMS ) 数据库管理员(或DBA ) 6. 概念结构设计阶段 物理结构设计阶段 7. 2
三、简答题(本大题共3小题,第1题4分,
第2、3题各3分,共10分)
1、参考答案:
答: 数据:描述事物的符号记录。(1分)
数据库:长期存储在计算机内的、有组织的、可共享的数据集合。(1分) 数据库管理系统:是位于用户与操作系统之间的具有数据定义、数据操纵、数
据库的运行管理、数据库的建立和维护功能的一层数据管理软件。(1分) 数据库系统:在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具) 、应用系统、数据库管理员和用户构成。(1分)
评分标准:四个基本概念各1分,意思表达正确即可给分。
2、参考答案:
答:视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表,数据库
中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变(2分)。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制(1分)。
评分标准:意思表达正确即可给分。
3、参考答案:
答:故障主要有下面三种类型:
(1)事务故障(1分)
(2)系统故障(1分)
(3)介质故障(1分)
评分标准:关键字“事务”、“系统”、“介质”中有错别字一律该项不给分。
四、设计题
1、
(1)参考答案:
πJNO (J)- πJNO (σCITY='天津' (S)评分标准:
两个关系的差1分;三个表的自然连接S SPJ P1分,少任意一个关系不给分;σCITY='天津' 和σCOLOR='红' 两个条件1分,任意一个错误不给分。
(2)参考答案:
πPNO,JNO (SPJ)÷πPNO (σSNO=' S1' (SPJ))
评分标准:
两个关系的除1分;πPNO,JNO 和πPNO1分,任意一个错误不给分;σSNO='S1'1分。
(3)
参考答案1:
SELECT DISTINCT JNO
FROM SPJ,P
WHERE SPJ.PNO=P.PNO AND
COLOR='红'AND
SPJ σCOLOR='红' (P))
JNO='J1';
评分标准:
SELECT DISTINCT JNO FROM SPJ,P 1分,少DISTINCT 扣0.5分,SPJ ,P 中少任一表不给分;WHERE SPJ.PNO=P.PNO AND COLOR='红'AND JNO='J1'1分,3个条件每错一个扣0.5,扣完1分为止。
参考答案2:
SELECT DISTINCT SNO
FROM SPJ
WHERE JNO='J1' AND
PNO IN
(SELECT PNO
FROM P
WHERE COLOR='红');
评分标准:
SELECT DISTINCT JNO FROM SPJ 1分,少DISTINCT 扣0.5分;WHERE JNO='J1' AND
PNO IN
(SELECT PNO
FROM P
WHERE COLOR='红')1分,无JNO='J1'、PNO IN、SELECT PNO
FROM P WHERE COLOR='红' 均扣0.5分,扣完1分为止。
(4)
参考答案1:
SELECT JNO
FROM J
WHERE JNO NOT IN
(SELECT JNO
FROM SPJ
WHERE SNO IN
(SELECT SNO
FROM S
WHERE CITY='天津'));
评分标准:
SELECT JNO
FROM J
WHERE JNO NOT IN
和
SELECT JNO
FROM SPJ
WHERE SNO IN
和
SELECT SNO
FROM S
WHERE CITY='天津'
三层嵌套各1分,各嵌套内有错误则该项均不给分。
参考答案2:
SELECT JNO
FROM J
WHERE NOT EXISTS
(SELECT *
FROM SPJ,S
WHERE SPJ.SNO=S.SNO AND
SPJ.JNO=J.JNO AND
CITY='天津');
评分标准:
SELECT JNO
FROM J
WHERE NOT EXISTS 1分;
SELECT *
FROM SPJ,S 1分,SPJ,S 少一个表不给分;
WHERE SPJ.SNO=S.SNO AND
SPJ.JNO=J.JNO AND
CITY='天津'1分,三个条件少一个扣0.5,扣完1分为止。
参考答案3:
SELECT JNO
FROM J
WHERE NOT EXISTS
(SELECT *
FROM SPJ
WHERE SPJ.JNO=J.JNO AND EXISTS
(SELECT *
FROM S
WHERE S.SNO=SPJ.SNO AND
CITY='天津'));
评分标准:
SELECT JNO
FROM J
WHERE NOT EXISTS
和
SELECT *
FROM SPJ
WHERE SPJ.JNO=J.JNO AND EXISTS
和
(SELECT *
FROM S
WHERE S.SNO=SPJ.SNO AND
CITY='天津'))
三层嵌套各1分,各嵌套内有错误则该项均不给分。
(5)参考答案:
UPDATE P SET COLOR='蓝' WHERE COLOR='红';
评分标准:
UPDATE P 0.5分;SET COLOR='蓝'1分;WHERE COLOR='红'0.5分。
(6)参考答案:
INSERT INTO SPJ VALUES('S2','P4','J6',400);
评分标准:
INSERT INTO SPJ1分;V ALUES('S2','P4','J6',400)1分。
2、参考答案:
(1) 关系STUDENT 是1NF ,因为F 中存在非主属性SNAME ,SDEPT ,MNAME
对侯选码(S#,CNAME)的部分函数依赖。
(2)
① 首先消除部分函数依赖(S#,CNAME)→SNAME,SDEPT,MNAME 将关系分
解为:
R1(S#,SNAME,SDEPT,MNAME),S#为候选码,
R1的函数依赖集为:
F1 = { S#→SNAME,SDEPT,MNAME ,SDEPT →MNAME}
R2(S#,CNAME,GRADE),S#为候选码,
R2的函数依赖集为:
F2={(S#,CNAME)→GRADE}
② 在关系R1中存在非主属性MNAME 对候选码S#的传递函数依赖S#→
MNAME ,所以将R1进一步分解:
R11(S#,SNAME,SDEPT) ,S#为候选码,
R11的函数依赖集为:
F11 = { S#→SNAME,SDEPT}
R12(SDEPT,MNAME) ,SDEPT 为候选码,
R12的函数依赖集为:
F12 = { SDEPT→MNAME}
在R2、R11、R12关系模式中函数依赖都是非平凡的,并且决定因素均是候选码,所以上述三个关系模式均是BCNF 。
评分标准:
(1)正确指明R ∈1NF (1分);正确说明R ∈1NF 的理由(2分)。
(2)首先正确将R 分解为R1(S#,SNAME,SDEPT,MNAME)(2分)和R2(S#,CNAME,GRADE)(1分),再将R1正确分解为R11(S#,SNAME,SDEPT)(2分)和R12(SDEPT,MNAME)(2分),分解过程的叙述斟情扣分。
五、综合题
参考答案:
(1)本题的E-R 图如下图所示。
(2)转化后的关系模式如下:
工厂(工厂编号,厂名,地址)
产品(产品编号,产品名,规格)
职工(职工号,姓名,工产编号,聘期,工资)
生产(工产编号,产品编号,计划数量)
(3)每个关系模式的主码、外码如下:
工厂:主码是工产编号;
产品:主码是产品编号;
职工:职工号,外码是工厂编号;
生产:主码是(工产编号,产品编号),
外码是工产编号、产品编号。
评分标准:
(1)三个实体型工厂、产品、职工各1分,属性漏写、错写不给分;两个联系各
1分,名称一定要表达联系含义,联系类型错误不给分,属性漏写不给分。
(2)转化后的工厂关系模式、产品关系模式、生产关系模式各1分,有一个属性
不正确均不给分,职工关系模式2分。
(3)工厂:主码是工产编号(0.5分),无外码(0.5分);
产品:主码是产品编号(0.5分),无外码(0.5分);
职工:主码职工号(0.5分),外码是工厂编号(0.5分);
生产:主码是(工产编号,产品编号)(1分),
外码是工产编号(0.5分)、产品编号(0.5分)。