1、在数据库系统的三级模式结构中,用来描述数据的全局逻辑结构的是()
(1)子模式 (2)用户模式(3)模式(4)存储模式
2、在下列实体类型的联系中,一对多联系的是(2)
(1)学校与课程的学习联系 (2)父亲与孩子的父子关系 (3)省与省会的关系(4)顾客与商品的购买关系
3、在关系模型中,实现关系中不允许出现相同的元组的约束是通过(2)
(1)侯选键 (2)主键(3)外键 (4)超键
4、下列哪种运算不属于关系代数的基本运算(1)
(1)连接 (2)笛卡尔积 (3) 相减 (4) 投影
5、在SQL中,可以用谓词EXISTS来测试一个集合中是否(4)
(1)有相同元组存在 (2)为空集合(3) 有相同分量存在 (4) 为非空集合
6、设有关系r如图所示,则该关系最高为哪一级范式(3)
A B C D (1) 1NF (2)2NF (3)3NF (4)BCNF
A1 b1 c1 d2
A1 b2 c2 d4
A2 b1 c2 d1
A1 b3 c1 d4
7、设已经F={C->A,CG->D,CG->B,CE->A,ACD->B},从中去掉哪些函数依赖关系后得到的新的函数依赖集合F1与F等价的是(4)
(1)C->A和CG->B (2) C->A 和ACD->B (3)CE->A 和ACD->B (4)CE->A和CG->B
8、ER图是一种直观表示何种模型的工具(3)
(1)结构数据模型(2)关系数据模型 (3) 概念数据模型 (4)层次和网状模型
9、约束”年龄在18—30岁之间”属于DBMS的哪种功能(2) (1)安全性(2)完整性(3)并发控制(4)恢复
10、在对象联系图中,双线箭头表示对象间的(3)
(1)函数值为多值 (2)属性值为多值 (3)泛化/细化联系(4)对象之间包含联系
二、判断题(每题2分,共10分)
1、对一个客观事物,可以用多种数据模型来描述(对)
2、设R、S是任意两个同类关系,U是R的关系框架中所有属性的集合,属性集A
3、数据库事务的原子性是指事物在执行过程中不能出现中断。(错)
4、对关系模式来说,范式级别越高,实际应用效果越好。(错)
5、在OROB中,超表中的每个元组最多可以与每个子表中的一个元组相对应。(对)
三、填空题(每题2分,共20分)
1.数据库系统是实现有组织地、动态地存储大量()数据,支持多用户访问的计算机软件、()和数据资源组成的系统。
2.关系模型的主要特征是用()结构表达实体集,用()表示实体间联系。
3.如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能:(),()。
4.关系演算是基于(谓词演算)的关系运算。
5.在字符串的匹配操作中,通配符()表示与零个或多个字符组成的字符串匹配。
6、F逻辑蕴涵的函数依赖的全体构成的集合,称为()记为
(F+)
7、数据库设计过程的输入包括四部分内容:总体信息需求、处理需求、()、硬件和OS特征。
8、数据库系统可能发生的故障有:(事务故障)、系统故障和介质故障。
9、分布式查询处理的时间主要取决于(网络中数据传输量)。
10、“setof(ref(emp))”表示一组emp对象的(对象标识符)。 四简答题(共20分)
1.数据库阶段的数据管理有些什么特点(5分) 答:采用复杂的数据模型表示数据结构(1分)具有较高的数据和程序的性(1分)系统为用户提供方便的用户接口(1分)系统提供统一的数据控制功能(安全性、完整性、并发控制和恢复)数据的最小存储单位是数据项(1分)
2.规范化理论对数据库设计有什么指导意义?(5分)
答:具体地讲,以下几个方面起着重要作用:(1)在需求分析,用数据依赖的概念来分析和表示各个数据项之间的联系(2分)(2)在概念设计阶段,以规范化理论为工具来构造实体类型和联系类型,设计ER模型并对其进行优化(2分)(3)在逻辑设计阶段,使用规范化理论来设计模式和评价模式(1分)
3、”串行调度”和”可串行化调度”有何区别(4分)
答 :事务的执行次序称为调度(1分)。如果多个事务依次执行,则称为事务的串行调度,如果利用分时的方法,同时处理多个事务称为事务的并发调度(1分)。如果一个并发调度的结果与某一个串
行调度执行结果等价,那么这个并发调度称为可串化调度(2分)
4、分布式DBS中,DBMS的功能如何划分?有哪两种方法?(6分)
答:在分布式DBS中,把DBMS的功能划分成客户机和服务器两级
(2分)。有下面两种方法:(1)集中式DBMS的功能放在服务器一
级,称为SQL服务器(2分)(2)基于面向对象方法,把DBMS的软件功
能以更加集成的方式划分到客户机和服务器中(2分)
五.综合题(30分)
1.设有关系数据:
PART(PART_NO,PART_NAME)
PROJECT(PROJECT_NO,PROJECT_NAME)
SUPPLIER(SUPPLIER_NO,SUPPLIER_NAME,CITY)
SUPPLY(PART_NO,PROJECT_NO,SUPPLIER_NO,QUANTITY)
其中PART,PROJECT,SUPPLIER,SUPPLY分别表示零部件、工程、供
货商和供货四个关系,关系中各属性的含义是:PART_NO(工程编号,
主键);PART_NAME(零件名称);PROJECT_NO(工程编号,主键);
PROJECT_NAME(工程名称);SUPPLIER_NO(供货商编号,主键);
SUPPLIE_NAME(供货商名称);CITY(供货商所在城市);QUANTITY(供
货量) (20分)
(1)用关系代数表达式表示如下询问:
找出使用了长沙的供货商所供零部件的所有工程的名称。
答:
(2)用元组演算表达式表示如下询问:
找出为98001工程供货的所有供货商的编号及其供货的零件编号。
答:{x[SUPPLIER_NO,PART_NO] |
êy(SUPPLY(Y)^y[PROJECT_NO]=98001^Y[SUPPLIER_NO]=X[SUPPER_NO]^Y[PART_NO (3)用SQL语言表示(1)中的询问
答: (4)用SQL语言表示(2)中的询问
2.设有关系r[R]如下:(10分)
A B C D
A1 B1 C1 D1
A1 B2 C1 D1
A1 B3 C2 D1
A2 B1 C1 D1
A2 B2 C3 D2
(1)找出其上的所有侯选键
答:侯选键 为AB(2分) (2)关系r最高为哪一级范式
答:2NF(2分)
(3)将其无损分解为若干个3NF的关系
答:分解结果关系如下:(每个关系3分)
A B C
A1 B1 C1
A1 B2 C1
A1 B3 C2
A2 B1 C1
A2 B2 C3
C D
C1 D1
C2 D1
C3 D2
2003-2004学年第二学期期末考试2001级《数据库系统概论》试题A 一、选择题(20分,每小题2分)
1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据性最高的是__A__阶段。
A.数据库系统 B.文件系统
C.人工管理 D.数据项管理
2.对关系模型叙述错误的是_D___。
A.建立在严格的数学理论、集合论和谓词演算公式的基础之上B.微机DBMS绝大部分采取关系数据模型
C.用二维表表示关系模型是其一大特点
D.不具有连接操作的DBMS也可以是关系数据库系统
3.关系运算中花费时间可能最长的运算是__C__。
A.投影 B.选择 C.笛卡尔积 D.除
4.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C #,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系
___D_。
A.S B.SC,C C.S,SC D.S,C,SC
5. FoxBASE、FoxPro属于________。
A.表式系统 B.最小关系系统
C.关系完备的系统 D.全关系系统
6.关系规范化中的删除操作异常是指___A_____。
A.不该删除的数据被删除 B.不该插入的数据被插入
C.应该删除的数据未被删除 D.应该插入的数据未被插入7.在关系数据库设计中,设计关系模式是__C__的任务。
A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段
8.从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的码是_C___。
A.M端实体的码 B.N端实体的码
C.M端实体码与N端实体码组合 D.重新选取其他属性
9.下面哪个不是数据库系统必须提供的数据控制功能__B__。
A.安全性 B.可移植性 C.完整性 D.并发控制
10.设有两个事务T1、T2,其并发操作如图1所示,下面评价正确的是____。
A该操作不存在问题 B.该操作丢失修改
C.修改该操作不能重复读 D.该操作读“脏”数据 T1 T2
①读A=10,B=5
②读A=10
A=A*2写回
③读A=20,B=5
求和25验证错
图1 事务并发操作图
二、填空题(20分,每小空2分):
1.①是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。2.若事务T对数据对象A加了S锁,则其他事务只能对数据A再加②,不能加③,直到事务 T释放 A上的锁。
3.关系操作的特点是④操作。
4.关系代数中,从两个关系中找出相同元组的运算称为⑤交运算。5.在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的函数依赖和⑥。
6.SQL语言的数据定义功能包括⑦、⑧、⑨和⑩。
三、简答题(15分,每小题5分):1.使用数据库系统有什么好处?
2.叙述数据字典的主要任务和作用?
3.简要叙述关系数据库的优点?
四、1.某医院病房计算机管理中需要如下信息:(10分)
科室:科名,科地址,科电话,医生姓名
病房:病房号,床位号,所属科室名
医生:姓名,职称,所属科室名,年龄,工作证号
病人:病历号,姓名,性别,诊断,主管医生,病房号
其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
完成如下设计:
(1)设计该计算机管理系统的E-R图;(5分)
(2)将该E-R图转换为关系模型结构;(3分)
(3)指出转换结果中每个关系模式的候选码。(2分)
综合题(45分): 2.设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。(15分,每小题5分)
S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男')
SC(S#,C#,SCORE) 例:(003,'C1',83)
C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王
华')
(1)用关系代数检索选修课程号(C#)为C1和C2的学生学号(S#)。
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。
(3)用SQL找出选修了“程军”老师教的所有课程的学生姓名。3.设有关系模式R(U,F),其中: (10分)
U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E}
求F的最小依赖集。
4.设有关系R和函数依赖F:(10分)
R(W,X,Y,Z),F = { X→Z,WX→Y }。
试求下列问题:
(1)关系R属于第几范式?(5分)
(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)
要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。试题答案
一、选择题(20分,每小题2分):
1.A 2.D 3.C 4.D 5.B 6.A 7.C 8.C 9.B 10.C 二、填空题(20分,每小空2分):
1.①事务2.②S锁 ③X锁3.④集合4.⑤交5.⑥无损连接6.⑦定义数据库 ⑧定义基本表 ⑨定义视图 ⑩定义索引三、简答题(15分,每小题5分):
1.使用数据库系统有什么好处?
答:使用数据库系统的好处是:
·查询迅速、准确,而且可以节约大量纸面文件;
·数据结构化,并由DBMS统一管理;
·数据冗余度小:
·具有较高的数据性;
·数据的共享性好;
·DBMS还提供了数据的控制功能。
2.叙述数据字典的主要任务和作用?
答:数据字典的任务就是管理有关数据的信息,所以又称为“数据库的数据库”。它的任务主要有:
(1)描述数据库系统的所有对象,并确定其属性。如一个模式中包含的记录型与一个记录型包含的数据项;用户的标识、口令;物理文件名称、物理位置及其文件组织方式等。数据字典在描述时赋给每个对象一个惟一的标识。
(2)描述数据库系统对象之间的各种交叉联系。如哪个用户使用哪个子模式,哪些模式或记录型分配在哪些区域及对应于哪些物理文件、存储在何种物理设备上。
(3)登记所有对象的完整性及安全性等。
(4)对数据字典本身的维护、保护、查询与输出。
数据字典的主要作用是:
(1)供数据库管理系统快速查找有关对象的信息。数据库管理系统在处理用户存取时,要经常查阅数据字典中的用户表、子模式表和模式表等。
(2)供数据库管理员查询,以掌握整个系统的运行情况。
(3)支持数据库设计与系统分析。
3.简要叙述关系数据库的优点?
答:关系数据库是以关系模型作为数据的组织方式,关系模型是建立在严格的数学概念基础上的,关系数据库的主要优点是概念简单清晰,用户不需了解复杂的存取路径,不需说明“怎么干”,只需说
明“干什么”,易懂易学。四、综合题(45分):
解:(1)本题的E-R图如图2所示。
(2)对应的关系模型结构如下:
科室(科名,科地址,科电话)
病房(病房号,床位号,科室名)
医生(工作证号,姓名,职称,科室名,年龄)
病人(病历号,姓名,性别,诊治,主管医生,病房号)
(3)每个关系模式的候选码如下:
科室的候选码是科名;
病房的候选码是科室名十病房号;
医生的候选码是工作证号;
病人的候选码是病历号。
图2 E-R图2.(1)用关系代数检索选修课程号(C#)为C1和C2的学生学号(ΠS#,C#(SC)ΠC#(σC#=’C1’ C#=’C2’(C))-σC#’C1’ C# ’C2’(ΠS#,C#(SC)ΠC#(σC#=’C1’ C#
(C)))
=’C2’
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。
{T(1)|(U)(V)(W)
(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。
{T(1)| (V)(W)( SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]='程
军')}
(3)用SQL找出选修了“程军”老师教的所有课程的学生姓名。SELECT S.SNAME
FROM S
WHERE NOT EXISTS
(
SELECT *
FROM CWHERE C.TEACHER='程军' AND NOT EXISTS
(
SELECT *
FROM SC
WHERE SC.C#=C.C# AND SC.S#=S.S#
)
)
本题解释:
SELECT *
FROM C
WHERE C.TEACHER='程军' AND EXISTS
(
SELECT *
FROM SC
WHERE SC.C#=C.C#
)
这条SQL是查询'程军'所授的所有课程,外层查询中C.C#作为变量在内层查询中被使用,外层教师'程军'所授课程的课程号C#给内层,内层根据该课程号C#在SC中查询是否存在这样的课程号,即程军所授的课程,如果存在则括号中的记录集不空,EXISTS条件为TRUE。因此,执行结果是显示程军所授的所有课程。
SELECT *
FROM C
WHERE C.TEACHER='程军' AND NOT EXISTS
(
SELECT *
FROM SC
WHERE SC.C#=C.C#
)这条SQL语句在刚才语句的EXISTS前加了NOT,变成当内层查询全部是'程军'所授课程时NOT EXISTS条件为假。SELECT S.SNAME FROM S
WHERE NOT EXISTS (SELECT *
FROM C
WHERE C.TEACHER='程军' AND NOT EXISTS
(
SELECT *
FROM SCWHERE SC.C#=C.C# AND SC.S#=S.S#
)
这条是完整的语句,比上面一条语句多了一个AND SC.S#=S.S#表示某
个学生的学号,加上最外层的NOT EXISTS的整个语句的含义是,对该
某个学生,如果最内层查询中查询结果全部是‘程军’所授课程时,
条件C.CNAME='程军' AND NOT EXISTS为FALSE,所以SELECT * FROM
C的查询结果为空(第二层),这时最外层的NOT EXISTS为TRUE,最
外层查找成功,该学生是选修了‘程军’所授全部课程的。
3
⑴ 将F中右部属性单一化: (2分)
F1= {E→G,G→E,F→E,F→G,H→E,H→G,FH→E}
⑵ 去掉左部冗余的属性。对于FH→E,由于有F→E,则为多余的。
F2= {E→G,G→E,F→E,F→G,H→E,H→G} (2分)
⑶ 去掉冗余的函数依赖。F2中的F→E和F→G,以及H→E,H→G之一
是冗余的,则: F3= {E→G,G→E,F→G,H→G} (6分)
4
解:R是1NF。侯选码为WX,则Y,Z为非主属性,又由于X→Z,因此F
中存在非主属性对侯选码的部分函数依赖。
W
XY
Y
ZY
将关系分解为:
R1(W,X,Y),F1 = { WX→Y }
R2(X,Z),F2 = { X→Z }
消除了非主属性对码的部分函数依赖。
F1和F2中的函数依赖都是非平凡的,并且决定因素是候选码,所以上
述关系模式是BCNF。下载本文