数据库复习资料

一、单选

1.有一名为“列车运营”的实体,含有:车次、日期、发车时间、抵达时间、情况摘要等属性,该实体的主码应该是( C )。

A.车次 B.日期+情况摘要 C.车次+日期 D.车次+情况摘要

2.在两个实体类型间有一个M:N的联系时,这个结构转换成的关系模式有( B)个。

A.2 B.3 C.4 D.不确定

3.在关系数据库设计理论中,起着核心作用的是( A )。

A.数据依赖 B.范式 C.内涵 D.模式设计

4.关系规范化中的删除异常是指( C )。

A. 应该删除的数据未被删除 B.应该插入的数据未被插入

C.不该删除的数据被删除 D.不该插入的数据被插入

5.下列SQL语句中,修改表结构的是( A )。

A.ALTER B.CREATE C.UPDATE D.DROP

6.关系模型的完整性规则不包括( D )。

A.实体完整性 B.用户定义的完整性规则 C.参照完整性 D.数据操作性规则

7.设计性能较优的关系模式称为规范化,规范化主要的理论依据是( D )。

A.数理逻辑 B.关系运算理论 C.关系代数理论 D.关系规范化理论

8.在DBS中,DBMS和OS之间的关系是( A

A.DBMS调用OS B.并发运行 C.相互调用 D.OS调用

DBMS

DBMS:数据库管理系统;OS:操作系统

9.对现实世界进行第一层抽象的数据模型是( C )。

A.外模型 B.面向对象模型 C.实体联系模型 D.结构数据模型

10.进行自然联接运算的两个关系必须具有( D )。

A.相同的属性个数 B.相同关键字 C.相同关系名 D.公共属性

11.在数据库设计的需求分析阶段,一般采用( B )表示业务流程分析的结果。

A. 程序结构图 B.数据流图 C. E-R图 D.程序框图

12.在关系模式R(ABC)上成立的函数依赖F=(A→C,C→B),则属性集C的闭包C+为( D )。

A.AB B. ABC C.AC D.BC

13.在概念设计和逻辑设计之间起桥梁作用的是( B )。

A. 程序流程图 B. ERC. DFD D.业务流程图

14.SQL语言中,条件“年龄BETWEEN 20 AND 30”表示年龄在20至30之间,且( A )。

A.包括20岁和30岁 B.包括30岁和但不包括20岁

C.包括20岁和但不包括30岁 D.不包括20岁和30岁

15.在并发事务被执行时,系统应保证与这些事务先后单独执行时的结果一样,这是事务的( B )。

A.持久性 B.隔离性 C.一致性 D.原子性

16.储蓄所有多个储户,储户在多个储蓄所存取款,储蓄所与储户之间是( D )联系。

A. 1:1 B. 1:n C. 不确定 D. m:n

17.DBS具有数据独立性特点,是因为采用了( C )。

A.实体联系模型 B.5个层次的物理存储介质

C.三级模式结构 D.在操作系统支持下工作的方式

DBS:数据库系统

18.如果X→Y和Y→Z成立,那么X→Z成立,这条规则称为( B )。

A.增广律 B.传递律 C.伪传递律 D.自反律

二、名词解释:

1.两段锁协议

即每个事务分成两个阶段,第一阶段是申请和获得封锁,也称为扩展阶段。在这阶段.事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放到锁.也称为收缩阶段。在这阶段,事务可以释放任何数据项上的任何类型的锁。但是不能再申请任何锁。

2.函数依赖

在关系模式R(U)中,X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组tl、t2,当tl[X]=t2[X]有tl[Y]=t2[Y],那么称Y函数依赖于X

3.数据独立性

应用程序和数据结构之间相互独立互不影响。

4.完整性规则

若属性A是基本关系R的主属性,则属性A不能取空值。

5.三级封锁协议

一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。

6.触发器

用户定义在关系表上的一类由事件驱动的特殊过程

7.数据模型

现实世界数据特征的抽象

8.事务

事务是由一条或多条操作数据库的SQL语句组成的一个不可分割的工作单元

三、简答

1、请描述E-R图向关系模型转换的原则。

(1)一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。(2)一对一联系。转换时选择一个合适的实体,在其中加入另一个实体的码。(3)一对多联系。转换时在“多”的那端实体中加入“一”的那端实体的码(4)一个n:m的联系转换为一个关系。联系中各实体关键字的组合组成关系的关键字(组合关键字)。(5)具有相同关键字的关系可以合并。

2、设关系模式R(ABC), F是R上成立的FD集,F=(A→B,B→C)。

(1).试说明R不是3NF的理由。

候选码是A;由A->B,B->C可得到A->C存在着传递函数依赖,因此不是第三范式。

(2).试分析模式R的数据冗余问题。

B属性重复

(3).将R分解为3NF模式集。

消除传递函数依赖。

R1(A,B) R2(B,C)

3、规范化理论对数据库设计有什么指导意义?

为了一步提高数据库应用系统的性能,还应努力减少关系模式中存在的各种异常,改善完整性、一致性和存储效率。

4、设有关系模式R(ABCDE),F是R上成立的FD集,F=(ABC→DE,BC→D,D→E),问R达到了几范式?并说明理由。

候选码是ABC;

R是第一范式因为存在非主属性D依赖于BC。

5.设关系模式R(ABCD), F是R上成立的FD集,F=(AB→C,AB→D, B→C)。

(1)试说明R不是2NF的理由。

候选码为AB;

存在非主属性C依赖于B。

(2)试分析模式R的数据冗余问题。

AB属性重复

(3)将R分解为2NF模式集。

R1(B,C) R2(A,B,D)

6.什么是ER图?构成ER图的要素是什么?并简述采用ER方法的数据库概念结构设计的过程。

ER图是用来表示数据库概念设计ER模型的工具,它提供了表示实体、属性和联系的方法。构成ER图的基本要素是实体、属性和联系。利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局ER模式,最后对全局ER模式进行优化,得到最终的ER模式,即概念模式。

7.简述事务的概念,并简要回答事务具有哪些特征。

事务是由一条或多条操作数据库的SQL语句组成的一个不可分割的工作单元。特征:原子性、一致性、隔离性、持久性

8.在数据库系统中采用了三级封锁协议来保证并发操作中数据的一致性,请回答三级封锁协议的内容是什么?

事务在修改数据之前,必须先对该数据加X锁,直到事务结束时才释放,但其他事务再读数据之前必须先加S锁,直到事务结束时才释放S锁。

9.简述DBMS的主要功能。

DBMS的主要功能有:(1)数据库的定义功能(2)数据库的操纵功能(3)数据库的保护功能(4)数据库的存储管理(5)数据库的维护功能(6)数据字典

10.为什么关系中不允许有重复的元组?

每个关系模式都有一个主键,在关系中,主键值是不允许重复的。如果关系中有重复元组,那么主键值肯定相等,起不到唯一标识作用。

11.请写出3NF的定义。当一个关系模式不是3NF时,会出现什么问题?试举例说明。

满足2NF且不存在非主属性对关键字的传递依赖现象。

例如在关系模式(学号,姓名,系别,系主任)中,存在学号->系主任,会导致系别和系主任的数据不能单独存放,如果更换系主任,需改变较多学生记录,造成更新异常的问题。

12.设有关系模式R(A,B,C,D,E),F是R上成立的函数依赖集,F=(AB→C,BC→A,AC→B,D→E) ,试写出R的候选键,并说明理由。

候选键:ABD

BCD

ACD

13. 设R=ABCD,R上的FD集F={A→B,B→C, D→B},试将R分解成3NF模式集。

R1(A,B,D) R2(B,C)

14.如果数据库系统对事务的并发操作不加控制,可能带来哪些后果?

丢失更新:不一致分析;读“脏数据”。

15.请简要回答关系模型的完整性规则包括哪些内容。

在关系数据模型中一般将数据完整性为实体完整性、参照完整性和用户定义完整性。

16.说明视图与基本表的区别和联系。

视图是从一个或几个基本表导出的表,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中。所以,基本表中的数据发生变化,从视图中查询出的数据也就随之改变了。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制。

17.简述数据库安全性控制的常用方法

数据库系统安全性控制的常用技术方法有:(1)用户标识和鉴别;(2)存取控制;(3)视图机制;(4)审计;(5)数据加密。

四、设计题

1.试设计图书销售数据库,该系统中有实体集“出版社”,其属性分别为出版社名.地址;实体集“图书”,其属性分别为书号,书名.作者.单价;实体集“书店”,其属性分别为书店编号.书店名.经理.地址。

一个出版社可以出版多种图书,同一图书只能在一个出版社出版,出版社与图书间的出版联系应反映印数和出版时间;一个书店可以销售多种图书,一种图书可以在多个书店销售,书店与图书间的销售联系应反映销售量。

  1. 根据上述语义画出ER图,在ER图中需注明实体的属性.联系的类型及实体的标识符。
  2. 将ER模型转换为关系模型,并指出每个关系模式的主键和外键。

2.某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号,厂名,地址,产品的属性有产品编号,产品名,规格,职工的属性有职工号,姓名。

(1)根据上述语义画出ER图,在ER图中需注明实体的属性.联系的类型及实体的标识符。

(2)将ER模型转换为关系模型,并指出每个关系模式的主键和外键。

五、综合题

1.某汽车运输公司数据库中有一个记录司机运输里程的关系模式:

R(司机编号A,汽车牌照B,行驶公里C,车队编号D,车队主管E)

此处每个汽车牌照对应一辆汽车,“行驶公里”为某司机驾驶某辆汽车行驶的总公里数,如果规定每个司机属于一个车队,每个车队只有一个主管。

  1. 试写出关系模式R的基本FD的关键码。

FD=(AB->C,A->D,D->E)

候选码:AB

  1. 说明R不是2NF模式的理由,并指出数据冗余之所在。试把R分解成2NF模式集。

非主属性有C,D,E;有A->D,存在部分依赖。

R1(A,D,E)

R2(A,B,C)

  1. 进而把R分解为3NF模式集,并说明理由。

R1(A,B,C);

R2(A,D)

R3(D,E)

2. 设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。

如果规定:每个职工每天只有一个营业额,每个职工只在一个部门工作,每个部门只有一个经理。回答下列问题:

(1)、按上述规定,写出R的基本FD和侯选码。

解:(1)基本的FD有三个:(职工编号,日期)→日营业额

职工编号部门名

部门名部门经理

R的候选码为:(职工编号,日期)。

(2)、说明R不是2NF的理由,并把R分解为2NF模式集。

R的主码为(职工编号,日期),部门名部分依赖于职工编号

所以R不是2NF模式。R应分解Rl(职工编号,部门名,部门经理)

R2(职工编号,日期,日营业额)

(3)进而分解为3NF模式集。

R2(职工编号,部门名)

R1(职工编号,日期,日营业额)

R3(部门名,部门经理)

3.设某商业集团数据库中有一关系模式R如下:

R(商店编号,商品编号,数量,部门编号,负责人)

如果规定:每个商店的每种商品只在一个部门销售;每个商店的每个部门只有一个负责人;每个商店的每种商品只有一个库存数量。回答下列问题:

  1. 写出关系模式R的基本FD和侯选码。

FD=(商店编号,商品编号->部门编号;

商店编号,部门编号->负责人;

商店编号,商品编号->数量)

候选码:商店编号,商品编号,部门编号

  1. 关系模式R最高达到第几范式?为什么?

第一范式,因为存在非主属性部门编号部分依赖于商店编号,商品编号,部门编号。

  1. 如果R不属于3NF,请将R分解为3NF模式集。

R1(商品编号,商店编号,部门编号,数量 );

R2(商店编号,部门编号,负责人)

4.有如下关系模式:

S(SNO,SN,SS,SA,BZ) —分别表示学生的学号,姓名,性别,年龄和备注,SNO为主键

SC(SNO,CNO,G,BZ)–分别表示学生的学号,课程号,成绩和备注,(SNO,CNO)为主键

C(CNO,CN,CC,CP,CBS,DJ)–分别表示课程的课程号,课程名,学分、先行课、出版社和备注,CNO为主键

完成如下任务:

  1. 书写关系代数表达式:查询成绩小于77分的学生的学号、姓名和年龄。

SELECT SNO,SN,SA FORM S WHLIE SNO IN (SELECT SNO FROM SC WHLIE G<77)

  1. 用SQL语句实现:查询没有选修《操作系统》课程的学生的姓名。

SELECT SN FROM S WHLIE SNO NOT IN (SELECT CNO FORM SC WHILE CNO IN (SELECT CN FROM C WHILE CN=’ 操作系统’))

(3)用SQL语句实现:统计每位学生的平均成绩,并显示平均成绩大于90分的分组。

SELECT AVG(G) AS A FROM SC

GROUP BY SNO

HAVING A>90