数据库微课版第四版(陈志泊) 课后习题答案

本篇为综合多个版本答案结合的,如有错误,请及时提出,谢谢

第一章 数据库系统

一、选择题

1、数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)之间的关系是()

A)DB包含DBS和DBMS  B)DBMS包含DB和DBS
C)DBS包含DB和DBMS D)没有任何关系

2、数据库系统的核心软件是()

A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员

3、数据独立性是数据库技术的重要特点之一。所谓数据独立性是指()

A)数据与程序独立存放
 B)不同的数据被存放在不同的文件中
 C)不同的数据只能被对应的应用程序所使用
D)以上三种说法都不对

4、用树形结构表示实体之间联系的模型是()

A)关系模型 B)网状模型 C)层次模型 D)以上三种都是

5、“商品”与“顾客”两个实体集之间联系一般是()

A)一对一 B)一对多 C)多对一 D)多对多

6、下列关于数据库的正确叙述是()

A)数据库中只存在数据项之间的联系
B)数据库的数据项之间和记录之间都存在联系
 C)数据库的数据项之间无联系,记录之间存在联系
 D)数据库的数据项之间和记录之间都不存在联系

7、在数据库管理系统提供的数据语言中,负责数据的模式定义与数据的物理存取构建的是()

A)数据定义语言 B)数据转换语言 C)数据操纵语言 D)数据控制语言

8、数据库系统的三级模式结构中,下列不属于三级模式的是()

A)内模式 B)抽象模式 C)外模式 D)模式

9、在数据库管理系统提供的语言中,负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能的是()

A)数据定义语言 B)数据转换语言 C)数据操纵语言 D)数据控制语言

10、下面关于数据系统叙述正确的是()

A)数据库系统避免了一切冗余
B)数据库系统减少了数据冗余
 C)数据库系统比文件系统能管理更多的数据
 D)数据库系统中数据的一致性是指数据类型的一致

11、下列叙述中,错误的是()

A)数据库技术的根本目标是要解决数据共享的问题
 B)数据库设计是指设计一个能满足用户的要求,性能良好的数据库
C)数据库系统中,数据的物理结构必须与逻辑结构一致
 D)数据库系统是一个独立的系统,但是需要操作系统的支持

12、在数据库管理系统提供的数据语言中,负责数据的查询及增、删、改等操作的是()

A)数据定义语言 B)数据转换语言 C)数据控制语言 D)数据操纵语言

13、下列有关数据库的描述,正确的是()

A)数据库是一个结构化的数据集合
 B)数据库是一个关系
 C)数据库是一个DBF文件
 D)数据库是一组文件

14、在数据库的三级模式结构中,模式数据库中全体数据的全局逻辑结构和特征的是()

A)外模式 B)内模式 C)存储模式 D)模式

15、()是存储在计算机内有结构的数据的集合。

A)数据库系统 B)数据库 C)数据库管理系统 D)数据结构

16、()是位于用户与操作系统之间的一层数据管理软件。

A)数据库系统 B)数据库应用软件 C)数据库管理系统 D)数据库

17、数据库系统的三级模式中,表达物理数据库的是()

A)外模式 B)模式 C)用户模式 D)内模式

18、供应商可以给某个工程提供多种材料,同一种材料也可以由不同的供应商提供,从材料到供应商之间的联系类型是()

A)多对多 B)一对一 C)多对一 D)一对多

19、子模式是()

A)模式的副本 B)存储模式 C)多个模式的集合 D)模式的逻辑子集

20、数据库中不仅能够保存数据本身,而且能保存数据之间的相互联系,保证了对数据修改的()

A)独立性 B)安全性 C)共享性 D)一致性

21、一个数据库系统的外模式()

A)只能有一个 B)最多只能有一个 C)至少两个 D)可以有多个

22、数据库三级模式中,真正存在的是()

A)外模式 B)子模式 C)模式 D)内模式

23、在数据库中,数据的物理独立性是指()

A)数据库与数据管理系统的相互独立
 B)用户程序与DBMS的相互独立
C)用户的应用程序与存储磁盘上数据的相互独立
 D)应用程序与数据库中数据的逻辑结果相互独立

24、为了保证数据库的逻辑独立性,需要修改的是()

A)模式与外模式之间的映射
 B)模式与内模式之间的映射
 C)模式
 D)三级模式

25、层次模式不能直接表示()

A)1:1联系 B)1:n联系 C)m:n联系 D)1:1和1:n联系

二、填空题

1、数据管理技术发展过程经过人工管理、文件系统和数据库三个阶段,其中数据独立性最高的阶段是数据库系统

2、在关系数据库中,把数据表示为二维表,每一个二维表称为一个关系

3、在数据库理论中,数据物理结构的改变如存储设备的更换、物理存储的更换、存取方式等都不影响数据库的逻辑结构,从而不引起应用程序的变化,称为物理独立性

4、数据库管理系统是位于用户与操作系统之间的软件系统

5、数据库系统中,实现数据管理功能的核心软件称为数据库管理系统

6、一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”间的关系属于一对多的关系

7、数据库三级模式体系结构的划分,有利于保持数据的独立性

8、数据库保护分为:安全性控制、完整性控制、并发性控制和数据恢复

9、在数据库理论中,数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要修改相应的应用程序,称为逻辑独立性

10、数据库管理系统常见的数据模型有层次模型、网状模型和关系模型

11、对现实世界进行第一层抽象的模型,称为概念模型;对现实世界进行第二层抽象的模型,称为结构(或逻辑)模型

12、层次模型的数据结构是结构;网状模型的数据结构是有向图结构;关系模型的数据结构是二维表结构;面向对象的数据结构之间可以嵌套和递归

13、在数据库技术中,编写应用程序的语言一般是C、Basic等高级语言,这些语言被称为宿主语言(或主语言)

14、数据库系统中,用来存放三级结构定义的数据库称为数据字典

15、从最终用户来看,数据库系统的外部体系结构可分为五种类型:单用户结构,主从式结构,分布式结构,客户/服务器结构,浏览器/服务器结构

16、现实世界的事物反映到人的头脑中经过思维加工成数据,这一过程需要结果的三个世界的转换,依次是现实世界,信息世界,数据世界

三、简答题

1、简述数据管理技术发展的三个阶段和各个阶段的特点是什么?

随着计算机硬件和软件的发展,数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。

人工管理阶段:
1)数据没有专门的存储设备
2)数据没有专门的管理软件
3)数据不共享
4)数据不具有独立性

文件系统阶段:
1)数据以文件形式长期保存
2)由文件系统管理数据
3)数据与数据间有一定独立性
4)文件的形式已经多样化
5)数据具有一定的共享性

数据库系统阶段:
1)结构化的数据及其联系的集合
2)数据共享性高、冗余度低
3)数据独立性高
4)有统一的数据管理和控制功能

2、从程序和数据之间的关系分析文件系统和数据库系统之间的区别和联系

文件系统阶段中,我们关注的是系统功能的设计,程序设计处于主导地位,数据服从于程序设计;
数据库系统阶段中,数据占据位置的中心,数据的结构设计成为信息系统首先关心的问题。

3、简述数据库、数据库管理系统、数据库系统三个概念的含义和联系

数据库系统(DataBase System,,DBS):指在计算机系统中引入数据库后的系统

数据库管理系统(DBMS):是对数据进行管理的大型系统软件

数据库(DataBase,DB):是指存储在计算机内、有组织、可共享的数据和数据对象的集合

数据库是数据库系统的基础,数据库管理系统是数据库系统的核心软件,用户通过数据库管理系统实现对数据库中数据的存取、维护和管理

5、简述数据库管理系统的组成和功能

一个完整的数据库管理系统通常应由:
1)语言编译处理程序
2)系统运行控制程序
3)系统建立、维护程序
4)数据字典

数据库管理系统的主要功能包括:
1)数据定义功能
2)数据操纵功能
3)数据库运行管理功能
4)数据库的建立和维护功能
5)数据通信接口
6)数据组织、存储和管理功能。

6、DBA指什么?它的主要职责是什么?

DBA即数据库管理员(DataBase Administrator, DBA)数据库管理员是负责设计、建立、管理和维护数据库以及协调用户对数据库要求的个人或工作团队。

7、试述数据三级模式结构,说明三级模式结构的优点是什么?

数据库三级模式结构把数据库系统内部的体系结构从逻辑上分为外模式、模式和内模式三级抽象模式结构和二级映像功能,即ANSI/SPARC体系结构。

数据库系统的三级模式与二级映像使数据库系统具有以下优点。
1)保证数据的独立性。将模式和内模式分开,保证了数据的物理独立性;将外模式和模式分开,保证了数据的逻辑独立性。
2)简化了用户接口。按照外模式编写应用程序或输入命令,而不需了解数据库内部的存储结构,方便用户使用系统。
3)有利于数据共享。在不同的外模式下可由多个用户共享系统中的数据,减少了数据冗余。
4)有利于数据的安全保密。在外模式下根据要求进行操作,只能对限定的数据操作,保证了其他数据的安全。

8、什么是数据库的数据独立性?它包含哪些内容?

数据库的数据独立性是指数据库中的数据与应用程序间相互独立,即数据的逻辑结构、存储结构以及存取方式的改变不影响应用程序。数据独立性包括物理独立性和逻辑独立性,其中,数据的物理独立性是指当数据库物理结构(如存储结构、存取方式、外部存储设备等)改变时,通过修改映射,使数据库逻辑结构不受影响,进而用户逻辑结构以及应用程序不用改变;数据的逻辑独立性是指当数据库逻辑结构(如修改数据定义、增加新的数据类型、改变数据间的关系等)发生改变时,通过修改映射,用户逻辑结构以及应用程序不用改变。

9、什么是数据字典?它的主要作用是什么?

数据字典(Data Dictionary,DD)用来描述数据库中有关信息的数据目录,包括数据库的三级模式、数据类型、用户名和用户权限等有关数据库系统的信息。

数据字典起着系统状态的目录表的作用,帮助用户、DBA和DBMS本身使用和管理数据库。

11、解释实体、属性、码、实体集、实体型、实体联系类型、记录、数据项、字段、记录型、文件、实体模型和数据模型的含义

实体(Entity):客观存在并且可以相互区别的“事物”称为实体

属性(Attribute):实体所具有的某一特性称为属性

码(Key):在实体型中,能唯一标识一个实体的属性或属性集称为实体的码

实体集(Entity Set):同型实体的集合称为实体集

实体型(Entity Type):用实体名及其属性名集合来抽象和描述同类实体,称为实体型

实体联系类型:指不同的实体集间的联系的类型,可分为一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n)三种

记录(Record):字段的有序集合称为记录

字段(Field):标记实体属性的命名单位称为字段,也称为数据项

文件(File):同一类记录的集合称为文件

记录型:层次模型的树形结构中,每个结点表示一个记录型,每个记录型可包含若干个字段,记录型描述的是实体,字段描述实体的属性

文件(File):同一类记录的集合称为文件

实体模型:按用户的观点对数据和信息建模,是对现实世界的事物及其联系的第一级抽象,它不依赖与具体的计算机系统,不涉及信息在计算机内如何表示,如何处理等问题,只是用来描述某个特定组织所关心的信息结构。

数据模型:数据库的框架,该框架描述了数据及其联系的组织方式、表达方式和存取路径。

12、数据模型的主要作用是什么?三类基本数据模型的划分依据是什么?各有哪些优点

数据模型是现实世界中的事物及其联系的一种模拟和抽象表示,是一种形式化描述数据、数据间联系以及有关语义约束规则的方法。

三类基本数据模型的划分基于模型的数据结构类型。

层次模型(Hierarchical Model)
优点:
1)层次模型结构比较简单,层次分明,便于在计算机内实现
2)结点间联系简单,从根结点到树中任一结点均存在一条唯一的层次路径,当要存取某个结点的记录值时,沿着这条路径很快就能找到该记录值,因此,以该种模型建立的数据库系统查询效率很高
3)它提供了良好的数据完整性支持

缺点:
1)不能直接表示两个以上的实体型间的复杂联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性
2)对数据插入和删除的操作限制太多
3)查询子女结点必须通过双亲结点

网状模型(Network Model)
优点:
1)能更为直接地描述客观世界,可表示实体间的多种复杂联系
2)具有良好的性能和存储效率

缺点:
1)数据结构复杂,并且随着应用环境的扩大,数据库的结构变得越来越复杂,不便于终端用户掌握
2)其数据定义语言(DDL)和数据操纵语言(DML)极其复杂,不易使用户掌握
3)由于记录间的联系本质上是通过存取路径实现的,应用程序在访问数据库时要指定存取路径,即用户需要了解网状模型的实现细节,加重了编写应用程序的负担

关系模型(Relational Model)
优点:
1)关系模型与非关系模型不同,它有严格的数学理论根据
2)数据结构简单、清晰,用户易懂、易用,不仅用关系描述实体,而且用关系描述实体间的联系。此外,对数据的操纵结果也是关系
3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作

缺点:
关系模型的缺点是查询效率不如非关系模型,增加了开发数据库管理系统的负担

13、实体型间的联系有哪几种?其含义是什么?并举例说明

实体型间的联系有如下三种类型
1)一对一联系(1:1):实体集A中的一个实体至多与实体集B中的一个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应,则称实体集A与实体集B为一对一的联系,记作1:1

2)一对多联系(1:n):实体集A中的一个实体与实体集B中的n(n≥0)个实体相联系,反之,实体集B中的一个实体至多与实体集A中的一个实体相联系,记作1:n

3)多对多联系(m:n):实体集A中的一个实体与实体集B中的n(n≥0)个实体相联系,反之,实体集B中的一个实体与实体集A中的m(m≥0)个实体相联系,记作m:n

14、解释模式、内模式、外模式、DDL和DML的含义

模式:模式也称为概念模式,处于三级模式结构的中间层,是数据库中全体数据的逻辑结构和特征的描述

内模式:内模式(Internal Schema)又称存储模式(Storage Schema)或物理模式(Physical Schema),是三级结构中的最内层,是对数据库存储结构的描述,是数据在数据库内部的表示方式

外模式:外模式(External Schema)又称为子模式(Subschema)或用户模式(User Schema),是三级结构的最外层,是数据库用户能看到并允许使用的那部分数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,也是数据库用户的数据视图,即用户视图

DDL:数据定义语言(Data Define Language),用于定义数据的模式、外模式和内模式三级模式结构,定义模式/内模式和外模式/模式二级映像,定义有关的约束条件

DML:数据操纵语言(Data Manipulation Language),实现对数据库的基本操作,包括检索、更新(包括插入、修改和删除)等

15、试述传统数据库的局限性

传统数据库通常为集中式系统,不在同一地点的数据无法共享;系统过于庞大、复杂,显得不灵活且安全性较差;存储容量有限,不能完全适应信息资源存储要求等。传统数据库对数据的处理无法满足决策需求。传统数据库通常用于处理结构化数据,无法满足非结构化数据的处理需求

19、大数据定义的4V阶段包括哪些?

大数据的4V特性即:
1)数据量大(Volume)
2)数据类型繁多(Variety)
3)数据处理速度快(Velocity)
4)数据价值密度低(Value)

“数据量大”是从数据规模的角度描述大数据的

“数据类型繁多”是从数据来源和数据种类的角度描述大数据的

“数据处理速度快”是从数据的产生和处理的角度描述大数据的

“数据价值密度低”是从大数据潜藏的价值分布情况描述大数据的

第二章 关系数据库

一、选择题

1、设有如下关系表:

R

ABC
112
223

S

ABC
313

T

ABC
112
223
313

则下列操作中正确的是()

A)T = R∪S B)T = R ∩ S C)T = R × S D)T = R / S

2、关系代数运算是以()为基础的运算

A)关系运算 B)谓词运算 C)集合运算 D)代数运算

3、按条件f对关系R进行选取,其关系代数表达式为()

A)R⋈R B)R⋈fR C)σf( R) D)πf( R)

4、关系数据库的概念模型是()

A)关系模型的集合
B)关系模式的集合
 C)关系子模式的集合
 D)存储模式的集合

5、关系数据库管理系统能实现的专门关系运算包括()

A)排序、索引、统计 B)选取、投影、连接
 C)关联、更新、排序 D)显示、打印、制表

6、设有如下关系表:

R

ABC
abc
baf
cbd

S

ABC
baf
dad

W

ABC
abc
cbd

则下列操作中正确的是()

A)W = R ∩ S B)W = R∪ S C)W = R - S D)W = R × S

7、设有一个学生档案的关系数据库,关系模式是:S(SNo, SN, Sex, Age),其中SNo、SN、Sex,Age分别为学生的学号、姓名、性别、年龄。则“从学生档案数据库中检索学生年龄大于20岁的学生的姓名”的关系代数式是()

A)σsn(πAge>20(S)) B)πSN(σAge>20(S))
 C)πSN(πAge>20(S)) D)σsn(σAge>20(S))

8、一个关系只有一个()

A)超码 B)外码 C)候选码 D)主码

9、在关系模型中,以下有关码的描述正确的是()

A)可以由任意多个属性组成
 B)至多由一个属性组成
C)由一个或多个属性组成,其值能唯一标识关系中的一个元组
 D)以上都不对

10、同一个关系模型的任意两个元组值()

A)不能完全相同 B)可以完全相同 C)必须完全相同 D)以上都不对

11、一个关系数据库文件中的各条记录()

A)前后顺序不能任意颠倒,一个要按照输入的顺序排列
B)前后顺序可以任意颠倒,不影响库中的数据关系
 C)前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同
 D)前后顺序不能任意颠倒,一定按照关键字字段值的顺序排列

12、关系模式的任意属性()

A)不可再分 B)可再分 C)命名在关系模式中可以不唯一 D)以上都不对

13、设有关系R和S,关系代数表达式R - (R - S),表达的是()

A)R ∩ S B)R ∪ S C)R - S D)R × S

14、关系运算中花费时间可能最长的是()

A)选取 B)投影 C)差运算 D)笛卡尔积

15、设有关系模式R和S,下列各关系代数表达式不正确的是()

A)R - S = R - (R ∩ S)
 B)R = (R - S) ∪ (R ∩ S)
 C)R ∩ S = S - (S - R)
D)R ∩ S = S - (R - S)

16、设两个关系R和S,分别含有15和10个元组,则在R∪S, R - S和R ∩ S中不可能出现的元组数据的情况是()

A)15、5、10
B)18、7、7(R ∩ S应该为8,R∪S=18,则R-S=15+10-18=7,交并互补)

C)21、11、4
 D)25、15、0

17、在关系模型中,一个候选码是()

A)必须由多个任意属性组成
 B)至多由一个属性组成
C)可由一个属性或多个其值能唯一标识元组的属性组成
 D)以上都不是

二、填空题

1、在关系运算中,查找满足一定条件的元组的运算称之为选择

2、在关系代数中,从两个关系中找出相同元组的运算称之为运算;

3、传统的集合“并、差、交”运算施加于两个关系时,这两个关系必须相容(或是同类关系);

4、在关系代数运算中,基本的运算是并、差、笛卡尔积、选择、投影

5、在关系代数运算中,传统的集合运算有并、差、交、笛卡尔积

6、关系代数运算中,专门的关系运算有选择 、投影 、连接

7、设有关系R,从关系R中选择条合条件f的元组,则关系代数表达式应是σf( R)

8、关系运算分为关系代数和关系演算

9、当对两个关系R和S进行自然连接运算时,要求R和S含有一个或多个共同的属性

10、在一个关系中,列必须是同质的,即每一列中的分量是同类型的数据,来自同一域;

11、如果关系R2的外部关系键X与R1的主关系键相符合,则外部关系键X的每个值必须在R1中主关系键的值中找到,或者为空,这是关系的参照完整性规则

12、设有关系模式为:系(系编号,系名称,电话,办公地点),则该关系模型的主关系键是系编号主属性是系名称、电话、办公地点

13、关系演算分为元组主键演算和域关系演算;

14、实体完整性规则是对主键的约束,参照完整性规则是对外部关系键的约束;

15、等式R ⋈ S = R × S成立的条件是R和S没有公共属性

16、在关系数据库中,把数据表示成二维表,每一个二维表称为关系

三、简答题

1、关系模型的完整性规则有哪几类

关系模型中,有三类完整性约束,即实体完整性、参照完整性和用户自定义的完整性
其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作关系的两个不变性。任何关系数据库系统都应该支持这两类完整性。除此之外,不同的关系数据库系统由于应用环境的不同,往往还需要一些特殊的约束条件,这就是用户自定义完整性,用户自定义完整性体现了具体领域中的语义约束。

2、举例说明什么是实体完整性和参照完整性

==实体完整性是指主码的值不能为空或部分为空。==例如,学生关系中的主码“学号”不能为空,选课关系中的主码“学号+课程号”不能部分为空,即“学号”和“课程号”两个属性都不能为空。
==参照完整性是指如果关系R2的外码X与关系R1的主码相符,则X的每个值或者等于R1中主码的某一个值或者取空值。==例如,学生关系S的“系别”属性与系别关系D的主码“系别”相对应,因此,学生关系S的“系别”属性是该关系S的外码,学生关系S是参照关系,系别关系D是被参照关系,学生关系中某个学生(如S1或S2)“系别”的取值,必须在参照的系别关系中主码“系别”的值中能够找到,如果某个学生(如S11)“系别”取空值,则表示该学生尚未分配到任何一个系;否则,它只能取系别关系中某个元组的系别号值。

4、举例说明等值连接与自然连接的区别和联系

所谓自然连接就是在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉

R

ABC
a1b12
a1b24
a2b36
a2b48

S

BD
b15
b26
b37
b48

等值连接与自然连接的区别如下:
1)==等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有同名属性才能进行自然连接。==如上图R中的C列和S中的D列可进行等值连接,但因为属性名不同,不能进行自然连接;

2)在连接结果中,等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。如上图R中的B列和S中的B列进行等值连接时,结果有两个重复的属性列B,而进行自然连接时,结果只有一个属性列B

5、解释下列概念:笛卡尔积、关系、同类关系、关系头、关系体、属性、元组、域、关系键、候选键、主键、外部键、关系模式、关系数据库模式、关系数据库、关系数据库的型与值

笛卡儿积(Cartesian Product):给定一组域D1,D2,…,Dn(它们可以包含相同的元素,既可以完全不同,也可以部分或全部相同),则D1,D2,…,Dn的笛卡儿积为:
D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n};

关系(Relation):笛卡儿积D1×D2×…×Dn的任一子集称为定义在域D1,D2,…,Dn上的n元关系(Relation),可用R(D1,D2,…,Dn)表示。
具有相同关系框架的关系称为同类关系;

关系头(Heading):关系头由属性名A1,A2,…,An的集合组成,每个属性Ai对应一个域Di(i=1,2,…,n)。关系头(关系框架)是关系的数据结构的描述,它是固定不变的;

关系体(Body):关系体是指关系结构中的内容或者数据,它随元组的插入、删除或修改而变化;

由于不同域(列)的取值可以相同,为了加以区别,必须对每个域(列)起一个名字,称为属性(Attribute);

关系中的每个元素是关系中的元组;

域(Domain)。域是一组具有相同数据类型的值的集合,又称为值域(用D表示);

关系键是一个表中的一个或几个属性,用来标识该表的每一行或与另一个表产生联系;

候选码(Candidate Key):能唯一标识关系中元组的一个属性或属性集,称为候选码,也称候选关键字或候选键;

主码(Primary Key):如果一个关系中有多个候选码,可以从中选择一个作为查询、插入或删除元组的操作变量,被选用的候选码称为主码,或称为主关系键、主键、关系键、关键字等;

如果关系R2的一个或一组属性X不是R2的主码,而是另一关系R1的主码,则该属性或属性组X称为关系R2的外码(Foreign key)或外部关系键;

关系的描述称为关系模式(Relation Schema)。它可以形式化地表示为:
R(U,D,DOM,F)

关系数据库的型称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式;

在一个给定的应用领域中,所有实体以及实体之间联系所对应的关系的集合构成一个关系数据库;

关系数据库的型称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式;关系数据库的值也称为关系数据库,是这些关系模式在某一时刻对应的关系的集合;

6、以第1章的图1-21所示的教学管理数据库为例,用关系代数表达式表示以下各种查询要求

7,8,
在这里插入图片描述
在这里插入图片描述
第八个的解释:
在这里插入图片描述
在这里插入图片描述
第十个的解释
在这里插入图片描述

第三章 SQL

一、选择题

1、以下关于视图的描述中,不正确的是()

A) 视图是外模式
B) 使用视图可以加快查询语句的执行速度
C) 视图是虚表
D) 使用视图可以加快查询语句的编写

2、在SQL的SELECT语句中,能实现投影操作的是()

A) SELECT
B) FROM
C) WHERE
D) GROUP BY

3、SQL集数据查询、数据操纵、数据定义和数据控制功能于一体,语句ALTER TABLE实现下列哪类功能()

A) 数据查询
B) 数据操纵
C) 数据定义
D) 数据控制

4、下列SQL语句中,()不是数据操纵语句

A) INSERT
B) CREATE
C) DELETE
D) UPDATE

5.SQL使用()语句为用户授予系统权限或对象权限。

A) SELECT
B) CREATE
C) GRANT
D) REVOKE

6、SQL中,下列涉及空值的操作,不正确的是()

A) AGE IS NULL
B) AGE IS NOT NULL
C) AGE=NULL
D) NOT (AGE IS NULL)

7、若用如下的SQL语句创建了一个表S:

CREATE TABLE S
(SNo CHAR (6) NOT NULL,
SName CHAR (8) NOT NULL,
SEX CHAR (2) ,
AGE INTEGER)

现向S表插入如下行时,哪一行可以被插入()

A) (‘991001’,‘李明芳’,女,‘23’)
B) (‘990746’,‘张为’,NULL,NULL)
C) (NULL,‘陈道一’,‘男’,32)
D) (‘992345’,NULL,‘女’,25)

8、假定学生关系是S(SNo,SName,Sex,Age),课程关系是C(CNo,CName,Teacher),学生选课关系是SC(SNo,CNo,Grade).要查找选修“数据库”课程的“男”学生姓名,将涉及的关系是()

A) S
B) SC,C
C) S,SC
D) S,C,SC

9、在SQL中,修改数据表结构应使用的命令是()

A) ALTER
B) CREATE
C) CHANGE
D) DELETE

10、已知学生、课程和成绩三个关系如下:学生(学号,姓名,性别,班级)、课程(课程名称,学时,性质)、成绩(课程名称,学号,分数)。若打印学生成绩单,包括学号、姓名、课程名称和分数,应该对这些关系进行()操作。

A) 并
B) 交
C) 差
D) 连接

11、当FROM子句中出现多个基本表或视图时,系统将执行()操作。
A)并
B)等值连接
C)自然连接
D)笛卡尔积

二、填空题

1.SQL是结构化查询语言(Structured Query Language)的缩写。

2.SQL的功能包括数据查询、数据定义、数据操纵和数据控制四个部分。

3.SQL支持数据库的三级模式结构,其中外模式对应于视图和部分基本表基本表,模式对应于基本表,内模式对应于存储文件。

4.在SQL Server 2008 R2中,数据库是由数据库文件和事务日志文件组成的。

5.在SQL Server中可以定义NOT NULL约束、UNIQUE约束、PRIMARY KEY约束、FOREIGN KEY约束和CHECK约束五种类型的完整性约束

6.按照索引记录的存放位置,索引可分为聚集索引与非聚集索引

7.数据表之间的联系是通过表的字段值来体现的,这种字段称为与连接字段

8.相关子查询的执行次数是由父查询表的行数决定的。

9.视图是虚表,其数据不进行存储,只在数据库中存储其定义

10.在数据库中,权限可分为系统权限和对象权限

11.在SQL中,关系模式称为基本表,子模式称为视图

12.设有学生关系表S(No,Name,Sex,Age),其中,No为学号,Name为姓名,Sex为性决定的,Age为年龄。根据以下问题,写出对应的SQL语句。

(1)向关系表S中增加一名新同学,该同学的学号是“990010”,姓名是“李国栋”,性别是“男”,年龄是19岁。

INSERT INTO S VALUES('990010','李国栋','男',19)

(2)向关系表中增加一名新同学,该同学的学号是“990011”,姓名是“王大友”

INSERT INTO S(No,Name) VALUES('990011', '王大友')

(3)从学生关系表S中,将学号为“990009”的同学的姓名改为“陈平”

UPDATE S SET Name='陈平' WHERE No='990009'

(4)从学生关系表S中,删除学号为“990008”的同学

DELETE FROM S WHERE No='990008'

(5)从学生关系表S中,删除所有姓氏为“陈”的同学

DELETE FROM S WHERE Name LIKE '陈%'

13.建立一个学生表 Student,它由学号SNo_____、姓名SName、性别SSex、年龄SAge、所在系 SDept五个属性组成,其中学号(假定其为字符型,长度为8个字符)属性不能为空。

CREATE table Student
(SNo CHAR(8) ,NOT NULL,
SName CHAR (20) ,
SSex CHAR (2) ,
SAge INTEGER,
SDept CHAR (16) )

14.在“学生-选课-课程”数据库中的三个关系如下:S(SNo,SName,Sex,Age),SC(SNo,CNo,Grade),C(CNo,CName,Teacher)。
查找选修“数据库技术”这门课程的学生的学生名和成绩。使用连接查询的SQL语句是:

SELECT Sname,Grade
FROM S, SC, C
WHERE CName='数据库技术'
AND S. SNo=SC. SNoAND
AND SC.CNo=C.CNo;

15.建立一个学生表 Student,它由学号SNo、姓名SName、性别SSex、年龄SAge、所在系SDept
五个属性组成,其中学号(假定其为字符型,长度为8个字符)属性不能为空。Student表建立完成后,若要在表中增加年级SGrade项(设字段类型为字符型,长度为10),其SQL命令为:

ALTER TABLE Student 
ADD 
SGrade CHAR(10)

三、设计题

1、设有以下两个数据表,各表中的结果及字段名如下:
图书(Book)包括书号(BNo)、类型(BType)、书名(BName)、作者(BAuth)、单价(BPrice)、出版社号(PNo);

出版社(Publish)包括出版社号(PNo)、出版社名称(PName)、所在城市(PCity)、电话(PTel);

用SQL实现下述功能:

1)在“高等教育出版社”出版、书名为“操作系统”的图书的作者名;

SELECT BAuth 
FROM Book,Pubish 
WHERE Book.PNo=Pubish.PNo 
AND BName='操作系统' 
AND PName='高等教育出版社'

2)查找为作者“张欣”出版全部“小说”类图书的出版社的电话;

SELECT PTel 
FROM Book,Pubish 
WHERE Book.PNo=Pubish.PNo 
AND BType='小说' AND BAuth='张欣'

3)查询“电子工业出版社”出版的“计算机”类图书的价格,同时输出出版社名称及图书类别;

SELECT BPrice,PName,Btype 
FROM Book,Pulish 
WHERE Book.PNo=Pubish.PNo 
AND PName='电子工业出版社' AND BType='计算机'

4)查找比“人民邮电出版社”出版的“高等数学”价格低的同名书的有关信息;

SELECT * 
FROM Book 
WHERE BName='高等数学'
AND BPrice< ANY(SELECT BPrice 
                FROM Book,Pubish 
                WHERE Book.PNo=Pubish.PNo    
                AND PName='人民邮电出版社' 
                AND BName='高等数学')

5)查找书名中有“计算机”一词的图书的书名及作者;

SELECT BName,BAuth 
FROM Book 
WHERE BName LIKE '%计算机%'

6)在“图书”表中增加“出版时间”(BDate)项,其数据类型为日期型;

ALTER TABLE Book 
ADD 
BDate datetime

7)在“图书”表中以“作者”建立一个索引。

CREATE unique INDEX BAuth_Book ON Book(BAuth)

2、假设有一个书店,书店的管理者要对书店的经营状况进行管理,需要建立一个数据库,其中包括两个表:

存书(书号,书名,出版社,版次,出版日期,作者,书价,进价,数量)
销售(日期,书号,数量,金额)

请用SQL实现书店管理者的下列要求:

1)建立存书表和销售表;

CREATE TABLE Book(
	BNo CHAR(10) PRIMARY KEY,
	BName	VARCHAR(50) NOT NULL,
	Publish	VARCHAR(50),
	Version	FLOAT,
	PDate	datetime,
	BAuth	VARCHAR(30),
	BPirce	NUMERIC(4,1),
	BInPrice	NUMERIC(4,1),
	BCount	INT
);

CREATE TABLE BookSell(
	BNO	CHAR(8) FOREIGN KEY(BNo) REFERENCES Book(BNo),
	SDate	datetime,
	SCount	INT,
	SMoney	SMALLMONEY
);

2)掌握书的库存情况,列出当前库存的所有书名、数量、余额(余额=进价×数量,即库存占用的资金);

SELECT BName,BCount,BInPrice*BCount AS TOTALCOUNT 
FROM Book

3)统计总销售额;

SELECT SUM(SCount*SMoney) AS TOTALMONEY 
FROM BookSell 

4)列出每天的销售报表,包括书名、数量和合计金额(每一种书的销售总额);

SELECT BName,SCount,SCount*SMoney AS TOTALMONEY
FROM BookS,BookSell 
WHERE Book.BNo=BookSell.BNo

5)分析畅销书,即列出本期(从当前日期起,向前30天)销售数量大于100的书名、数量。

SELECT BName,SCount
 FROM Book,BookSell 
 WHERE BookStore.BNo=BookSell.BNo 
 AND SCount>100 
 AND SDate>=getdate()-30

四、简答题

1、简述SQL支持的三级逻辑结构。

SQL支持数据库的三级模式结构。
外模式对应于视图和部分基本表;
模式对应于基本表;
内模式对应于存储文件.

3、解释本章所涉及的有关基本概念的定义:基本表、视图、索引、系统权限、对象权限、角色,并说明视图、索引、角色的作用

  • 基本表(Base Table):一个关系对应一个基本表;
  • 视图(View):视图是从一个或几个基本表导出的表,是一个虚表;
  • 索引:是一种可以加快检索的数据库结构,它包含从表或视图的一列或多列生成的键,以及映射到指定数据存储位置的指针;
  • 视图的作用:视图通常用来集中、简化和自定义每个用户对数据库的不同认识,可用作安全机制,可用于提供向后兼容接口来模拟曾经存在但其架构已更改的基础表,还可以在向SQL Server复制数据和从其中复制数据时使用视图,以便提高性能并对数据进行分区;
  • 索引的作用:通过创建设计良好的索引,可以显著提高数据库查询和应用程序的性能。除提高检索速度外,索引还可以强制表中的行具有唯一性,从而确保数据的完整性;
  • 角色的作用:用于区分不同的数据库用户,通过不同的权限设置,可保证数据在数据库中,为便于对用户及权限进行管理,可以将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为角色(Role)。使用角色能够更加方便和高效地对权限进行管理。

4、在对数据库进行操作的过程中,设置视图机制有什么优点?它与数据表有什么区别?
在这里插入图片描述
5、设有如下四个基本表S,C,SC,T,结构如图3-20所示
在这里插入图片描述在这里插入图片描述

1)用SQL的DDL语言创建S表,S#为主码,SN不能为空;

CREATE TABLE S(
	S# CHAR(8) PRIMARY KEY,
	SN CHAR(8) NOT NULL,
	AGE INT,
	DEPT VARCHAR(20)
);

2)创建计算机系学生的视图,该视图的属性列由学号、姓名、课程号和任课教师号组成;

CREATE VIEW computer_student(S#,SN,C#,T#) AS 
SELECT S#,SN,C#,T#
FROM S,C,SC,T 
WHERE S.S#=SC.S# 
AND SC.C#=C.C# 
AND T.C#=C.C#                              
AND DEPT='计算机'

3)检索计算机系年龄在20岁以上的学生学号;

SELECT S# FROM S 
WHERE AGE>20 
AND DEPT='计算机'

4)检索姓王的教师所讲课程的课程号及课程名称;

SELECT C.C#,CN 
FROM C,T 
WHERE C.C#=T.C# 
AND TN LIKE '王%'

5)检索张三同学所学课程的成绩,列出SN、C#和GR;

SELECT SN,C#,GR 
FROM S,SC,C
WHERE S.S#=SC.S# 
AND SN='张三'
AND C.C#=SC.C#

6)检索选修总收入超过1000元的教师所讲课程的学生姓名、课程号和成绩;

SELECT SN,T.C#,GR 
FROM T,SC,S 
WHERE T.C#=SC.C# 
AND S.S#=SC.S# 
AND (SAL+COMM)>1000

7)检索没有选修C1课程且选修课程数为两门的学生的姓名和平均成绩,并按平均成绩降序排列;

SELECT SN,AVG(GR)
FROM S,SC 
WHERE S.S#=SC.S# 
AND C#<>'C1'   ;会排除掉所有C#值为C1的记录
GROUP BY SN 
HAVING COUNT(*)=2 
ORDER BY AVG(GR) DESC

8)检索选修和张三同学所选课程中任意一门相同的学生姓名、课程名;

SELECT SN,CN 
FROM S,SC,C 
WHERE S.S#=SC.S# 
AND C.C#=SC.C# 
AND C# IN (SELECT C# 
FROM S,SC 
WHERE S.S#=SC.S# 
AND SN='张三')
AND SN<>'张三';会排除掉张三

9)S1同学选修了C3,将此信息插入SC表中;

INSERT INTO SC(S#,C#) VALUES ('S1', 'C3')

10)删除S表中没有选修任何课程的学生记录;

DELETE FROM S 
WHERE S# NOT IN (SELECT DISTINCT S# FROM SC)

第七章 T-SQL

一、选择题

1.在 SQL Server 中不是对象的是( )。

A)用户
B)数据
C)表
D)数据类型

2.声明了变量:DECLARE @i int,@c char(4),现在为@i 赋值 10,为@c 赋值’abcd’,正确的语
句是( )。

A)SET @i=10, @c=‘abcd’
B)SET @i=10, SET @c=‘abcd’
C)SELECT @i=10, @c=‘abcd’
D)SELECT @i=10, SELECT @c=‘abcd’

3.在 SQL Server 服务器上,存储过程是一组预先定义并( )的 Transact-SQL 语句。

A)保存
B)编译
C)解释
D)编写

4.可以用( )来声明游标。

A)CREATE CURSOR
B)ALTER CURSOR
C)SET CURSOR
D)DECLARE CURSOR

5.当以下代码中的【】位置分别为 BREAK,CONTINUE 或 RETURN 时,输出的值为( )。

DECLARE @n int 
SET @n=3 
WHILE @n>0 
    BEGIN 
        SET @n=@n-1 
        IF @n=1 []
    END 
PRINT @n

A)1,0,不输出
B)1,1,_
C)0,0,0
D)0,1,2

二、填空题

1.Transact-SQL 中可以使用局部变量和全局变量两种变量。

2.在 Transact-SQL 中可以使用两类注释符:单行注释 - - 和多行注释 /*… …*/

3.用于声明一个或多个局部变量的命令是DECLARE

4.无论是存储过程还是触发器,都是SQL语句和流程控制语句的集合。

5.SQL Server 2012 支持DML触发器 、DDL触发器和登录触发器三种类型的触发器。(仅供参考)

6.每个触发器有插入表和删除表两个特殊的表在数据库中。

7.在 SQL Server 2012 中有数据库备份、事务日志备份、差异备份和文件和文件组备份四种备份类型。

8.在 SQL Server 2012 中有简单还原、完全还原和批日志还原三种数据库还原模式。

9.备份设备可以是硬盘、磁带或管道。

三、简答题

1.什么是触发器?触发器的作用有哪些?

  • 触发器是一种特殊的存储过程,其中包含一系列的 T-SQL 语句,但它的执行不是用EXECUTE命令显式调用,而是在满足一定条件下自动激活而执行,如向表中插入记录﹑更新记录或者删除记录时被系统自动地激活并执行。
  • 使用触发器主要有以下优点:
    (1)触发器是在某个事件发生时自动激活而执行的。如,在数据库中定义了某个对象之后,或对表中的数据做了某种修改之后立即被激活并自动执行。
    (2)触发器可以实现比约束更为复杂的完整性要求,比如 CHECK 约束中不能引用其他表中的列,而触发器可以引用;CHECK 约束只是由逻辑符号连接的条件表达式,不能完成复杂的逻辑判断功能。
    (3)触发器可以根据表数据修改前后的状态,根据其差异采取相应的措施。
    (4)触发器可以防止恶意的或错误的 INSERT、UPDATE 和 DELETE 操作。

第五章 数据库安全

一、选择题

1.视图机制提高了数据库系统的( )。

A)完整性
B)安全性
C)一致性
D)并发控制

2.完整性控制的防范对象是( )。

A)非法用户
B)不合语义的数据
C)非法操作
D)不正确的数据

3.安全性控制的防范对象主要是( )。

A)合法用户
B)不合语义的数据
C)非法操作
D)不正确的数据

4.一个事务在执行时,应该遵守“要么不做,要么全做”的原则,这是事务的( )。

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

5.实现事务回滚的语句是( )。

A)GRANT
B)COMMIT
C)ROLLBACK
D)REVOKE

6.后备副本的作用是( )。

A)保障安全性
B)完整性控制
C)并发控制
D)数据库恢复

7.解决并发控制带来的数据不一致问题普遍采用的技术是( )。

A)封锁
B)存取控制
C)恢复
D)协商

8.如事务 T 对数据对象 R 实现 X 封锁,则 T 对 R( )。

A)只能读不能写
B)只能写不能读
C)既可读又可写
D)不能读也不能写

9.在数据库技术中,“脏数据”是指( )。

A)未回退的数据
B)未提交的数据
C)回退的数据
D)未提交随后又被撤销的数据

10.“日志”文件用于保存( )。

A)程序运行过程
B)数据操作
C)程序执行结果
D)对数据库的更新操作

11.在数据库恢复时,对尚未做完的事务执行( )。

A)REDO 处理
B)UNDO 处理
C)ABORT 处理
D)ROLLBACK 处理

12.在事务依赖图中,如果两个事务的依赖关系形成一个循环,那么就会( )。

A)出现活锁现象
B)出现死锁现象
C)事务执行成功
D)事务执行失败

13.在数据库的安全性控制中,为了保证用户只能存取他有权存取的数据。在授权定义中,数据对象的( ),授权子系统就越灵活。

A)范围越小
B)范围越大
C)约束越细致
D)范围越灵活

14.事务的一致性是指( )。

A)事务中包括的所有操作要么都做,要么都不做
B)事务一旦提交,对数据库的改变是永久的
C)一个事务内部的操作及使用的数据对并发的其他事务是隔离的
D)事务必须是使数据库从一个一致性状态变到另一个一致性状态

15.保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的( )。

A)安全性
B)完整性
C)并发控制
D)恢复

二、填空题

1.DBMS 对数据库的安全保护功能是通过安全性控制、完整性控制、并发性控制和数据库恢复四个方面实现的。

2.存取权限由数据对象和操作类型两个要素组成。

3.衡量授权机制的两个重要指标是授权粒度和授权表中允许的登记项范围

4.加密的基本思想是根据一定的算法将原始数据(或明文)加密成为不可直接识别的格式(或密文),数据以密文的形式存储和传输。

5.事务是数据库系统中执行的一个工作单位,它是由用户定义的一组操作序列。它具有原子性、一致性、隔离性和持久性四个特征。

6.并发操作导致的数据库不一致性主要有丢失更新、污读和不可重读三种。

7.实现并发控制的方法主要是封锁技术,基本的封锁类型有排他型封锁和共享封锁两种。

8.数据库恢复的基本原理是利用数据的冗余

9.生成冗余数据最常用的技术是登记日志文件和数据转储

10.数据库运行过程中可能出现事务故障、系统故障和介质故障三类故障。

11.按照转储方式,数据转储可以分为海量转储和增量转储

12.按照转储状态,数据转储又可分为静态转储和动态转储

13.规则和默认用来帮助用户实现数据的完整性

14.根据 SQL Server 的安全性要求,当某一用户要访问 SQL Server 中的数据库时,必须在 SQL Server 上创建登记账号和用户账号

15.在 SQL Server 数据库管理系统中,设用户 A 可以访问其中的数据库 MyDb,则用户 A 在数据库 MyDb 中必定属于public角色。

16.在 SQL Server 数据库管理系统中,dbcreator 是 一种服务器角色,而 dbowner 是一种数据库角色。

三、简答题

1、什么是数据库保护?数据库的安全性保护功能包含哪几个方面?解释它们的含义

  • 数据库保护又叫做数据库控制
  • 通过四方面实现,即安全性控制,完整性控制,并发性控制和数据恢复。
  • 数据库的安全性:是指保护数据库以防止非法使用所造成数据的泄露、更改或破坏。
  • 数据库的完整性:是指防止合法用户使用数据库时向数据库中加入不符合语义的数据。
  • 数据的并发性控制:是指对数据共享时数据的并发读取操作进行控制,以保持数据库中数据的一致性,即在任何一个时刻数据库都以相同形式给用户提供数据。
  • 数据的恢复是:指在数据库放生故障的时候,能够把数据从错误状态恢复到某一正确状态。

2、什么是数据库的安全性?试述DBMS提供的安全性控制功能包含哪些内容

  • 数据库的安全性是指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。
  • DBMS 提供的安全性控制功能主要包括:用户标识和鉴定、用户存取权限控制、定义视图、数据加密和审计等几类。

3、什么是数据库的完整性?关系数据库中有哪些完整性规则,各包含哪些内容?

  • 数据库的完整性是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作。
  • 完整性规则主要由以下三部分构成:
    (1)触发条件:规定系统什么时候使用完整性规则来检查数据。
    (2)约束条件:规定系统检查用户发出的操作请求违背了什么样的完整性约束条件。
    (3)违约响应:规定系统如果发现用户发出的操作请求违背了完整性约束条件,应该采取一定的动作来保证数据的完整性,即违约时要做的事情。

4、什么是事务?事务的提交和回滚是什么意思?

  • 事务是数据库系统中执行的一个工作单位,它是由用户定义的一组操作序列。
  • COMMIT 表示事务的提交,即将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,此时事务正常结束;
  • ROLLBACK表示事务的回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤销,再回滚到事务开始时的状态。

5、在数据库中为什么要有并发控制?

为了充分利用数据库资源,很多时候数据库用户都是对数据库系统并行存取数据,这样就会发生多个用户并发存取同一数据的情况,如果对并发操作不加控制可能会产生不正确的数据,破坏数据的完整性。并发控制就是要解决这类问题,以保持数据库中数据的一致性,即在任何一个时刻数据库都将以相同的形式给用户提供数据。

6、并发操作会带来什么后果?

数据库的并发操作导致的数据库不一致性主要丢失更新(Lost Update)、污读(Dirty Read)和不可重读(Unrepeatable Read)三种。

7、什么是封锁?封锁的基本类型有几种,含义如何?

  • 所谓封锁就是当一个事务在对某个数据对象(可以是数据项、记录、数据集以及整个数据库)进行操作之前,必须获得相应的锁,以保证数据操作的正确性和一致性
  • 基本的封锁类型有两种:排他型封锁和共享封锁。
  • 排他型封锁又称写封锁,简称为X封锁,它采用的原理是禁止并发操作。共享封锁又称读封锁,简称为S锁,它采用的原理是允许其他用户对同一数据对象进行查询,但不能对该数据对象进行修改

8、试述发生死锁的条件和消除死锁的常用方法

发生死锁的必要条件有以下四个:

互斥条件:一个数据对象一次只能被一个事务所使用,即对数据的封锁采用排他式。

不可抢占条件:一个数据对象只能被占有它的事务所释放,而不能被别的事务强行抢占。

部分分配条件:一个事务已经封锁分给它的数据对象,但仍然要求封锁其他数据。

循环等待条件:允许等待其他事务释放数据对象,系统处于加锁请求相互等待的状态。

预防死锁常用的方法有一次加锁法和顺序加锁法两种。

如果已经发现死锁,DBA从依赖相同资源的事务中抽出某个事务作为牺牲品,将它撤销,解除它的所有封锁,释放此事务占用的所有数据资源,分配给其他事务,使其他事务得以继续运行下去。

9、数据库运行过程中可能产生的故障有哪几类,各类故障如何恢复?

数据库运行过程中可能出现的故障可分为以下三类:事务故障、系统故障和介质故障。

  • 1.事务故障(Transaction Failure)及其恢复
    事务故障表示由非预期的、不正常的程序结束所造成的故障。发生事务故障时,被迫中断的事务可能已对数据库进行了修改,为了消除该事务对数据库的影响,要利用日志文件中所记载的信息,强行回滚(ROLLBACK)该事务,将数据库恢复到修改前的初始状态。
  • 2.系统故障(System Failure)及其恢复系统故障是指系统在运行过程中,由于某种原因,造成系统停止运转,致使所有正在运行的事务都以非正常方式终止,要求系统重新启动。系统故障的恢复要完成两方面的工作,既要撤销所有未完成的事务,还需要重做所有已提交的事务。
  • 3.介质故障(Media Failure)及其恢复介质故障是指系统在运行过程中,由于辅助存储器介质受到破坏,使存储在外存中的数据部分丢失或全部丢失。解决此问题需要装入发生介质故障前最新的数据库后备副本,然后利用日志文件重做该副本所运行的所有事务。

10、简述规则和CHECK约束的区别和联系

  • 联系:规则(Rule)就是数据库对存储在表中的列或用户自定义数据类型中的值的规定和限制。规则和CHECK约束都是实施数据完整性的方法;规则和CHECK约束都可用于规定和限制表中列的值;规则和CHECK约束可以同时使用。
  • 区别:相比之下,在ALTER TABLE或CREATE TABLE 命令中使用的CHECK约束是更标准的限制列值的方法,但CHECK约束不能直接作用于用户自定义数据类型。规则是单独存储的独立的数据库对象,CHECK约束与其作用的表存储在一起;规则与其作用的表或用户自定义的数据类型是相互独立的,CHECK约束与其作用的表及列是紧密联系的;表的一列或一个用户自定义数据类型只能与一个规则绑定,而表的一列可以同时由多个CHECK约束。

第六章 关系数据库

一、选择题

1.X→Y能从推理规则导出的充分必要条件是()
在这里插入图片描述

2.在最小函数依赖集F中,下面叙述不正确的是()。

A) F中的每个函数依赖的右部都是单属性
B) F中的每个函数依赖的左部都是单属性
C) F中没有冗余的函数依赖
D) F中的每个函数依赖的左部没有冗余的属性

3.两个函数依赖集 F 和 G 等价的充分必要条件是()
在这里插入图片描述

4.在关系模式 R 中,函数依赖 X→Y 的语义是( )。

A)在 R 的某一关系中,若两个元组的 X 值相等,则 Y 值也相等
B)在 R 的每一关系中,若两个元组的 X 值相等,则 Y 值也相等
C)在 R 的某一关系中,Y 值应与 X 值相等
D)在 R 的每一关系中,Y 值应与 X 值相等

5.设有关系模式 R(X,Y,Z)与它的函数依赖集 F={X→Y,Y→Z},则 F 的闭包 F+中左部为(XY)的函数依赖有( )个。

A)32
B)16
C)8
D)4

6.设有关系模式 R(X,Y,Z,W)与它的函数依赖集 F={X→Y,Y→Z,Z→W,W→X },则 F 的闭包 F+中左部为(ZW)的函数依赖有( )个。

A)2
B)4
C)8
D)16

7.设有关系模式 R(X,Y,Z,W)与它的函数依赖集 F={XY→Z,W→X },则属性集(ZW) 的闭包为( )。

A)ZW
B)XZW
C)YZW
D)XYZW

8.设有关系模式 R(X,Y,Z,W)与它的函数依赖集 F={XY→Z,W→X },则 R 的主码为( )。

A)XY
B)XW
C)YZ
D)YW

9.设有关系模式 R(A,B,C,D,E),函数依赖集 F={B→A,A→C},ρ={AB,AC,AD}是 R的一个分解,那么分解 ρ 相对于 F( )。

A)既是无损连接分解,又是保持函数依赖的分解
B)是无损连接分解,但不是保持函数依赖的分解
C)不是无损连接分解,但是保持函数依赖的分解
D)既不是无损连接分解,也不是保持函数依赖的分解

无损连接分解

首先,我们检查分解是否是无损连接分解。一个分解是无损连接分解的充要条件是分解的每一个子模式与它们的交集的联合能重构原关系。

我们有分解的三个子模式:

  • AB
  • BC
  • AD

我们需要检查是否能通过这三个子模式重构出原关系 R(A, B, C, D, E)。

考虑交集:

  1. AB 与 BC 的交集是 B。
  2. AB 与 AD 的交集是 A。
  3. BC 与 AD 的交集是 D。

合并交集和分解中的属性:

  • 从 AB 和 BC 可以得出 ABC。
  • 从 ABC 和 AD 可以得出 ABCD。

但是我们缺少属性 E,无法重构原关系模式 R(A, B, C, D, E),因此这个分解不是无损连接分解。

保持函数依赖

接下来我们检查分解是否保持函数依赖。对于每一个函数依赖 X → Y,如果 X 和 Y 在某个子模式中,或者可以通过子模式中的依赖推导出,那么就保持该函数依赖。

  1. A → B:在子模式 AB 中,保持。
  2. B → C:在子模式 BC 中,保持。
  3. C → D:C 和 D 不在同一个子模式中,因此不保持。
  4. D → A:在子模式 AD 中,保持。

因为 C → D 不能被保持,所以分解 ρ 并不保持所有的函数依赖。

10.设有关系模式 R(A,B,C,D,E),函数依赖集 F={A→B,B→C,C→D,D→A},ρ={AB,BC,AD}是 R 上的一个分解,那么分解 ρ 相对于 F( )。

A)既是无损连接分解,又是保持函数依赖的分解
B)是无损连接分解,但不是保持函数依赖的分解
C)不是无损连接分解,但是保持函数依赖的分解
D)既不是无损连接分解,也不是保持函数依赖的分解

在这里插入图片描述

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

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

12.规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及( )。

A)数据的不一致性
B)结构不合理
C)冗余度大
D)数据丢失

13.下列说法正确的是( )。

A)属于 BCNF 的关系模式不存在存储异常
B)函数依赖可由属性值决定,不由语义决定
C)超码就是候选码
D)码是唯一能决定一个元组的属性或属性组

14.下列说法不正确的是( )。

A)任何一个包含两个属性的关系模式一定满足 3NF
B)任何一个包含两个属性的关系模式一定满足 BCNF
C)任何一个包含三个属性的关系模式一定满足 3NF
D)任何一个关系模式都一定有码

15.若关系 R 的候选码都是由单属性构成的,则 R 的最高范式必定为( )。

A)1NF
B)2NF
C)3NF
D)无法确定

二、填空题

1.在关系模式 R 中,能函数决定 R 中所有属性的属性组,称为关系模式 R 的超键(或超码)。

2.“从已知的函数依赖集使用推理规则导出的函数依赖在 F +中”,是推理规则的正确性,而“不能从已知的函数依赖使用推理规则导出的函数依赖不在 F+中”,是推理规则的完备性

3.由属性集 X 函数决定的属性的集合,称为属性集X的闭包X+ ;被函数依赖集 F 逻辑蕴涵的函数依赖的全体构成的集合,称为函数依赖集F的闭包F+

4.如果 X→Y 和 Y ⊆ X 成立,那么 X→Y 是一个 平凡的函数依赖,它可以根据推理规则的 自反性性推出。

5.设有关系模式 R(A,B,C,D),函数依赖 F={AB→C,D→B},则 F 在模式 ACD 上的投影为{AD→C};F 在模式 AC 上的投影为φ

在这里插入图片描述

6.消除了非主属性对主码的部分函数依赖的关系模式,称为2NF模式;消除了非主属性对主码的传递函数依赖的关系模式,称为3NF模式;消除了每一属性对主码的传递函数依赖的关系模式,称为BCNF模式。

7.在关系模式的分解中,数据等价用无损连接衡量,函数依赖等价用保持函数依赖衡量。

8.设有关系模式 R(A,B,C,D),函数依赖 F={AB→C,C→D,D→A},则 R 的所有 3 个可能的候选码分别是AB 、BC 、BD

9.设有关系模式 R(A,B,C,D),函数依赖 F={A→B,B→C},则所有左部是属性 B 的函数依赖分别是B→φ 、B→B 、B→C 、B→BC

10.设有关系模式 R(A,B,C,D),函数依赖 F={A→B,B→C,A→D,D→C},ρ={AB,AC,BD}是 R 上的一个分解,则分解 ρ 中所丢失的函数依赖分别是B→C 、A→D 、D→C

在这里插入图片描述

11.设有关系模式 R(A,B,C,D),函数依赖 F={AB→CD,A→D},则 R 的候选码是AB ,它属于1NF范式的关系模式。

在这里插入图片描述

12.设有关系模式 R(A,B,C,D),函数依赖 F={A→B,B→C,D→B},ρ={ACD,BD}是 R上的一个分解,则子模式{ACD}的候选码是AD ,其范式等级是2NF

在这里插入图片描述

13.在关系模式R(A,B,C,D)中,有函数依赖集F={ B→C,C→D,D→A },则R能够达到3NF

14.1NF、2NF、3NF 之间,相互是一种包含关系。

15.在关系数据库的规范化理论中,在执行“分解”时,必须遵守的规范化规则:保持原有的依赖关系和函数依赖

16.在关系数据库中,任何二元关系模式的最高范式必定为BCNF

三、简答题

1.解释下列术语的含义:函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、范式、无损连接分解、保持函数依赖分解。

  • 函数依赖(Functional Dependency,FD):是关系模式中属性之间的一种逻辑依赖关系。
  • 平凡的函数依赖与非平凡的函数依赖:
    在这里插入图片描述
  • 完全函数依赖与部分函数依赖:

在这里插入图片描述

  • 传递函数依赖:
    在这里插入图片描述

  • 范式:关系模式规范化过程中为不同程度的规范化要求设立的不同标准称为范式

  • 无损连接分解:
    在这里插入图片描述

  • 保持函数依赖分解:
    在这里插入图片描述

2.给出2NF、3NF和BCNF的形式化定义,并说明它们之间的区别和联系

  • 如果关系模式R∈1NF,且每个非主属性都完全函数依赖于R的主码,则称R属于第二范式(Second Normal Form),简称2NF,记作R∈2NF;
  • 如果关系模式R∈2NF,且每个非主属性都不传递函数依赖于R的主码,则称R属于第三范式(Third Normal Form),简称3NF,记作R∈3NF;
  • 如果关系模式R∈1NF,且所有的函数依赖X→Y(Y X),决定因素X都包含了R的一个候选码,则称R属于BC范式(Boyce-Codd Normal Form),记作R∈BCNF;
  • 区别和联系:
    1)BCNF⊂3NF⊂2NF
    2)BCNF、3NF与2NF均是针对函数依赖而定义划分的。2NF、3NF和BCNF是在函数依赖的条件下对模式分解所能达到的分离程度的测度。一个模式中的关系模式如果都属于BCNF,那么在函数依赖范畴内,它已实现了彻底的分离,已消除了插入和删除异常。

3.什么叫关系模式分解?为什么要有关系模式分解?模式分解要遵守什么准则?

  • 关系模式的分解:设有关系模式R(U),R1,R2,…,Rk都是R的子集(此处把关系模式看成是属性的集合),R=R1∪R2∪…∪Rk,关系模式的集合用ρ表示,ρ={R1,R2,…,Rk}。用ρ代替R的过程称为关系模式的分解。
  • 关系模式分解是为了消除关系模式中不合理的数据冗余和操作异常问题。
  • 衡量关系模式的一个分解是否可取,主要有两个标准:
    (1)即分解是否具有无损连接
    (2)分解是否保持了函数依赖

4.试证明全码的关系必是3NF,也必是BCNF

设有关系R(U,F),因为R含全码,所以U中的属性均为主属性,即R不含任何非主属性;
根据3NF的定义,R中没有非主属性对码有传递函数依赖存在。根据定义可下结论:R∈3NF;

5.设有关系模式R(A,B,C,D),函数依赖F={A→C,C→A,B→AC,D→AC,BD→A}

1)求出R的所有候选码

候选码是BD

2)求出F的最小函数依赖集Fmin

在这里插入图片描述

{A→C,C→A,B→A,D→A}

3)根据函数依赖关系,确定关系模式R属于第几范式

第1范式

4)将R分解为3NF,并保持无损连接性和函数依赖性

在这里插入图片描述

P={AC,BA,DA,BD}

6.设有关系模式R(A,B,C,D),函数依赖F={A→C,C→A,B→AC,D→AC}

1)求(AD)+ ,B+

(AD)+ =ACD,B+=ABC

2)求出R的所有候选码

BD

3)求出F的最小函数依赖集Fmin

{A→C,C→A,B→A,D→A}

4)根据函数依赖关系,确定关系模式R属于第几范式

第1范式

5)将R分解为3NF,并保持无损连接性和函数依赖性

P={R1(A,C),R2(B,A),R3(D,A),R4(B,D)}

6)将R分解为BCNF,并保持无损连接性

P={R1(A,C),R2(A,B,D) }

7.关系模式R(A,B,C,D,E),函数依赖F={A→D,E→D,D→B,BC→D,CD→A}

1)求R的候选码

CE

2)根据函数依赖关系,确定关系模式R属于第几范式

第1范式

3)将R分解为3NF,并保持无损连接性

P={R1(A,C),R2(B,C),R3(C,D),R4(D,E,C),R5(C,E,A),R6(B,E)}

8.判断以下关系模式的分解是否具有无损连接性

1)关系模式R(U,V,W,X,Y,Z),函数依赖F={U→V,W→Z,Y→U,WY→X},分解ρ={WZ,VY,WXY,UV}

2)关系模式R(B,O,I,S,Q,D),函数依赖F={S→D,I→B,IS→Q,B→O},分解ρ={SD,IB,ISQ,BO}

3)关系模式R(A,B,C,D),函数依赖F={A→C,D→C,BD→A},分解ρ={AB,ACD,BCD}

4)关系模式R(A,B,C,D,E),函数依赖F={A→C,C→D,B→C,DE→C,CE→A},分解ρ={AD,AB,BC,CDE,AE}

否
1

10.设有关系模式R(A,B,C,D,E,F),函数依赖集F={A→(B,C),(B,C)→A,(B,C,D)→(E,F),E→C}。试问:关系模式R是否为BCNF范式,并证明结论。

R达不到BCNF范式。R的候选关键字有:(A,D)、(B,C,D)、(B,E,D)
按BCNF定义判定即可,具体略。

11.设有关系模式R(A,B,C,D,E),函数依赖集F={A→D,E→D,D→B,(B,C)→D,(D,C)→A}

1)求出R的候选码

CE

2)判断ρ={AB,AE,CE,BCD,AC}是否为无损连接分解?

12.设有关系模式R(A,B,C,D,E),函数依赖集F={A→C,B→D,C→D,DE→C,CE→A}。判断ρ={AD,AB,BE,CDE,AE}是否为无损连接分解?

是无损连接分解

13.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→HG,ABC→PG},求属性集D关于F的闭包D+

D+={DGH}

14.已知关系模式R的全部属性集U={A,B,C,D,E,G}及其函数依赖集:F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},求属性集BD的闭包(BD)+

(BD)+={ABCDEG}

15.设有函数依赖集F={D→G,C→A,CD→E,A→B},求闭包D+、C+、A +、(CD)+、(AD)+、(AC)+、(ACD)+

D+= {DG}

C+= {ABC}

(CD)+= {ABCDEG}

(AD)+= {ABDG}

(AC)+= {ABC}

(ACD)+= {ABCDEG}

16.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→HG,ABC→PG},求与F等价的最小函数依赖集

Fmin={AB→E,A→C,GP→B,EP→A,CDE→P,HB→P,D→H,D→G,AB→P,AB→G}

17.设有关系模式R(U,F),其中:U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E},求F的最小函数依赖集

Fmin = { E→G,G→E,F→E,H→E }

18.求以下给定关系模式的所有候选码

1)关系模式R(A,B,C,D,E,P),其函数依赖集F={A→B,C→P,E→A,CE→D}

CE
1

2)关系模式R(C,T,S,N,G),其函数依赖集F={C→T,CS→G,S→N}

CS
1

3)关系模式R(C,S,Z),其函数依赖集F={(C,S)→Z,Z→C}

CS,ZS
1

4)关系模式R(S,D,I,B,O,Q),其函数依赖集F={S→D,I→B,B→O,O→Q,Q→I}

SI,SB,SO,SQ
1

5)关系模式R(S,D,I,B,O,Q),其函数依赖集F={I→B,B→O,I→Q,S→D}

SI
1

6)关系模式R(A,B,C,D,E,F),其函数依赖集F={AB→E,AC→F,AD→B,B→C,C→D}

AB,AC,AD
1

21.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→HG,ABC→PG},求与F等价的最小函数依赖集

Fmin={AB→E,A→C,GP→B,EP→A,CDE→P,HB→P,D→H,D→G,AB→P,AB→G}

22.设有关系模式R(B,O,I,S,Q,D),其上函数依赖集为:F={S→D,I→B,IS→Q,B→O},如果用SD、IB、ISQ和BO代替R,这样的分解具有无损连接吗

该分解是无损连接

附两个相似题:

在这里插入图片描述

第七章 数据库设计

一、选择题

1.( )表达了数据和处理过程的关系。

A)数据字典
B)数据流图
C)逻辑设计
D)概念设计

2.E-R 图的基本成分不包含( )。

A)实体
B)属性
C)元组
D)联系

3.规范化理论是数据库( )阶段的指南和工具。

A)需求分析
B)概念设计
C)逻辑设计
D)物理设计

4.下列因素中,( )不是决定存储结构的主要因素。

A)实施难度
B)存取时间
C)存储空间
D)维护代价

5.建立实际数据库结构是( )阶段的任务。

A)逻辑设计
B)物理设计
C)数据库实施
D)运行和维护

6.当局部 E-R 图合并成全局 E-R 图时可能出现冲突,不属于合并冲突的是( )。

A)属性冲突
B)语法冲突
C)结构冲突
D)命名冲突

7.从 E-R 模型向关系模型转换时,一个 M:N 联系转换为关系模式时,该关系模式的码是( )。

A)M 端实体的主码
B)N 端实体的主码
C)M 端实体主码与 N 端实体主码组合
D)重新选取其他属性

8.数据库设计人员和用户之间沟通信息的桥梁是( )。

A)程序流程图
B)实体联系图
C)模块结构图
D)数据结构图

9.概念结构设计的主要目标是产生数据库的概念结构,该结构主要反映( )。

A)应用程序员的编程需求
B)DBA 的管理信息需求
C)数据库系统的维护需求
D)企业组织的信息需求

10.设计子模式属于数据库设计的( )。

A)需求分析
B)概念设计
C)逻辑设计
D)物理设计

11.需求分析阶段设计数据流图(DFD)通常采用( )。

A)面向对象的方法
B)回溯的方法
C)自底向上的方法
D)自顶向下的方法

12.在数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的( )阶段。

A)需求分析
B)概念设计
C)逻辑设计
D)物理设计

13.数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是( )。

A)建立库结构
B)扩充功能
C)加载数据
D)系统调试

14.在数据库的概念设计中,最常用的数据模型是( )。

A)形象模型
B)物理模型
C)逻辑模型
D)实体联系模型

15.下列活动不属于需求分析阶段工作的是( )。

A)分析用户活动
B)建立 E-R 图
C)建立数据字典
D)建立数据流图

16.将一个一对多关系转换为一个独立模式时,应取( )为主码。

A)一个实体型的主码
B)多端实体型的主码
C)两个实体型的主码属性组合
D)联系型的全部属性

17.在 E-R 模型中,如果有 3 个不同的实体集、3 个 m:n 联系,根据 E-R 模型转换为关系模型的规则,转换( )个关系模式。

A)4
B)5
C)6
D)7

二、填空题

1.数据库设计包括数据库的结构设计和数据库的行为设计两方面的内容。

2.新奥尔良法是目前公认的比较完整和权威的一种规范设计法。

3.数据库设计中,前四个阶段可统称为分析和设计,后两个阶段统称为实现和运行。

4.需求分析是数据库设计的起点,为以后的具体设计做准备。

5.概念结构设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。

6.自顶向下地进行需求分析,再自底向上地设计概念结构。

7.合并局部 E-R 图时可能会发生三种冲突,它们是:属性冲突、命名冲突和结构冲突。

8.将 E-R 图向关系模型进行转换是逻辑结构设计阶段的任务。

9.数据库的物理结构设计主要包括确定物理结构和评价物理结构

10.数据库加载是数据库实施阶段的主要工作。

11.重新组织和构造数据库是运行和维护阶段的任务。

12.“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计中的物理设计阶段。

13.在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程的描述,通常称为数据字典

14.数据流图(DFD)是用于描述结构化方法中需求分析阶段的工具。

15.在数据库实施阶段包括两项重要的工作,一项是数据的载入,另一项是应用程序的编码和调试。

三、设计题

1.一个图书管理系统中有如下信息。
图书:书号、书名、数量、位置
借书人:借书证号、姓名、单位
出版社:出版社名、邮编、地址、电话、E-mail
其中约定:
任何人可以借多种书,任何一种书可以被多个人借,借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社名具有唯一性。
根据以上情况,完成如下设计。
(1)设计该系统的 E-R 图。
(2)将 E-R 图转换为关系模式。
(3)指出转换后的每个关系模式的主码。

E-R图:
在这里插入图片描述

关系模式及主码:
图书(书号,书名,数量,位置,出版社名)
借书人(借书证号,姓名,单位)
出版社(出版社名,邮编,地址,电话,E-mail)
借阅(借书证号,书号,借书日期,还书日期)

2.图 6-26(a)、(b)和(c)给出某企业管理系统三个不同的局部 E-R 图,将其合成一个全局E-R 图,并设置各个实体以及联系的属性(允许增加必要的属性,也可将实体的属性改为联系的属性)。
在这里插入图片描述

各实体的属性如下。
部门:部门号、部门名、电话、地址
职员:职员号、职员名、职务、年龄、性别
设备处:单位号、电话、地址
工人:工人编号、姓名、年龄、性别
设备:设备号、名称、规格、价格
零件:零件号、名称、规格、价格
厂商:单位号、名称、电话、地址

在这里插入图片描述

3.经过需求分析可知,某医院病房计算机管理系统中需要管理以下信息。
科室:科室名、科室地址、科室电话、医生姓名
病房:病房号、床位号、所属科室
医生:工作证号、姓名、性别、出生日期、联系电话、职称、所属科室名
病人:病历号、姓名、性别、出生日期、诊断记录、主管医生、病房号
其中,一个科室有多个病房、多名医生,一个病房只属于一个科室,一个医生只属于一个科室, 但可负责多个病人的诊治,一个病人的主管医生只有一个。
根据以上需求分析的情况,完成以下有关的设计。
(1)画出该计算机管理系统中有关信息的 E-R 图。
(2)将该 E-R 图转换为对应的关系模式。
(3)指出转换以后的各关系模式的范式等级和对应的候选码。

E-R图:
在这里插入图片描述

关系模式及候选码:
科室(科室名,科室地址,科室电话)
病房(病房号,床位号,科室名)
医生(工作证号,姓名,性别,出生日期,联系电话,职称,科室名)
病人(病历号,姓名,性别,出生日期,诊断记录,主管医生,病房号)

范式等级略

4.排课是教学环节中的重要过程,该过程包括以下实体。
1.课程实体:course(cid,cname,chour,ctype)
cid 唯一标识每一个课程
cname :课程名
chour :课程学时
ctype :课程类别(0 表示选修课,1 表示必修课)
2.教室实体:classroom(crid,crname,crbuilding)
crid 用于标识每一个教室
crbuilding:教室的楼宇
crname :教室的名称
3.教师实体:teacher(tid,tname)
tid 唯一标识每一名教师
tname :教师姓名
各实体的关系是:每一个教师可以教授多门课程,一门课程可以被多个教师教授,一个教室可 以承载多门课程,一个课程可以被安排在多个教室中。当课程安排在指定教室的时候,需指明安排 的日期(cdata)以及当天的第几节课程(carrange)。
请根据上述需求,回答以下问题。
(1)设计该系统的 E-R 图。
(2)将 E-R 图转换成关系模式,并指出主码。
(3)根据关系模式,使用 SQL 创建课程实体,要求 SQL 语句中包含主码约束和非空约束,各属
性的类型及长度自选。

在这里插入图片描述

关系模式:
course (cid, cname, chour,ctype)
classroom (crid, crname, crbuilding)
teacher(tid,tname)
teach (tid,cid)
arrangement (cid, crid, cdate, carrage)

创建课程实体:

CREATE TABLE course
(cid CHAR (8) PRIMARY KEY,
cname VARCHAR (20) NOT NULL,
chour INTNOT NULL,
ctype INT NOT NULL
);

5.图书管理系统是一类常见的信息管理系统。分析图书管理系统后,初步获得的实体信息如下。
图书:book(bookid,bookname,num)
bookid 用于标识每一本图书
bookname :图书名称
num :图书数量
借阅用户:bookuser(tid,username,age)
tid :用于标识每一个借书用户
username 为借 书用户姓名
age 为借书用户年龄
图书实体与借阅用户实体间的关系是:借阅用户可以借阅多本图书,同时,一本图书可以被多个借阅用户借阅。借阅过程产生借书日期(borrow_time)和还书日期(return_time)等属性。
请根据上述需求,回答以下问题。
(1)设计该系统的 E-R 图。
(2)将 E-R 图转换成关系模式,并指出主码。
(3)根据关系模式,使用 SQL 创建借书用户实体,要求 SQL 语句中包含主码约束和非空约束。

E-R 图:
在这里插入图片描述

关系模式:
book (bookid, bookname, num)
bookuser(tid,username,age)
borrow (bookid, tid, borrow_time, return_time)

创建用户实体:

CREATE TABLE bookuser
(tid CHAR (8) PRIMARY KEY,
username VARCHAR (20) NOT NULL,
age INT,
);

四、简答题

1.数据库设计分为哪几个阶段?每个阶段的主要工作是什么?

按规范设计法可将数据库设计分为六个阶段:

  • 1.系统需求分析阶段
    需求分析是整个数据库设计过程的基础,要收集数据库所有用户的信息内容和处理要求,并加以规格化和分析。
  • 2.概念结构设计阶段
    概念结构设计是把用户的信息要求统一到一个整体逻辑结构中。
  • 3.逻辑结构设计阶段
    逻辑结构设计是将上一步所得到的概念模型转换为某个DBMS所支持的数据模型,并对其进行优化。
  • 4.物理结构设计阶段
    物理结构设计是为逻辑数据模型建立一个完整的、能实现的数据库结构,包括存储结构和存取方法。
  • 5.数据库实施阶段
    此阶段可根据物理结构设计的结果把原始数据装入数据库,建立一个具体的数据库并编写和调试相应的应用程序。
  • 6.数据库运行与维护阶段
    这一阶段主要是收集和记录实际系统运行的数据,数据库运行的记录用来提供用户要求的有效信息,用来评价数据库系统的性能,并进一步调整和修改数据库。

2.在数据库设计中,需求分析阶段的任务是什么?主要包括哪些内容?

  • 从数据库设计的角度来看,需求分析的任务是:对现实世界要处理的对象(组织、部门、企业)等进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。
  • 需求分析阶段的任务包括:
    (1)调查分析用户活动;
    (2)收集和分析需求数据,确定系统边界;
    (3)编写系统分析报告。

3.数据输入在实施阶段的重要性是什么?如何保证输入数据的正确性?

由于数据库的数据量一般都很大,它们分散于一个企业(或组织)中各个部门的数据文件、报表或多种形式的单据中,存在着大量的重复,并且其格式和结构一般都不符合数据库的要求,必须把这些数据收集起来加以整理,去掉冗余并转换成数据库所规定的格式,这样处理之后才能装入数据库为了保证装入数据库中数据的正确无误,必须高度重视数据的校验工作。

在输入子系统的设计中应该考虑多种数据检验技术,在数据转换过程中应使用不同的方法进行多次检验,确认正确后方可入库。

4.什么是数据库的概念结构?试述概念结构设计的步骤。

  • 概念结构是信息世界的结构,即概念模型。概念结构具有语义表达能力丰富、易于交流和理解、易于修改和扩充、易于向各种数据模型转换。
  • 概念结构设计的步骤自底向上的设计方法可分为以下两步:
    (1)进行数据抽象,设计局部E-R模型,即设计用户视图;
    (2)集成各局部E-R模型,形成全局E-R模型,即视图集成。

5.用 E-R 图表示概念模式有什么好处?

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。E-R可将现实世界中的复杂联系抽象为简明的图形结构,可有效提高数据库概念设计的效率和灵活性。

6.试述实体、属性划分的原则,并举例说明。

实体和属性之间在形式上并无可以明显区分的界限,通常是按照现实世界中事物的自然划分来定义实体和属性,将现实世界中的事物进行数据抽象,得到实体和属性。

一般有两种数据抽象:分类和聚集。

①分类(Classification).分类定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体。对象和实体之间是“is member of”的关系。例如,在教学管理中,“赵亦”是一名学生,表示“赵亦”是学生中的一员,她具有学生们共同的特性和行为。

②聚集(Aggregation).聚集定义某一类型的组成成分,将对象类型的组成成分抽象为实体的属性。组成成分与对象类型之间是“is part of”的关系。例如,学号、姓名、性别、年龄和系别等可以抽象为学生实体的属性,其中学号是标识学生实体的主码。

7.局部 E-R 图的集成主要解决什么问题?

(1)合并局部E-R图,消除局部E-R图之间的冲突
(2)通过E-R图优化,消除不必要的冗余,生成基本E-R图。

8.试述逻辑设计的步骤及把 E-R 图转换为关系模式的转换原则,并举例说明。

将E-R图转换为关系模型实际上就是将实体、属性和联系转换成关系模式。在转换中要遵循以下原则:
(1)一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系
的主码。
(2)一个联系转换为一个关系模式,与该联系相连的各实体的主码以及联系的属性均
转换为该关系的属性。该关系的主码有三种情况。
①如果联系为1:1,则每个实体的主码都可以是关系的候选码。
②如果联系为1:m,则n端实体的主码是关系的主码。
③如果联系为n:m,则每个实体的主码的组合是关系的主码。
暂无举例

9.试述数据库实施阶段的工作要点。

数据库实施主要包括:建立实际数据库结构、装入数据、应用程序编码与调试、数据库试运行和整理文档。

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

规范化理论是数据库逻辑设计的指南和工具,应用规范化理论可对关系的逻辑模式进行初步优化,以减少乃至消除关系模式中存在的各种异常,改善完整性、一致性和存储效率。

在需求分析阶段、概念结构设计阶段和逻辑结构设计阶段,数据库规范化理论的应用如下:
(1)在需求分析阶段,用函数依赖的概念分析和表示各个数据项之间的联系。
(2)在概念结构设计阶段,以规范化理论为指导,确定关系的主码,消除初步E-R图中冗余的联系。
(3)在逻辑结构设计阶段,从E-R图向数据模型转换过程中,用模式合并与分解方法达到指定的数据库规范化级别(至少达到3NF).

1 .试述数据、数据库数据库系统、数据库管理系统的概念。 答: ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义是不可分的。 500 这个数字可以表示一件物品的价格是 500 元,也可以表示一个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。 ( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 ( 3 )数据库系统( DataBas 。 Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统,数据库数据库系统的一个组成部分。但是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。 ( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。目前,专门研制 DBMS 的厂商及其研制的 DBMS 产品很多。著名的有美国 IBM 公司的 DBZ 关系数据库管理系统和 IMS 层次数据库管理系统、美国 Oracle 公司的 orade 关系数据库管理系统、 s 油 ase 公司的 s 油 ase 关系数据库管理系统、美国微软公司的 SQL Serve ,关系数据库管理系统等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Loop_kc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值