数据库系统原理练习题2-me(5)

更新时间:2023-10-10 04:20:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

练习题2

2.1 名词解释

(1)数据库工程、数据库系统生存期

以数据库为基础的通常称为数据库应用系统,它一般具有信息的采集、组织、加工、抽取、综合和转播功能。数据库应用系统的开发是一项软件工程,但又有自己特有的特点,所以特称为“数据库工程”。 数据库应用系统从开始规划、设计、实现、维护到最后被新的系统所取代而停止使用的整个期间,称为数据库系统生存期。 (2)实体、实体集、实体类型和实体标识符

实体(entity)是一个数据对象,指应用中可以区别的客观存在并可互相区别的“事件”或“物体”的抽象。

实体集(entity set)是指同一类实体构成的集合。 实体类型(entity type)是对实体集中实体的定义。

实体的某一特征称为属性(attribute)。在一个实体中,能够惟一标识实体的属性或属性集称为“实体标识符”。 (3)联系、联系集和联系类型 联系(relationship)表示一个或多个实体之间的关联联系。 联系集(relationship set)是指用一类联系构成的集合。

联系类型(relationship type)是对联系集中联系的定义。

(4)属性、简单属性、复合属性、单值属性、多值属性、存储属性和派生属性

属性(attribute):实体的特征称为属性。 简单属性(Simple Attribute):不可能再分割的属性。 复合属性(Composite Attitute):可以在分解为其他属性的属性(即属性可嵌套) 单值属性(Single-Valued Attibute):指同一实体的属性只能取一个值。

多值属性(Multi-Valued Attibute):指同一实体的某些属性可能取多个值。多值属性用双线椭圆形表示。

存储属性(Stored Attribute):需要存储值的属性。 派生属性(Derived Attribute):可以从其他属性值推导出值的属性。派生属性的值不必存储在数据库内。派生属性用虚线椭圆形与实体相连。 (5)联系、联系元数、映射基数、完全参与、部分参与 联系(relationship)表示一个或多个实体之间的关联联系。

联系元数(Degree):一个联系涉及到实体集个数,称为该联系的元数或度数。

映射基数(Mapping Cardinalities):参与一个联系中的实体数目称为映射基数。

完全参与:如果实体集E中的每个实体都参与联系集R的至少一个联系中,我们称实体集E“完全参与”联系集R。

部分参与:如果实体集E中只有部分实体参与联系集R的联系中,我们称实体集E“部分参与”联系集R。

在ER图中表示,完全参与用双线边表示,部分参与用单线边表示。 (6)关系模型、关系模式、关系实例、属性、域、元组。

关系模型(Relational Model):用二维表格实体集,用关键码表示实体之间联系的数据模型称为关系模型。 关系模式:在关系模型中,记录类型称为关系模式。

关系实例:在关系模式中,记录(元组)的集合称为关系实例(Relation)。

属性:在关系模式中,字段称为属性。

域:关系中每一个属性都有一个取值范围,称为属性的值域(Domain)。属性A的取值范围用DOM(A)表示。每一个属性对应一个值域,不同的属性可对应于同一值域。 元组:在关系模式中,记录称为元组(Tuple)。 (7)超键、候选键、主键、外键

超键(Support Key):在关系中能惟一标识元组的属性集称为模式的超键。 候选键(Candidate Key):不含有多余属性的超键称为候选键。也就是在候选键中,

若再删除属性,就不是键了。 主键(Primary Key):用户选作元组标识的候选键称为主键。一般如不加说明,键是指主键。

外键(Foreign Key):如果模式R中属性K是其它模式的主键,那么K在模式R中称为外键。

(8)实体完整性规则、参照完整性规则 实体完整性规则(Entity Integrity Rule) 这条规则要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不来惟一标识元组的作用。

参照完整性规则(Reference Integrity Rule) 如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值。

(9)弱实体、子类实体、超类实体 弱实体:一个实体对另一个实体(称为强实体)具有很强的依赖关系,而且该实体主键的一部分或全部从其强实体中获得,则称该实体为弱实体。在ER图中,弱实体用双线矩形框表示。 子类实体、超类实体:当较低层上实体类型表达了与之联系的较高层上的实体类型的特殊情况时,就称较高层上实体类型为超类型(Supertype),较低层上实体类型为子类型(Subtype)。

2.2 数据库设计的规划阶段应做那些事情? 对于数据库系统,特别是大型数据库系统或大型信息系统中的数据库群,规划阶段是十分必要的。规划的好坏将直接影响到整个系统的成功与否,对应用单位的信息化进程将产生深远的影响。

规划阶段具体可分成三个步骤:

(1)系统调查。对应用单位作全面的调查。发现其存在的主要问题,并画出组织层次图,以了解企业的组织机构。

(2)可行性分析。从技术、经济、效益、法律等诸方面对建立数据库的可行性进行分析;然后写出可行性分析报告;组织专家进行讨论其可行性。

(3)确定数据库系统的总目标,并对应用单位的工作流程进行优化和制订项目开发计划。在得到决策部门批准后,就正式进入数据库系统的开发工作。

2.3 数据库设计的需求分析阶段工作主要由哪四部组成?

这一阶段是计算机人员(系统分析员)和用户双方共同收集数据库所需要的信息内容和用户对处理的需求。并以需求说明书的形式确定下来,作为以后系统开发的指南和系统验证的依据。

需求分析的工作主要由下面四部组成:

1.分析用户活动,产生业务流程图

了解用户的业务活动和职能,搞清其处理流程(业务流程)。如果一个处理比较复杂,就要把处理分解成若干个子处理,使每个处理功能明确,界面清晰,分析之后画出用户的业务流程图。

2.确定系统范围,产生系统关联图 这一步是确定系统的边界,在和用户经过充分讨论的基础上,确定计算机所能进行的数据处理的范围,确定那些工作由人工完成,那些工作由计算机系统完成,即确定人机界面。

3.分析用户活动所涉及的数据,产生数据流图

深入分析用户的业务流程,以数据流图形式表示出数据的流向和对数据所进行的加工。 数据流图(Data Flow Diagram,简记为DFD)是从“数据”和“对数据的加工”两方面表达数据处理系统工作过程的一种图形表示法,具有直观、易于被用户和软件人员双方都能理解的一种表达系统功能的描述方式。

4.分析系统数据,产生数据字典

数据字典是对数据描述的集中管理,它的功能是存储和检索各种数据描述(称为元数据 Metadata)。对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的主要成果。

数据字典中通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。 需求分析阶段的有关内容在“软件工程”课程中有详细的介绍,这里不再详述。

2.4 在数据库设计中,为什么要有概念设计这一阶段?

在早期的数据库设计中,概念设计并不是一个独立的设计阶段,当时的设计方式是在需求分析之后,直接把用户信息需求得到的数据存储格式转换成DBMS能处理的逻辑模型。这样,注意力往往牵扯到更多的细节限制方面,而不能集中在最重要的信息组织结构和处理模型上。因此在设计依赖于具体DBMS的逻辑模型后,当外界环境发生变化时,设计结果就难以适应这个变化。

为了改善这种状况,在需求分析和逻辑设计之间增加了概念设计阶段。此时,设计人员仅从用户角度看待数据及处理需求和约束,尔后产生反映用户观点的概念模型(也称为“组织模型”)。将概念模型从设计过程中独立出来,可以使数据库设计各阶段的任务相对单一化,得以有效控制设计的复杂程度,便于组织管理。概念模型能充分反映现实世界中实体间的联系,又是各种基本数据模型的共同基础,同时也容易向现在普遍使用的关系模型转换。

2.5 试述概念设计的主要步骤?

概念设计的任务一般可分为三步来完成:进行数据抽象,设计局部概念模型;将局部概念模型综合成全局概念模型;评审。

(1)进行数据抽象,设计局部概念模型 (2)将局部概念模型综合成全局概念模型 (3)评审

2.6 逻辑设计的目的是什么?试述逻辑设计的主要步骤及内容? 答: 逻辑设计的目的是把概念设计阶段设计好的基本ER图转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。这些模式在功能、性能、完整性和一致性约束及数据库的可扩充性等方面均应满足用户的各种要求。 逻辑设计阶段主要有五步:

1.把概念模型转换成逻辑模型 2.设计外模型

3.设计应用程序和数据库的接口 4.评价模型 5.修正模型

2.7 什么是数据库结构的物理设计?试述其具体步骤? 答: 对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程,称为DB的物理设计。

物理设计有五步:

确定DB的存储记录结构;确定数据存储按排;存取方法的设计;完整性和安全性的设

计;应用程序设计。

2.8 数据库实现阶段主要做哪几件事情? 答:

2.9 数据库系统投入运行后,有那些维护工作? 答:

DBS投入运行以后,就进入运行维护阶段。其主要工作有四项: 维护DB的安全性与完整性及系统的转储和恢复; DB性能的监督、分析与改进; 增加DB新功能;

改正运行中发现的系统错误。

数据库实现阶段主要有以下三项工作:

建立实际DB结构;装入试验数据调试应用程序;装入实际数据进入试运行状态。

2.10 在概念设计中,如何把多值属性变换成系统容易实现的形式? 将原来的多值属性用几个新的单值属性来表示。例如,在零件供应数据库中,销售价格可分解为4个单值属性:经销价格、代销价格、批发价格和零售价格。

将原来的多值属性用一个新的实体类型表示。这个新属性类型和原来的实体类型之间是1:N联系。这个新实体依赖于原实体而存在,我们称之为弱实体。

2.11 对联系类型有哪两种约束?试详细解释之。 联系类型的约束限制了参与联系的实体的数目。有两类联系约束:基数约束和参与约束。 基数约束(基数比约束):

实体之间联系过程中,参与一个联系中的实体数目称为映射基数。 二元联系:一对一(1:1),一对多(1:N)),多对多(M:N)

三元联系:1:1:1,1:1:N,1:M:N,M:N:P

在具体实现时,有时我们对映射基数还要做出更精确的描述,即对参与联系的实体数目指明相关的最小映射基数min和最大映射基数max,用范围“min,max”的方式表示。比如“1,*”表示参与联系的实体至少为1个,上界没有限制,即“*”表示“∞”。 如果实体集E中的每个实体都参与联系集R的至少一个联系中,我们称实体集E“完全参与”联系集R。如果实体集E中只有部分实体参与联系集R的联系中,我们称实体集E

“部分参与”联系集R。在ER图中表示,完全参与用双线边表示,部分参与用单线边表示。

2.12 采用ER模型的数据库概念设计有那些主要的步骤?

采用ER模型进行数据库的概念设计,可以分成三步进行:首先设计局部ER模型,然后把各局部ER模型综合成一个全局ER模型,最后对全局ER模型进行优化,得到最终的ER模型,即概念模型。 1.设计局部ER模型

?

? ? ?

? ?

确定局部结构范围 定义实体 定义联系 分配属性 确定公共ER模型 合并局部ER模型

2.设计全局ER模型

? 消除冲突

3.全局ER模型的优化 ? ? ?

2.13 在关系模型中,关系具有那些性质? 关系是一个属性数目相同的元组的集合。集合中的元组,每个元组的属性数目应该相同。 如果一个关系的元组数目是无限的,则称为无限关系,否则称为有限关系。由于计算机存储系统的限制,只限于研究有限关系。 尽管关系与二维表格、传统的数据文件有类似之处,但他们又有区别。严格地讲,关系是一种规范化了的二维表格。在关系模型中,对关系作了下来规范性限制: (1)关系中每一个属性值都是不可分解的;

(2)关系中不允许出现重复元组(即不允许出现相同的元组);

(3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序; (4)元组中的属性在理论上也是无序的,但使用时按习惯考虑的顺序。

合并实体类型 消除冗余属性 消除冗余类型

2.14 为什么关系中的元组没有先后顺序?且不允许有重复的元组? 因为在关系中,元组的查询是通过键确定的,不是通过元组的顺序确定的,故在关系中的元组没有先后顺序。

也是由于元组的查询是通过键确定的。如果出现重复的元组,在查询过程中就不能惟一确定一个元组。

2.15 参照完整性规则使用时,有那些变通?试举例说明。 如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值。

这条规则的实质是“不允许用不存在的实体”。这条规则在具体使用时,有三点变通; (1)外键和相应的主键可以不同名,只要定义在相同值域上即可;

(2)R1和R2也可以是同一个关系模式,此时表示了同一个关系中不同元组之间的联系; (3)外键值是否允许为空,应视具体问题而定。

本文来源:https://www.bwwdw.com/article/qc0f.html

Top