一、单项选择题
1
.
DB
的三级模式结构中最接近外部存储器的是(
)。
A
.子模式
B
.外模式
C
.概念模式
D
.内模式
2
.设关系
R
、
S
、
W
各有
10
个元组,那么这
3
个关系自然连接后的元组个数为
(
)。
A
.
10 B
.
30 C
.
1000 D
.不确定
3
.设有关系模式
R
(
A
,
B
,
C
,
D
),
F
是
R
上成立的
FD
集,
F={B
→
A
,
D
→
C}
,则
F
+
中左部为(
BC
)的函数依赖为
( )
。
A
.
2
个
B
.
4
个
C
.
8
个
D
.
16
个
4
.“所有事务都按两段协议加锁”与“事务的并发调度是可串行化”两者之间关
系是
( )
。
A
.同时成立与不成立
B
.没有必然的联系
C
.前者蕴含后者
D
.后者蕴含前者
5
.数据操纵语言也可称之为(
)。
A
.
DML B
.
DCL
C
.
DDL
D
.
DHL
6
.关于视图的说法
错误
..的是
( )
。
A
.视图可以从一个表或几个表导出
B
.视图一经定义就可以和基本表一样被查询、被删除
C
.可以在视图上再定义新的视图
D
.视图可以像基本表一样更新
7
.下列
不
.属于关系的性质是(
)。
A
.列的顺序无所谓
B
.行的顺序无所谓
C
.任意两个元组不能相同
D
.不同的列不能出自同一个域
8
.在数据库的维护阶段,增加或删除某个表的工作可称之为
( )
。
A
.重组织
B
.重构造
C
.转储
D
.备份
9
.在关系数据库中,基于函数依赖讨论,任何二元关系模式的最高范式必定是
(
)。
A
.
2NF B
.
3NF C
.
BCNF D
.无法确定
10
.下面的几种故障中,会破坏正在运行的数据库的是
( )
。
A
.中央处理器故障
B
.操作系统故障
C
.突然停电
D
.瞬时强磁场干扰
二、填空题
1
、对现实世界进行第一层抽象(最高级别的抽象)的模型,称为 模
型,对现实世界进行第二层抽象的模型,称为 模型。
2、通常关系数据库物理设计的内容主要包括 和存取方法的设计。
3、避免活锁的简单方法是采用___ _的策略。
4、如果 Y
Í
X
Í
U,则 X→Y 成立。这条推理规则称为 。
5、在应用程序中,事务以 BEGIN TRANSACTION 语句开始,以 或
语句结束。
6、两个函数依赖集 F 和 G 等价的充分必要条件是 。
7、每次只转储上一次转储后更新过的数据的方式叫___ _转储。
8、和 IX 不相容的意向锁是 。
2
三、简答题
1、什么是相关子查询?请举例说明。
2、日志文件中每个日志记录的内容主要包括哪五项?
3、为什么关系中的元组没有先后顺序?
4
、合并分 ER 图时会遇到哪三类冲突?每类冲突分别包含什么问题?
四、数据库语言题:
设有关系模式为:
学生
S( SNO,SNAME,AGE,SEX )
学习
SC( SNO,CNO,GRADE )
课程
C( CNO,CNAME,TEACHER )
用
SQL
...
语言
..实现下列第
1
小题至第
10
小题:
1
、列出年龄大于
23
岁的男学生的学号和姓名,按年龄的降序排列;
2
、列出选修课程号为“
C4
”的女学生的平均年龄;
3
、统计选修人数超过或等于
30
人的课程号、课程名及人数;
4
、列出名字包含“林”的所有学生的学号、姓名和年龄;
5
、建立视图
VGRADE
,内容为每个学生的学号、姓名及其所修课程的平均分。;
6
、将对表
SC
进行修改操作的权限授予用户
U1
;
7
、添加一名
19
岁叫王丽的女生,此生学号为“
09031
” ;
8
、将选修课程号为“
C4
”的所有学生的成绩提高
10%
;
9
、列出至少选修课程“数据库系统原理”和“软件工程”的学生学号及姓名;
10
、给关系
S
增加一个长度为
5
的字符类型的属性
DEPT
。
用
关系代数语言
......实现下列第 11 小题和第 12 小题:
11、查询“刘丽”同学没有选修的课程号;
12、查询至少选修了“数据库系统原理”和“软件工程”的学生学号。
五、综合题
1
、设有关系模式 R(A,B,C,D,E),在 R 上有相应的 FD 集及分解如下,试述下列
分解前的关键码及相应分解是否无损分解,是否保持函数依赖,并说明理由?
(1)F1={B→C,D→AE},ρ1={BCE,ABD}
(2)F2={AB→C,C→A, C→DE},ρ2={BC,ACDE}
2
、设有关系模式 R(职工名,项目名,工资,部门名,部门经理)如果规定每
个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部
门只有一个经理。
(1)写出关系模式 R 的基本 FD 和关键码。
(2)判断 R 的范式,并说明理由。
(3)把 R 分解成 3NF,并说明理由。
3
3、关系 R(A,B,C,D,E,F)满足下列函数依赖:
{ABD
®
E,AB
®
CF,B
®
F,C
®
DF,CF
®
E,D
®
F}
(1)求该函数依赖集的最小函数依赖集。
(2)写出关系 R 的候选码。
(3)把关系 R 无损并保持函数依赖的分解为 3NF。
4
、设有
6
个事务:(注:
R1(z)
代表第一个事务读数据对象
z
,以此类推)
T1: {R1(z)
,
R1(y)
,
W1(x)
,
R1(u) }
;
T2: {R2(x)
,
W2(x)
,
R2(y)
,
W2(y)
,
R2(z)
,
W2(z)}
;
T3: {R3(x)
,
W3(x)
,
R3(y)
,
W3(y)
,
W3(u)}
;
T4: {W4(x),W4(u) }
;
T5: {R5(u) }
;
T6: {W6(u) }
;
以上事务集的某个调度
S
如下,请问
S
是否是可串行化的?
如果是,给出所有等价的串行调度。如果不是请说明理由。
S: { R1(z) R1(y) W1(x) R2(x) W2(x) R2(y) R1(u) W2(y) W4(x) R3(x) R5(u) W3(x)
R2(z) W4(u) W2(z) R3(y) W6(u) W3(y) W3(u) }
5、设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车
队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三
是“司机”实体集,属性有司机号、姓名、电话等。
设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司
机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”
联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间
存在着“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可
使用多辆汽车,每辆汽车可被多个司机使用。
(1)试画出 ER 图,并在图上注明属性、联系类型。
(2)将 ER 图转换成关系模型,并标出主码、外码。
1
参考答案:
一、 单项选择题:
1、D
2、D
3、C
4、C
5、A
6、D
7、D
8、B
9、C
10、D
二、 填空题:
1、概念
2、逻辑
3、存储结构 4、先来先服务 5、自反律
6、COMMIT
7、ROLLBACK 8、F
+
=G
+
9、增量
10、SIX
三、 简答题:
1
、答:如果子查询的查询条件依赖于父查询,这样的子查询称为相关子查询。
(写出符合相关子查询的
SQL
语句)。
2
、答:每个日志记录的内容主要包括:事务标示;操作的类型;操作对象;
更新前数据的旧值;更新后数据的新值。
3
、答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关
系中的元组也就没有先后的顺序。这样既能减少逻辑排序,又便于在关系数据库
中引进集合论的理论。
4
、答:属性冲突,包含属性域冲突和属性取值单位冲突。命名冲突,包含同
名异义和异名同义。结构冲突,包含同一对象在不同应用中具有不同的抽象,同
一实体在不同的分
ER
图中所包含的属性个数和属性排列次序不完全相同,实体
间的联系在不同的分
ER
图中为不同的类型。
四、数据库语言题:
1、 SELECT SNO,SNAME
FROM S
WHERE AGE>23 AND SEX=‘男’
ORDER BY AGE DESC;
2、 SELECT AVG(AGE)
FROM S,SC
WHERE S.SNO=SC.SNO AND CNO=‘C4’ AND SEX=‘女’;
3、 SELECT C.CNO,CNAME,COUNT(SNO)
FROM SC,C
WHERE SC.CNO=C.CNO
GROUP BY CNO
HAVING COUNT(SNO)>=30;
4、 SELECT SNO,SNAME,AGE
FROM S
WHERE SNAME LIKE ‘ %林% ’;
2
5、 CREATE VIEW VGRADE
AS
SELECT S.SNO,SNAME,AVG(GRADE)
FROM S,SC
WHERE S.SNO=SC.SNO
GROUP BY S.SNO
6、 GRANT UPDATE ON TABLE SC TO U1;
7、 INSERT INTO S VALUES ( ‘09031’ , ‘王丽’ , 19 , ‘女’ ) ;
8、 UPDATE SC SET GRADE= GRADE*1.1 WHERE CNO=‘C4’;
9、 SELECT S.SNO,SNAME
FROM S,SC,C
WHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND CNAME=‘数据库系统原理’
INTERSECT
SELECT S.SNO,SNAME
FROM S,SC,C
WHERE S.NO=SC.SNO AND SC.CNO=C.CNO AND CNAME=‘软件工程’;
10、 ALTER TEBLE S ADD DEPT CHAR(5);
11、 П
CNO
(C)- П
CNO
(σ
SNAME=‘刘丽’
(S∞SC∞C));
12、 П
SNO
(П
Sno,Cno
(SC)÷(П
Cno
(σ
CNAME=‘数据库系统原理’ ∨ CNAME=‘软件工程’
(C))));
五、综合题:
1
、 (
1
)关键码为
BD
,根据无损连接性的判别规则可知(图略),无一行为全
a
,不是无损分解,也没有保持函数依赖,丢失 D→E。
(
2
)关键码为
BA
和
BC
,根据无损连接性的判别规则可知(图略),有一
行为全
a
,是无损分解,但没有保持函数依赖,丢失 AB→C。
2
、 (
1
)
R
的基本
FD
有三个: (职工名,项目名)
®
工资;项目名
®
部门名;
部门名
®
部门经理。关键码为(职工名,项目名)。
(
2
)为
1NF
。因为关键码为(职工名,项目名),所以 项目名
®
部门名 为
部分函数依赖,因此
R
达不到
2NF
,只能是
1NF
。
(
3
)分解成
3
个模式:
R1
(职工名,项目名,工资),
R2
(项目名,部门名),
R3
(部门名,部门经理)。这
3
个模式都是
3NF
模式。因为不存在相对于候
选码的部分函数依赖和传递函数依赖。
3、
(
1
)最小函数依赖集为{ AB
®
C,B
®
F,C
®
D,C
®
E,D
®
F};
(
2
)候选码为 AB;
(
3
)R1(A,B,C); R2(B,F); R3(C,D,E); R4(D,F) ;
4
、
S
可串行化,
等价的串行调度为:
T1
,
T2
,
T5
,
T4
,
T6
,
T3
或
T1
,
T5
,
T2
,
T4
,
T6
,
T3
或
T5
,
T1
,
T2
,
T4
,
T6
,
T3
5、
ER
图如下图所示。
(
2
)转换成的关系模型为
4
个关系模式:
车队(车队号,车队名)
车辆(牌照号,厂家,生产日期,车队号),其中车队号为外键。
司机(司机编号,姓名,电话,车队号,聘期)
使用(司机编号,牌照号,使用日期,公里数),其中司机编号和牌照号分别为
外键。