资源描述
《数据库原理与应用》试题三
一. 单项选择题(本大题共15小题,每小题2分,共30分)
1.对现实世界进行第二层抽象的模型是 [ ]
A.概念数据模型 B.用户数据模型
C.结构数据模型 D.物理数据模型
2.数据库在磁盘上的基本组织形式是 [ ]
A.DB B.文件 C.二维表 D.系统目录
3.在关系模型中,起导航数据作用的是 [ ]
A.指针 B.关键码 C.DD D.索引
4.查询优化策略中,正确的策略是 [ ]
A.尽可能早地执行笛卡尔积操作 B.尽可能早地执行并操作
C.尽可能早地执行差操作 D.尽可能早地执行选择操作
5.SQL中,“DELETE FROM 表名”表示 [ ]
A.从基本表中删除所有元组 B.从基本表中删除所有属性
C.从数据库中撤消这个基本表 D.从基本表中删除重复元组
6.设关系模式R(A,B,C),F是R上成立的FD集,F={A→B,C→B},
ρ={AB,AC}是R的一个分解,那么分解ρ [ ]
A.保持函数依赖集F B.丢失了A→B
C.丢失了C→B D.丢失了B→C
7.在关系模式R分解成数据库模式ρ时,谈论无损联接的先决条件是 [ ]
A.数据库模式ρ中的关系模式之间有公共属性 B.保持FD集
C.关系模式R中不存在局部依赖和传递依赖 D.存在泛关系
8.在关系数据库设计中,子模式设计是在__________阶段进行。 [ ]
A.物理设计 B.逻辑设计 C.概念设计 D.程序设计
9.如果有9个不同的实体集,它们之间存在着12个不同的二元联系(二元联系是指两个实体集之间的联系),其中4个1:1联系,4个1:N联系,4个M:N联系,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模式个数为 [ ]
A.9个 B.13个 C.17个 D.21个
10.在DB技术,未提交的随后被撤消了的数据,称为 [ ]
A.报废的数据 B.过时的数据 C.撤消的数据 D.脏数据
11.SQL中的“断言”机制属于DBS的 [ ]
A.完整性措施 B.安全性措施 C.物理安全措施 D.恢复措施
12. ORDB中,同类元素的无序集合,并且允许一个成员可多次出现,称为 [ ]
A.结构类型 B.集合类型 C.数组类型 D.多集类型
13.在OODB中,包含其他对象的对象,称为 [ ]
A.强对象 B.超对象 C.复合对象 D.持久对象
14.在DDBS中,数据传输量是衡量查询时间的一个主要指标,导致数据传输量大的主要原因是 [ ]
A.场地间距离过大 B.数据库的数据量大
C.不同场地间的联接操作 D.在CPU上处理通信的代价高
15.DDBS中,透明性层次越高 [ ]
A.网络结构越简单 B.网络结构越复杂
C.应用程序编写越简单 D.应用程序编写越复杂
二、填空题(本大题共10小题,每小题1分,共10分)
16.数据管理技术的发展,与__________、__________和__________有密切的联系。
17.在DBS中存放三级结构定义的数据库称为__________。
18.SQL中,与操作符“NOT IN”等价的操作符是__________。
19.在关系数据库中,规范化关系是指__________。
20.两个函数依赖集F和G等价的充分必要条件是__________。
21.DBD中的概念模型应充分表达用户的要求,并且应该独立于_________________。
22.判断一个并发调度是否正确,可用__________概念来衡量。
23.ORDB中,复合类型有结构类型、列表类型、数组类型、__________和集合类型。
24.DDBS中,分布透明性可以归入__________范围。
25.在DDBS中,基于半联接查询优化策略的基本思想是__________。
三.简答题(本大题共10小题,每小题3分,共30分)
26.在层次、网状、关系、面向对象等数据模型中,数据之间联系是如何实现的?
27.设有关系R(A,B,C)和S(B,C,D),试写出与关系代数表达式
πB,C(σA>D(R⋈S))
等价的元组表达式、关系逻辑规则和SQL语句。
28.设有域表达式 { t1t2t3 | ($u1) ($u2)(∃u3) (R(t1u1t2) ∧ S(u2t3u3) ∧ u1>t3)},
试写出其等价的关系代数表达式、元组表达式和关系逻辑规则。
29.设教学数据库中,有两个基本表:
学生表:S(S#,SNAME,AGE,SEX)
学习表:SC(S#,C#,GRADE)
现有一个SQL语句:
SELECT SEX,AGE,AVG(GRADE)
FROM S,SC
WHERE S.S# = SC.S#
GROUP BY SEX,AGE
ORDER BY 3 DESC;
试写出与此语句等价的汉语查询语句。
30.试写出3NF的定义。当一个关系模式不是3NF时,会出现什么问题?试举例说明。
31.试解释联系的元数、连通词和基数的三个概念。
32.有些事务只要读数据,为什么也要加S锁?
33.为什么只有PX协议还不够,还要提出PXC协议?
34.试解释DDBS的“分布透明性”概念。“分布透明性”分成哪几个层次?分布透明性在数据独立性中可以归入哪个范围?
35.关系代数的自然连接操作和半连接操作之间有些什么联系?
四.设计题(本大题共5小题,每小题4分,共20分)
36.设数据库中有两个基本表:
职工表 EMP(E#,ENAME,AGE,SALARY,D#),
其属性分别表示职工工号、姓名、年龄、工资和工作部门的编号。
部门表 DEPT(D#,DNAME,MGR#),
其属性分别表示部门编号、部门名称和部门经理的职工工号。
试指出每个表的主键和外键。并写出每个表创建语句中的外键子句。
37. 在第36题的两个基本表中,写出下列查询的关系代数表达式和SQL语句:
检索每个部门经理的工资,要求显示其部门编号、部门名称、经理工号、经理姓名和经理工资。
38. 在第36题的两个基本表中,建一个年龄大于50岁的职工视图,属性为(D#,DNAME,E#,ENAME,AGE,SALARY)。
39.在第36题的两个基本表中,写一个断言,要求每个部门的经理工资应大于本部门所有职工的工资。
40.下面是用ORDB的定义语言定义的数据库:
CREATE TYPE MyString char varying;
CREATE TYPE cname MyString;
CREATE TABLE department(dno MyString,
dname MyString,
staff setof(ref(employee)));
CREATE TABLE employee(eno MyString,
ename MyString,
salary integer,
children setof(cname),
works_for res(department));
(1)试画出上述数据库的对象联系图。
(2)试用ORDB的查询语言写出下列查询的SELECT语句:
检索部门编号为D6的部门中每个职工的子女名,要求显示职工的姓名、子女名。
五.综合题(本大题共2小题,每小题5分,共10分)
41.设有一个记录各个球队队员每场比赛进球数的关系模式
R(队员编号,比赛场次,进球数,球队名,队长名)
如果规定每个队员只能属于一个球队,每个球队只有一个队长。
① 试写出关系模式R的基本FD和关键码。
② 说明R不是2NF模式的理由,并把R分解成2NF模式集。
③ 进而把R分解成3NF模式集,并说明理由。
42.设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。
设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
(1)试画出ER图,并在图上注明属性、联系类型、实体标识符;
(2)将ER图转换成关系模型,并说明主键和外键。
(3)将ER图转换成对象联系图。
(4)将ER图转换成UML的类图。
《数据库原理与应用》试题三答案
一. 单项选择题答案
1.C 2.B 3.B 4.D 5.A 6.C 7.D 8.B
9.B 10.D 11.A 12.D 13.C 14.C 15.C
二.填空题答案
16.硬件 软件 计算机应用 17.DD
18.<>ALL 19.满足1NF(或属性值不可分解)
20.F+=G+ 21.硬件和DBMS
22.可串行化 23.多集类型(或包类型)
24.物理独立性 25.不参与连接的数据不在网络中传输
三.简答题答案
26.答:层次、网状模型中,数据联系通过指针实现的。
关系模型中,数据联系通过外键与主键相联系实现的。
面向对象模型中,数据联系通过引用类型实现的,引用类型是指引用的不是对象本身,而是对象标识符。
27.答:元组表达式如下:
{ t | ($u) ($v) (R(u) ∧ S(v) ∧ u[2]= v[1] ∧ u[3]=v[2] ∧ u[1]>v[3]
∧ t[1]=u[2] ∧ t[2]=u[3])}
关系逻辑规则如下:
W(b,c)¬R(a,b,c)∧ S(b,c,d)∧ a>d
SQL语句:
SELECT R.B,R.C
FROM R,S
WHERE R.B=S.B AND R.C=S.C AND A>D;
28.答:等价的关系代数表达式如下:
π1,3,5(σ2>2(R×S))
等价的元组表达式如下:
{ t | ($u) ($v) (R(u) ∧ S(v) ∧ u[2]>v[2] ∧ t[1]=u[1] ∧ t[2]=u[3]∧t[3]=v[2])}
关系逻辑规则如下:
W(x,y,z)¬R(x,a,y)∧ S(b,z,c)∧ a>z
29.答:检索每一性别每一年龄的学生的平均成绩,显示时,按平均成绩降序排列。
30.答:如果关系模式R是1NF,并且R中每一个非主属性都不传递依赖于R的候选键,那么称R是3NF模式。
当一个模式不是3NF模式时,那么会存在非主属性对候选键的传递依赖,在关系中会存在数据冗余,进而引起操作异常。
例R(A,B,C)中,有A→B,B→C。此时R的关键码是A,因此A→C是一个传递依赖。设关系r的值如下:
A B C
a1 b1 c1
a2 b1 c1
a3 b1 c1
此时,A→B和B→C在上述关系中成立。但三个元组中的c1冗余地出现了三次。在修改时有可能引起异常。
31.答:联系的元数是指一个联系涉及到的实体集个数。
联系的连通词是指联系涉及到的实体集之间实体对应的方式。譬如二元联系的连通词有四种:1:1,1:N,M:N,M:1。
联系的基数是对实体间联系方式更为详细的描述,应描述出有联系实体的数目的最小值和最大值。
32.答:一个事务在读一批数据时,为了防止其他事务对这批数据进行修改,也应对这批数据加S锁,这样才能读到全部正确的数据。
33.答:如果事务只执行PX协议,那么就有可能使其他事务发生丢失更新问题。
譬如事务T1对某数据修改后立即释放X封锁,此时其他事务就有可能对该数据实现X封锁,并进行修改。但是事务T1尚未结束,若T1是以ROLLBACK操作结束。那就使其他事务的更新丢失了。因此X封锁必须保留到事务终点,即实现PXC协议。
34.答:DDBS的分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上数据库的数据模型。
上述定义中的“三个不必”就是分布透明性的三个层次,即分片透明性、位置透明性和局部数据模型透明性。
分布透明性可以归入物理独立性范围。
35.答:自然连接和半连接之间的联系可用下面两点来表示:
(1)半连接是用自然连接操作来定义的:R ⋉S =πR(R⋈S);
(2)连接操作用半连接方法来求的:R⋈S =(R ⋉S)⋈S。
四.设计题答案
36.答:EMP表的主键为E#,外键为D#。
DEPT表的主键为D#,外键为MGR#
在EMP表的创建语句中,可写一个外键子句:
FOREIGN KEY D# REFERENCES DEPT(D#);
在DEPT表的创建语句中,可写一个外键子句:
FOREIGN KEY MGR# REFERENCES EMP(E#);
MGR#=E#
37.答:关系表达式为:πDEPT.D#,DNAME,MGR#,ENAME,SALARY(DEPT ⋈ EMP)
SELECT语句为:
SELECT DEPT.D#,DNAME,MGR#,ENAME,SALARY
FROM DEPT,EMP
WHERE MGR#=E#;
38.解:CREATE VIEW VIEW5
AS SELECT DEPT.D#,DNAME,E#,ENAME,AGE,SALARY
FROM DEPT,EMP
WHERE DEPT.D#=EMP.D# AND AGE>50;
39. 解:CREATE ASEERTION ASSE8 CHECK
(NOT EXISTS( SELECT *
FROM EMP,DEPT
WHERE E#=MGR#
AND SALARY<=ALL
(SELECT SALARY
FROM EMP
WHERE D#=DEPT.D#)));
40. 解:(1)对象联系图如图4所示
staff
salary
ename
eno
children
dno
employee
department
dname
works_for
图4
(2) SELECT B.ename,C.cname
FROM department as A,A.staff as B,B.children as C
WHERE A.dno=‘D6’;
或 SELECT B.ename,C.cname
FROM employee as B,B.children as C
WHERE B.works_for.dno=‘D6’;
五.综合题答案
41.解:⑴ 根据每个队员只能属于一个球队,可写出FD 队员编号®球队名;
根据每个球队只有一个队长,可写出FD 球队名®队长名;
“每个队员每场比赛只有一个进球数”,这条规则也是成立的,因此还可写出FD :
(队员编号,比赛场次)®进球数。
从上述三个FD可知道,R的关键码为(队员编号,比赛场次)。
⑵ 从⑴可知,R中存在下面两个FD:
(队员编号,比赛场次)®(球队名,队长名)
队员编号 ®(球队名,队长名)
显然,其中第一个FD是一个局部依赖,因此R不是2NF模式。
对R应该进行分解,由第二个FD的属性可构成一个模式,即
R1(队员编号,球队名,队长名);
另一个模式由R的属性集去掉第二个FD右边的属性组成,即
R2(队员编号,比赛场次,进球数)。
R1和R2都是2NF模式,因此ρ={ R1,R2 }
⑶ R2(队员编号,比赛场次,进球数)中,FD是(队员编号,比赛场次)®进球数,关键码为(队员编号,比赛场次),可见R2已是3NF模式。
R1(队员编号,球队名,队长名)中,FD有两个:
队员编号®球队名
球队名®队长名
关键码为队员编号,可见存在传递依赖,因此R1不是3NF模式。
对R1应分解成两个模式:R11(队员编号,球队名),R12(球队名,队长名)。这两个模式都是3NF模式。
因此,R分解成3NF模式集时,ρ={ R11,R12,R2 }。
42.解:(1)ER图如图5所示。
N
1
公里数
拥有
使用日期
车辆
牌照号
厂家
出厂日期
N
车队号
车队
车队名
聘用
聘期
司机
司机编号
姓名
电话
1
使用
M
N
图5
(2)转换成的关系模型应具有4个关系模式:
车队(车队号,车队名)
车辆(牌照号,厂家,生产日期,车队号)
司机(司机编号,姓名,电话,车队号,聘期)
使用(司机编号,车辆号,使用日期,公里数)
(3)图5的ER图的对象联系图如图6所示。三个实体类型转换成三个对象类型,一个M:N联系类型转换成一个对象类型。因此对象联系图中共有四个对象类型,如图6所示。图中未标出基本数据类型属性,具体如下:
车队(车队号,车队名)
车辆(牌照号,厂家,生产日期)
司机(司机编号,姓名,电话,聘期)
使用(使用日期,公里数)
车队
商品
销售
商店
图6
(4)图5的ER图的UML类图如图7所示。图中,三个实体类型转换成三个类,一个M:N联系类型转换成一个关联类。
车队
车队号
车队名
1
1
*
*
司机
司机编号
姓名
电话
聘期
车辆
牌照号
厂家
出厂日期
使用
使用日期
公里数
图7
展开阅读全文