简答题(本大题共10小题,每小题3分,共30分)
22.设有关系
R和
B
S:
C
S
D
E
F
R1
A
1
2
3
6
5
1
4
5
6
7
4
2
7
8
9
8
3
3
21.对现实世界抽象层次的不同,数据模型分为哪两种?
各有什么特点?
u)(
v)(R(u)
试写出元组表达式
{t|(
t[2]=v[3])}
和域表达式
{t1t2t3|(U1)(U2)(?
U3)(R(t1t2t3)AS(u1U2U3)At2>U3)}
的具体值。
23.设教学数据库中,有两个基本表:
学生表:
S(S#,SNAMJEAGESEX
学习表:
SC(S#,C#,GRADE
现有一个SQL语句:
SELECTS#
FROMS
WHERES#NOTIN
(SELECTS#FROMSCWHEREC#IN('C2','C4'));
试写出与此语句等价的汉语查询语句及关系代数表达式。
24.在嵌入式SQL中,什么情况下的DML语句不必涉及到游标操作?
25.设有关系模式R(A,B,C,D),F是R上成立的FD集,F={A4C,D-B},试求属性集AD的闭包(AD)+。
并回答所有左部为AD的函数依赖有多少个?
26.在ER模型转换成关系模型时,如果二元联系是1:
N,并在1端实体类型转换成的关系模式中加入N端实体类型的键和联系类型的属性,那末这个关系模式将会有什么问题?
试举例说明。
27.什么是“饿死”问题?
如何解决?
28.与传统的关系模型相比,对象关系模型有哪些扩充?
29.C/S结构为什么要从两层结构发展到三层、多层结构?
30.DDB勺体系结构有些什么显著的特点?
4.设计题(本大题共5小题,每小题4分,共20分)
31.设某商业集团为仓库存储商品设计了三个基本表:
仓库STORE(S#,SNAME,SADDR),其属性是仓库编号、仓库名称和地址。
存储SG(S#,G#,QUANTITY),其属性是仓库编号、商品编号和数量。
商品GOODS(G#,GNAME,PRICE),其属性是商品编号、商品名
称和单价
现检索仓库名称为“莘庄”的仓库里存储的商品的编号和名称。
试写出相应的关系代数表达式、元组表达式、关系逻辑规则和SELECT语句。
32.在第31题的基本表中,检索存储全部种类商品的仓库的编号及名称。
试写
出相应的关系代数表达式、元组表达式、关系逻辑规则和SELECT语句。
33.在第31题的基本表中,检索每个仓库存储商品的总价值。
试写出相应的SELECT语句。
要求显示(S#,SUM_VALUE),其属性为仓库编号及该库存储商品的总价值。
34.在第31题的基本表中,写一个断言,规定每个仓库存储商品的单价为1万元以上的商品种类最多为20种。
35.图8是有关大学(university)和学生(student)信息的对象联系图:
(大学名)
(城市)
(1)试用ORDB的定义语言,定义这个数据库。
(2)试用ORDB的查询语言写出下列查询的SELECT语句:
检索每个大学里,
籍贯为本地的学生,要求显示大学名、城市、学生身份证号和学生姓名。
五.综合题(本大题共4小题,每小题5分,共20分)36.设有关系模式
R(职工名,项目名,工资,部门名,部门经理)
如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。
1试写出关系模式R的基本FD和关键码。
2说明R不是2NF模式的理由,并把R分解成2NF模式集。
3进而把R分解成3NF模式集,并说明理由。
37.设大学里教学数据库中有三个实体集。
一是“课程”实体集,属性有课程号、课程名称;二是“教师”实体集,属性有教师工号、姓名、职称;三是“学生”实体集,属性有学号、姓名、性别、年龄。
设教师与课程之间有“主讲”联系,每位教师可主讲若干门课程,但每门课程只有一位主讲教师,教师主讲课程将选用某本教材;教师与学生之间有“指导”联系,每位教师可指导若干学生,但每个学生只有一位指导教师;学生与课程之间有“选课”联系,每个学生可选修若干课程,每门课程可由若干学生选修,学生选修课程有个成绩。
(1)试画出ER图,并在图上注明属性、联系类型、实体标识符;
(2)将ER图转换成关系模型,并说明主键和外键。
(3)将ER图转换成对象联系图。
(4)将ER图转换成UM啲类图。
38.设大学教学数据库中有下面一些数据:
•Dept(系)有属性dno(系编号)和dname(系名);
•Student(学生)有属性sno(学号)和sname(学生姓名);
•Course(课程)有属性eno(课程号)、cname(课程名)和teacher
(任课教师);
•学生选修课程有个grade(成绩)。
如果规定:
每个系有若干学生,每个学生只能属于一个系;每个系开设了若干课程,每门课程由一个系开设;每个学生可以选修若干课程,每门课程可以有若干学生选修。
(1)试画出ER图,并在图上注明属性、联系类型、实体标识符;
(2)将ER图转换成关系模型,并说明主键和外键。
39.
(1)试画出第38题数据库的对象联系图。
(2)试画出第38题数据库的UML类图。
模拟试题3答案
单项选择题答案
2.填空题答案
12.谓词
14.对查询结果执行聚合操作
16.恢复管理子系统
18.沿着箭头方向存在一个循环
20.集中式DB分布式DB
11.三级结构之间存在着两级映象
13.行列子集视图
15.2AB和BC
17.属性联系方法interface
19.实体集实体联系
3.简答题答案
21.答:
在数据库设计中,概念设计使用的是概念数据模型,逻辑设计中使用的是结构数据模型。
概念模型是一种独立于硬件和软件的模型,完全不涉及信息在系统中的表现,只是用来描述某个特定组织所关心的信息结构。
这种模型是从用户的观点对数据建模,必须充分反映用户的需求,并得到用户的确认才可定下来。
它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具,其典型代表
是ER模型。
结构模型用于描述数据库的逻辑结构,与DBMS有关。
这种模型是从计算机的观点对数据建模。
它是现实世界的第二层抽象,是数据库设计人员和应用程序员之间进行交流的工具。
其典型代表是层次、网状、关系和面向对象模型。
22.答:
元组表达式的值为:
AF
11
12
13
42
43
域表达式的值为:
ABC
456
789
23.答:
查询语句为:
检索至少不选修编号为C2和C4课程的学生学号。
关系代数表达式为:
ns#(S)—nS#(cC#='C2'VC#='C4'(S?
SQ)
(注意:
此处,“不选修C2和C4课程”的对立面是“选修C2或C4课程”)
24.答:
SQL嵌入式DML语句在下列情况不必涉及游标操作:
1INSERTDELETEDUPDATED句;
2对于SELECTS句,如果已知查询结果肯定是单元组值时。
25.答:
从已知DIB可知ADHAB再据已知A4C和推理规则可推出ADHABCD所以(AD)+=ABCD。
从AD的闭包为ABCD可知所有左部为AD的FD有24,即卩16个。
26.答:
在生成的关系模式的关系中出现冗余和异常现象。
例如部门与职工之间联系是1:
N,若在部门模式中加入职工信息,那么部门模式将是如下形式:
DEPT(D#,DNAM,EE#)
如果一个部门有20个职工,那么关系中就要出现20个元组,即该部门的部门名(DNAM)就要重复20次,这就是冗余。
在部门名修改时,稍不谨慎,就会产生数据不一致现象。
27.答:
有可能存在一个事务序列,其中每个事务都申请对某数据项加S锁,且每个事务在授权加锁后一小段时内释放封锁,此时若另有一个事务T1欲在该数据项上加X锁,则将永远轮不上封锁的机会。
这种现象称为“饿死”(starvation)。
可以用下列方式授权加锁来避免事务饿死。
当事务T2中请对数据项Q加S锁时,授权加锁的条件是:
1不存在在数据项Q上持有X锁的其他事务;
2不存在等待对数据项Q加锁且先于T2申请加锁的事务。
28.答:
与传统的关系模型相比,对象关系模型有下列扩充:
(1)在定义语言上有三个扩充:
•数据类型的扩充(引入复合类型);
•在类型一级和表一级实现继承性;
•使用“引用类型”。
(2)在查询语言方面,用户需记住属性值是单值还是多值。
在多值时,需定义新的元组变量。
29.答:
为了减轻集中式系统主机的负担,才产生了两层式C/S结构。
两层C/S结构实现了功能的分布,但还不均衡。
为了减轻客户端的负担,引入了三层C/S结构。
三层结构的思路是使客户机变“瘦”,服务器品种繁多。
为了适应企业业务环境的变化速度,以及新的技术、新的应用。
将应用逻辑集中到中间层,实现了多层结构的C/S(即B/S)。
30.答:
这种分层的模式结构为理解DDB提供了一种通用的概念结构。
它有三个显著的特征:
(1)数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。
(2)数据冗余的显式控制。
数据在各个场地的分配情况在分配模式中一目了然,便于系统管理。
(3)局部DBMS的独立性。
这个特征也称为“局部映射透明性”。
此特征允许我们在不考虑局部DBM炙用数据模型的情况下,研究DDB管理的有关问题。
4.设计题答案
31.解:
关系代数表达式为:
nG#GNAME((TSNAME=莘庄'(STOR?
ESG?
GOOD)S)
元组表达式为:
{t1(u)(v)(w)(GOODS(u)人SG(v)ASTOR(w)
Au[1]=v[2]Av[1]=w[1]Aw[2]='莘庄'At[1]=u[1]At[2]=u[2])}
关系逻辑规则如下:
W(x,y)GOOD$x,y,a)ASG(b,x,c)ASTOR(b,'莘庄',d)
SELECTS句为:
SELECTA.G#,GNAME
FROMGOODSASA,SGASB,STOREASC
WHEREA.G#=B.G#ANDB.S#=C.S#ANDSNAME='莘庄';32.解:
关系代数表达式为:
nS#,SNAME(STORE(ns#g#(SG*ng#(GOODS))元组表达式为:
{t|(u)(v)(w)(STORE(u)AGOOD(Sv)ASG(w)Aw[1]=u[1]Aw[2]=v[1]At[1]=u[1]At[2]=u[2])}关系逻辑规则如下:
W(x,y)—STORE(x,y,a)AnGOODSb,c,d)AnSG(x,b,e)SELECTS句为:
SELECTS#,SNAME
FROMSTORE
WHERENOTEXISTS
(SELECT*
FROMGOODSWHERENOTEXISTS
(SELECT*
FROMSG
WHERESG.S#=STORE.S#
ANDSG.G#=GOODS.)G#);
33.解:
SELECTS句为:
SELECTS#,SUM(QUANTITY*PRIC)EASSUM_VALUE
FROMSG,GOODS
WHERESG.G#=GOODS.G#
GROUPBYS#;
34.解:
CREATEASSERTIONASSE6CHECK
(20>=ALL(SELECTCOUN(TSG.G#)
FROMSG,GOODS
WHERESG.G#=GOODS.G#ANDPRICE>10000
GROUPBYS#));
35.解:
(1)CREATETYPEMyStringcharvarying;
CREATETABLEuniversity(unameMyString,cityMyString,staffsetof(ref(student)));
CREATETABLEstudent(snoMyString,snameMystring,cityMyString,languagessetof(MyString),
studyref(university));
(2)SELECTA.unameA.city,B.sno,B.sname
FROMuniversityasA,A.staffasB
WHEREA.city=B.city;
也可以用另一种写法:
SELECTB.study.uname,B.study.city,B.sno,B.sname
FROMstudentasB
WHEREB.study.city=B.city;
5.综合题答案
36.解:
⑴R的基本FD有三个:
(职工名,项目名)工资
项目名部门名
部门名部门经理
关键码为(职工名,项目名)。
⑵根据⑴,R中存在下列两个FD:
(职工名,项目名)(部门名,部门经理)
项目名(部门名,部门经理)
其中前一个FD是一个局部依赖,因此R不是2NF模式。
R应分解成两个模式:
R1(项目名,部门名,部门经理)
R2(职工名,项-目名一,工资)
R1和R2都是2NF模式。
⑶R2已是3NF模式。
在R1中,由于存在两个FD:
项目名部门名
部门名部门经理
即存在一个传递依赖,因此R1不是3NF模式。
对R1应分解成两个模式:
R11(项目名,部门名),R12(部门名,部门经
理)。
这两个模式都是3NF模式。
因此,R分解成3NF模式集时,p={R11,R12,R2}。
37.解:
(1)ER图如图9所示
图9
(2)转换成的关系模型应具有4个关系模式:
教师(工号,姓名,职称)
学生(学号,姓名,性别,年龄,教师工号)
课程(课程号,课程名称,教师工号)
选课(学号,课程号,成绩)
(3)图9的ER图的对象联系图如图10所示。
三个实体类型转换成三个对象类型,一个M:
N联系类型转换成一个对象类型。
因此对象联系图中共有四个对象类型,如图10所示。
图中未标出基本数据类型属性,具体如下:
教师(工号,姓名,职称)
学生(学号,姓名,性别,年龄)
课程(课程号,课程名称,教材)
(4)图9的ER图的UMI类图如图11所示。
图中,三个实体类型转换成三个
类,一个M:
N联系类型转换成一个关联类
教师
-工号
1
姓名
1
职称
*
课程
学生
】田千口i=r.课程号
学号
课程名称-
姓名
教材
1
*■*
1
1
性别
1
■
1
年龄
图11
38.解:
(1)ER图如图12所示
Dept
图12
(2)转换成的关系模型应具有4个关系模式:
Dept(dno,dname)
Course(eno,cname,teacher,dno)Student(sno,snamedno)
SC(sno,eno,grade)
39.
(1)图12的ER图的对象联系图如图13所示。
三个实体类型转换成三个对象类型,一个M:
N联系类型转换成一个对象类型。
因此对象联系图中共有四个对象类型,如图13所示。
图中未标出基本数据类型属性,具体如下:
Dept(dno,dname)
Course(eno,cname,teacher)
Student(sno,sname
SC(grade)
图13
Course
eno
Dept
.dno
1
dname
1
*
*
Student
sno
ename
teacher
sname
(2)图12的ER图的UMl类图如图14所示。
图中,三个实体类型转换成三个类,一个M:
N联系类型转换成一个关联类。
图14