数据库系统原理练习题2

更新时间:2024-01-16 22:14:02 阅读量: 教育文库 文档下载

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

练习题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)外键值是否允许为空,应视具体问题而定。

TEACHER(T#,TNAME,TITLE) COURSE(C#,CNAME,T#)

STUDENT(S#,SNAME,AGE,SEX) SC(S#,C#,SCORE)

2.16 设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工号、姓名、性别、业绩等。

商店与商品间存在“销售”关系,每个商店可销售多种商品,每种商品也可以放在多个商店销售,每个商店每销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。 试画出ER图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。

这个ER图有四个实体,其属性如下: 商店(商店号,商店名,地址) 商品(商品号,商品名,规格,单价)

职工(职工号,姓名,性别,业绩,商店号,聘期,月薪) 销售(商店号,商品号,月销售量) 商店号 商店名 地址 聘用 N 职工 姓名 性别 业绩 M 商店 1 职工号 销售 月销售量 商品名 规格 单价 商品号 N 商品 聘期 月薪 2.17设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司号、公司名、地址等;二是“仓库”实体集,属性有仓库号、仓库名、地址等;三是“职工”实体集,属性有职工号、姓名、性别等。 公司和仓库间存在“隶属”关系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖,仓库与职工之间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 试画出ER图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。

公司号 公司名 地址 聘期 聘用 工资 N 职工 1 N 仓库号 仓库名 地址 公司 隶属 仓库 1 职工号 姓名 性别 这个ER图有四个实体,其属性如下: 公司(公司号,公司名,地址)

仓库(仓库号,仓库名,地址,公司号)

职工(职工号,姓名,性别,仓库号,聘期,工资)

2.18设某商业集团数据库中有三个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商号、供应商名、地址等。 供应商与商品间存在“供应”关系,每个供应商可供应多种商品,每种商品也可向多个供应商订购,供应商供应商品有月供应量;商店与商品间存在着“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,商店销售商品有月计划数。

试画出ER图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。

2.19 ER图转换成关系模式集的具体思想是什么? ER图中的主要成分是实体类型和联系类型,转换算法就是如何把实体类型、联系类型转换成关系模式。

算法2.1 把ER图中实体类型和联系类型转换关系模式的算法。 步骤1(实体类型的转换):

将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体

标识符即为关系模式的键。

步骤2(联系类型的转换): 根据不同情况做不同的处理。

步骤2.1(二元联系类型的转换)

(1) 若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中

任意一个关系模式的属性中加入另一个关系模式的键(作为外键)和联系类型的属性。

(2) 若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键(作为外键)和联系类型的属性。

(3) 若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为

两端实体类型的键(作为外键)加上联系类型的属性,而键为两端实

供应商号 N 供应商名 地址 商品号 商品名 规格 单价 供应商 M 供应 N 商品 商店 M 月供应量 销售 月计划数 商店号 商店名 地址 这个ER图有五个实体,其属性如下: 商 品(商品号,商品名,规格,单价) 商 店(商店号,商店名,地址)

供应商(供应商号,供应商名,地址) 供 应(商品号,供应商号,月供应量) 销 售(商店号,商品号,月计划数)

体键的组合。

步骤2.2(一元联系类型的转换)

和二元联系类型的转换(步骤2.1)类似。 步骤2.3(三元联系类型的转换)

(1) 若实体间联系是1:1:1,可以在三个实体类型转换成的三个关系模

式中任意一个关系的属性中加入另两个关系模式的键(作为外键)和联系类型的属性。

(2) 若实体间联系是1:1:N,则在N端实体类型转换成的关系模式中加

入两个1端实体的键(作为外键)和联系类型的属性。 (3) 若实体间联系是1:M:N,则将联系类型也转换成关系模式,其属性

为M端和N端实体类型的键(作为外键)加上联系类型的属性,而键为M端和N端实体键的组合。

(4) 若实体间联系是M:N:P,则将联系类型也转换成关系模式,其属性为三端实体类型的键(作为外键)加上联系类型的属性,而键为三端

实体键的组合。

2.20 采用ER模型的数据库逻辑设计有那些步骤? 关系数据库的逻辑设计的结果是一组关系模式的定义。由于关系模型的固有优点,逻辑设计可以运用关系数据库模式设计理论(见后面第3章),使设计过程形式化的进行,并且结果可以验证。关系数据库的逻辑设计步骤有以下五步。 1.导出初始关系模式集

逻辑设计的第一步是把概念设计的结果(即全局ER模型)转换成初始关系模式集。 2.规范化处理 规范化的目的是减少乃至消除关系模式中存在的各种异常,改善完整性、一致性和存储效率。

确定规范级别之后,利用范式的定义(见后面第3章3.4节),逐一考察关系模式,判断它们是否满足规范要求。若不符合上一步所确定的规范级别,则利用相应的规范算法将关系模式规范化。 3.模式评价 模式评价的目的是检查已给出的数据库模式是否完全满足用户的功能要求,是否具有较高的效率,并确定需要加以修正的部分。模式评价主要包括功能和性能两个方面。 4.模式修正 根据模式评价的结果,对已生成的模式集进行修正。修正的方式依赖于导致修正的原因,如果因为需求分析、概念设计的疏漏导致某些应用不能得到支持,则应相应增加新的关系模式或属性;如果因为性能考虑而要求修正,则可采用合并、分解或选用另外结构的方式进行。在经过模式评价和修正的反复多次后,最终的数据库模式得以确定,全局逻辑结构设计即告结束。

5.设计子模式 在逻辑设计阶段,还要设计出全部子模式。子模式是面向各个最终用户或用户集团的局

部逻辑结构。子模式体现了各个用户对数据库的不同观点,也提供了某种程度的安全性控制。

2.21 某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目。试为该锦标赛各个代表团、运动员、比赛项目、比赛情况设计一个ER模型。 解:

1. 需求分析阶段:这样阶段是计算机人员(系统分析员)和用户双方共同收集数据库

所需要的信息内容和用户处理的需求。并以需求说明书的形式确定下来,作为以后

系统开发的指南和系统验证的依据。 (1)锦标赛有若干国家的代表团参加

(2)每个国家代表团由若干运动员组成,每个运动员只能参加一个代表团。 (3)锦标赛有若干比赛项目,运动员可以参加多个项目,

2. 概念设计阶段:概念设计的目的是产生反映用户信息需求的数据库概念结构,即概

念模型,概念模型是独立于计算机硬件结构,独立于支持数据库的DBMS。

3. 逻辑设计阶段:逻辑设计的目的是把概念设计阶段设计好的概念模型转换成与选用

的具体机器上的DBMS所支持的数据模型相符合的逻辑结构。 代 表 团(国家码,国家名)

运 动 员(编号,姓名,性别,年龄,国家码) 比赛项目(项目编码,项目名称) 参加比赛(项目编码,编号,名次)

国家码 编号 国家名 金牌数 银牌数 铜牌数 代表团 1 组成 N 姓名 运动员 M 性别 年龄 名次 参加比赛 N 比赛项目 项目编码 项目名称

2.22 假设某超市公司要设计一个数据库系统来管理该公司的业务信息。该超市公司的业务管理规则如下: (1)该超市公司有若干仓库,若干连锁商店,供应若干商品。 (2)每个商店有一个经理和若干收银员,每个收银员只在一个商店工作。 (3)每个商店销售多种商品,每一种商品可在不同商店销售。 (4)每个商品编号只有一个商品名称,但不同的商品编号可以有相同的商品名称。每种商品可以有多种销售价格。

职工号 姓名 性别 销售性质 销售价格 商品号 商品名 N 商品 1 存在 N 销售价格 M 销售 N 商店 1 属于 N 职工 1 N 经理 商店名称 商店编号 进货P 仓库 N 仓库名 仓库号 (5)超市公司的业务员负责商品的进货业务。 试按上述规则设计ER模型。

业务员号 姓名 业务员 M 该ER图有6个实体类型,其中一个是弱实体。其结构如下: 商 业 务 商 仓

品(商品号,商品名) 员(业务员号,姓名)

店(商店编号,商店名称) 库(仓库号,仓库名)

职 工(工号号,姓名,性别) 销售价格(销售性质,销售价格)

实体之间的联系有5个,其中3个1:N联系,2个M:N:P联系,其中联系的属性如下: 进货(进货单号,日期,数量,经手人) 销售(销售单号,日期,数量,经手人)

根据转换算法,ER图中有6个实体类型,可转换成6个关系模式,另外ER图中有2

个M:N:P联系,也将转换成2个关系模式。因此共可转换为8个关系模式,具体如下:

商 品(商品号,商品名)

销售价格(商品号,销售性质,销售单价)

业 务 员(业务员号,姓名)

商 店(商店编号,商店名称) 仓 库(仓库号,仓库名)

职 工(工号号,姓名,性别,商店编号,经理工号)

进货(进货单号,日期,数量,经手人,商品号,仓库号,业务员号) 销售(销售单号,日期,数量,经手人,商品号,仓库号,商店编号)

2.23 试把2.5.2、2.5.3、2.5.4等三小节中的ER模型转换成关系模型,并指出每个关系模式的主键和外键。

某公司设计了人事信息管理系统,其中涉及到职工、部门、岗位、技能、培训课程、奖惩记录等信息。其ER图如图2.27所示。

选课 工资 1 享有 N 1 M 奖惩 接受 考核 N 职工 M N 聘任 1 设置 N 岗位 属于 1 部门 M 培训课程 M N N 技能 图 2.27 人事管理信息系统的ER模型

该ER图有7个实体类型,其属性如下:

职工(工号,姓名,性别,年龄,学历) 部门(部门号,部门名称,职能) 岗位(岗位编号,岗位名称,岗位等级) 技能(技能编号,技能名称,技能等级) 奖惩(序号,奖惩标志,项目,奖惩金额) 培训课程(课程号,课程名,教材,学时)

工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税)

这个ER图有7个类型类型,其中1个1:1、两个1:N、4个M:N类型。类型类型的属性如下:

选课(时间,成绩)

考核(时间,地点,等级)

设置(人数,) 接受(奖罚时间)

根据转换算法,ER图中有7个实体类型,可转换成7个关系模式,另外ER图中有4

个M:N联系,也将转换成4个关系模式。因此共可转换为11个关系模式,具体如下:

N 护士 1 图2.28住院管理信息系统的ER图

职工(工号,姓名,性别,年龄,学历,部门号,岗位编号) 部门(部门号,部门名称,职能)

岗位(岗位编号,岗位名称,岗位等级) 技能(技能编号,技能名称,技能等级) 奖惩(序号,奖惩标志,项目,奖惩金额)

培训课程(课程号,课程名,教材,学时)

工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税) 选课(课程号,工号,时间,成绩)

考核(工号,技能编号,时间,地点,等级) 设置(部门号,岗位编号,人数,) 接受(工号,序号,奖罚时间)

某学员为医院“住院管理信息系统”设计了数据库的ER模型,对医生、护士、病人、

病房、诊断、手术、结账等有关信息进行管理,其ER图如图2.28所示。

1 M M 协助 处方 N 医生 1 书写 诊断书 N 主刀 拥有 N 手术 N 位于 N N 接受 1 N 1 病人 1 入住 1 结账 1 手术室 1 安排 1 病床 N 分配 N 收据

这个ER图有8个实体类型,其属性如下:

病 医 护 病

人(住院号,姓名,性别,地址) 生(医生工号,姓名,职称) 士(护士工号,姓名,职称)

床(病房编号,床位号,类型,空床标志)

手术室(手术室编号,类型)

手 术(手术标识符,类型,日期,时间,费用) 诊断书(诊断书编号,科别,诊断)

收 据(收据编号,项目,金额,收款员,日期)

这个ER图有11个联系类型,其中1个是1:1联系、8个1:N类型、2个是M:N联系。

协 助(角色)

处 方(处方单号,序号,药品名称,规格,数量,费用) 入 住(入院日期,出院日期)

联系的属性如下:

根据转换算法,ER图中有8个实体类型,可转换成8个关系模式,另外ER图中有2个M:N联系,也将转换成2个关系模式。因此共可转换为10个关系模式,具体如下:

某货运公司设计了车队信息管理系统,对车辆、司机、维护、保险、保险、报销等信息

病 人(住院号,姓名,性别,地址,病房编号,床位号) 医 生(医生工号,姓名,职称)

护 士(护士工号,姓名,职称,手术室编号)

病 床(病房编号,床位号,类型,空床标志,护士工号) 手术室(手术室编号,类型)

手 术(手术标识符,类型,日期,时间,费用,医生工号,住院号) 诊断书(诊断书编号,科别,诊断,医生工号,住院号) 收 据(收据编号,项目,金额,收款员,日期,住院号) 收 据(收据编号,项目,金额,收款员,日期,住院号) 协 助(医生工号,手术标识符,角色)

处 方(医生工号,住院号,处方单号,序号,药品名称,规格,数量,费用)

和业务活动进行管理。其ER图如图2.29所示。 该ER图有8个实体类型,其结构如下: 部门(部门号,名称,负责人)

车队(车队号,名称,地址)

司机(司机号,姓名,执照号,电话,工资) 车辆(车牌号,车型,颜色,重载) 保险公司(保险公司号,名称,地址) 维修公司(维修公司号,名称,地址)

开销(顺序号,费用类型,费用,日期,经手人) 制造商(制造商编号,名称,地址)

部门 开销 图2.29公司车队信息系统的ER图 实体之间有9个联系,其中8个是1:N联系,2个是M:N联系。其中联系的属性如下:

调用(出车编号,出车日期,车程,费用,车辆数目) 保险1(投保日期,保险种类,费用)

保险2(投保日期,保险种类,费用)

出车(派工单号,起点,终点,日期,辅助人员)

根据转换算法,ER图中有8个实体类型,可转换成8个关系模式,另外ER图中有2

N 报销 1 N 车辆 N 拥有 N N N 保险2 1 出车 保险1 M 调用 N 车队 1 1 聘用 N M 司机 N 1 保险公司 维修 制造 1 维修公司 1 制造商 个M:N联系,也将转换成2个关系模式。因此共可转换为10个关系模式,具体如下: 部门(部门号,名称,负责人)

车队(车队号,名称,地址)

司机(司机号,姓名,执照号,电话,工资,车队号,保险公司号,投保日期,保险种

类,费用) 车辆(车牌号,车型,颜色,重载,车队号,保险公司号,维修公司号,制造商编号,投保日期,保险种类,费用)

保险公司(保险公司号,名称,地址) 维修公司(维修公司号,名称,地址)

开销(顺序号,费用类型,费用,日期,经手人,车牌号) 制造商(制造商编号,名称,地址)

调用(部门号,车队号,出车编号,出车日期,车程,费用,车辆数目) 出车(司机号,车牌号,派工单号,起点,终点,日期,辅助人员)

2.24 表2.2 为一张交通违章处罚通知书,试根据这张通知书所提供的信息,设计一个ER模型,并将这个ER模型转换成关系数据模型,要求标明主键和外键。

表2.2 交通违章处罚通知书 交通违章处罚通知书 编号:TZ22719

姓名:××× 驾驶执照号:×××××× 地址:×××××××××××

邮编:×××××× 电话:×××××××× 机动车牌照号:×××××× 型号:×××××××× 制造厂:×××××× 生产日期:×××××× 违章日期:×××××× 时间:××××××

地点:×××××× 违章记载:×××××× 处罚方法:

□警告 □罚款 □暂扣驾驶执照 警察签字:××× 警察编号:×××××× 被处罚人签字:×××

注:一张违章通知书可能有多项处罚,例如:警告+罚款。 违章通知书系统,对违章人、违章车辆、违章事件、处罚情况等信息进行管理。其ER图如下所示。

根据转换算法,ER图中有3个实体类型,可转换成3个关系模式。具体如下:

违 章 人(驾驶执照号,姓名,地址,邮编,电话) 车 辆(机动车牌照号,型号,制造厂,生产日期)

警察情况(警察编号,姓名)

实体之间有1个联系,M:N:P联系。其中联系的属性如下:

违章通知书(编号,违章日期,时间,地点,违章记载,警告,罚款,暂扣驾驶执照)

违章人 M N 车辆 违章 P警察 根据转换算法,ER图中有3个实体类型,可转换成3个关系模式,另外ER图中有1

个M:N:P联系,也将转换成1个关系模式。因此共可转换为4个关系模式,具体如下: 违 章 人(驾驶执照号,姓名,地址,邮编,电话) 车 辆(机动车牌照号,型号,制造厂,生产日期) 警察情况(警察编号,姓名) 违章通知书(编号,驾驶执照号,机动车牌照号,警察编号,违章日期,时间,地点,违章记载,是否警告,是否罚款,是否暂扣驾驶执照,被处罚人签字标志)

2.3 自测题 2.3.1 填空题

1. 数据库设计过程的输入包括四部分内容:__________,__________,__________和

__________。 2. 数据库设计过程的输出主要有两部分:__________和__________。

3. 规划阶段具体可以分成三个步骤:___________、___________和___________。 4. 需求分析的工作主要有下面四步组成:分析用户活动,产生__________;确定系统范围,

产生__________;分析用户活动涉及的数据,产生__________;分析系统数据,产生

__________。

5. 需求分析中的数据字典通常包含以下五个部分:__________,__________,__________,

__________和__________。

6. 概念设计的目标是产生反映____________的数据库概念结构,即概念模式。 7. 概念设计阶段可分为三步来完成:__________,__________和__________。

8. 就方法的特点而言,需求分析阶段通常采用__________的分析方法;概念设计阶段通常

采用__________的设计方法。 9. 逻辑设计的主要工作是:__________________________。

10. 逻辑设计的步骤有五步:__________,__________,__________,__________和

__________。 11. 物理设计可分成五步进行:__________,__________,__________,__________和

__________。 12. DBS的维护工作由__________承担的。

13. DBS的维护工作主要包括以下四个部分:_________,_________,_________,

_________。

2.3.2 单项选择题(在备选的答案中选出一个正确答案) 1. 需求分析阶段设计数据流程图(DFD)通常采用 A.面向对象的方法 B.回溯的方法 C.自底向上的方法 2. 概念设计阶段设计概念模型通常采用

A.面向对象的方法 C.自底向上的方法 3. 设计子模式属于数据库设计的

[

]

D.自顶向下的方法 B.回溯的方法

D.自顶向下的方法

[ ]

[ ]

A.需求分析 B.概念设计

[

]

C.逻辑设计 D.物理设计

4. 概念结构设计的主要目标是产生数据库的概念结构,该结构主要反映 A.应用程序员的编程需求 B.DBA的管理信息需求

C.数据库系统的维护需求 D.企业组织的信息需求 5. 数据库设计人员和用户之间沟通信息的桥梁是 A.程序流程图 B.实体联系图

[ ]

C.模块结构图 D.数据结构图

6. 有两个不同的实体集,它们之间存在着一个1:1联系和一个M:N联系,那么根据ER模

型转换成关系模型的规则,这个ER结构转换成的关系模式个数为

A.2个 C.4个

B.3个 D.5个

[

]

7. 如果有10个不同的实体集,它们之间存在着12个不同的二元联系(二元联系是指两个实体集之间的联系),其中3个1:1联系,4个1:N联系,5个M:N联系,那么根据ER

模型转换成关系模型的规则,这个ER结构转换成的关系模式个数为 A.14个 B.15个

[

]

C.19个 D.22个 8. 在ER模型转换成关系模型的过程中,下列叙述不正确的是 A.每个实体类型转换成一个关系模式

B.每个联系类型转换成一个关系模式

C.每个M:N联系类型转换一个关系模式

[ ]

D.在处理1:1和1:N联系类型时,不生成新的关系模式

9. 当同一个实体集内部的实体之间存在着一个1:N联系时,那么根据ER模型转换成关系

模型的规则,这个ER结构转换成的关系模式个数为 [ ] A.1个 B.2个 C.3个 D.4个

10.当同一个实体集内部的实体之间存在着一个M:N联系时,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模式个数为 A.1个 B.2个 C.3个 D.4个 11.在数据库设计中,子类与超类存在着 A.相容性联系 C.继承性的联系 2.3.3 设计题

[

]

B.调用的联系 D.一致性联系

[ ]

假设要为某商业集团设计一个数据库,该集团中有若干仓库、若干商店、经销若干商品。 试画一个有关仓库、商店、商品、采购员、职工、顾客、供应商、采购、入库、出库、销售聘用等信息的ER图。

2.3.4 ER图实例

在数据库设计中,ER模型的设计是一个很重要的环节。为了帮助学习者提高数据库设计水平,有利于毕业设计和今后的工作,我们从毕业生的论文中挑选了5个ER模型,供参考。这些设计并不是惟一的,可能还不完善,但大家从中可得到有益的启发,拓宽思路。 1.某学员为医院“住院管理信息系统”设计了数据库的ER模型,对医生、护士、病人、病房、诊断、手术、结账等有关信息进行管理,其ER图如图2.11所示。

这个ER图有8个实体类型,其属性如下: 病人(住院号,姓名,性别,地址) 医生(医生工号,姓名,职称) 护士(护士工号,姓名,职称)

病床(病床编号,床位号,类型,空床标志) 手术室(手术室编号,类型)

手术(手术标识号,类型,日期,时间,费用) 诊断书(诊断书编号,科别,诊断)

收据(收据编号,项目,金额,收款员,日期)

这个ER图有11个联系类型,其中1个是1:1联系,8个1:N联系,2个是M:N

联系。联系的属性如下:

协助(角色)

处方(处方单号,序号,药品名称,规格,数量,费用) 入住(入院日期,出院日期)

试把这个ER图转换成关系模型。并指出各个关系模式的主键和外键。

医生 1 M 1 M 书写 N 诊断书 N 主刀 协助 处方 拥有 N N 手术 N N 接受 1 1 N 1 1 病人 位于 入住 结账 1 手术室 1 病床 N 收据 1 N 安排 分配 N 护士 1 图2.11住院管理信息系统的ER图

2.某学员为电脑专卖店设计开发了“电脑销售信息管理系统”,数据库的ER模型对商

品、供应商、仓库、营业员、门店的有关信息进行了管理,其ER图如图2.12所示。 这个ER图有7个实体类型,其属性如下: 商品(商品编号,名称,类别,单位,单价)

供应商(供应商编号,名称,账号,地址)

仓库(仓库编号,地址,负责人) 门店(门店编号,名称,地址) 采购员(采购员编号,姓名,业绩) 管理员(管理员编号,姓名,业绩) 营业员(营业员编号,姓名,业绩)

这个ER图有7个联系类型,其中2个是1:N联系,1个M:N联系,4个是M:N:P联系。联系的属性如下:

采购(采购单号,数量,日期) 进货(进货单号,数量,日期) 配送(配送单号,数量,日期) 销售(销售单号,数量,日期)

存储(库存量,日期,安全库存量)

试把这个ER图转换成关系模型。并指出各个关系模式的主键和外键。

N 营业员 N 属于 采购员 M N 供应商 M 管理员 N 采购 进货 管理 P 商品 N M M 存储 P N 1 仓库 M N 销售 配送 P 1 P 门店 图2.12 电脑销售信息管理系统的ER图

3.某学员为证券营业网点设计的业务信息管理系统,对客户、资金、证券和业务活动

进行了管理,其ER图如图2.13所示。

该ER图有5个实体类型,其结构如下:

客户(股东账号,身份证号,姓名,地址,客户类别,开户日期)

资金(资金账号,金额,可取余额,冻结金额,解冻金额,利息,日期)

证券(证券代码,名称,每手股数)

委托(委托序号,数量,买卖类别,价格,时间,操作员)

成交(成交序号,数量,买卖类别,成交价格,时间)

该ER图有8个联系类型,其中6个1:N联系,2个M:N联系。其中,联系的属性如下:

持有(金额,可用数量,冻结数量,解冻数量,日期) 存取(存取单序号,存取标志,金额,日期)

试把这个ER图转换成关系模式集,并指出每个模式的主键和外键。

1 N 资金 1 清算 冻结1 委托 N N N 申请 冻结2 1 N 持有 证券 1 1 M M 1 过户 客户 存取 交割 N N N 成交 图2.13证券业务管理系统的ER图

4.某学员为某出版社设计了图书发行信息管理系统,数据涉及到图书、作者、开印、

入库、客户和发行员等信息。得到的全局ER图如图2.14所示。 作者 开印单 入库单

M N N

编著 开印 入库

该ER图有6个实体类型,其结构如下:

图书(图书编号,书名,定价,包本数,开本,统一书号,库存量) 作者(作者编号,姓名,性别,地址,电话)

开印单(印单号,开单日期,定价,印数,制单人)

入库单(入库单号,日期,送书单位,数量,包本数,版印次)

发行员(发行员代号,姓名,电话)

客户(客户编号,名称,地址,开户行,账号,税号,收款方式)

实体类型之间有6个联系,其中2个1:N联系,3个M:N联系,1个M:N:P联系,在图上均已标出。其中联系的属性如下所示。

订购(订购单号,日期,数量)

出库(出库单号,日期,数量,包本数) 收款(收款单号,金额,收款日期)

编著(日期,备注)

试将ER图转换成关系模型,并注明主键和外键。

M 出库 M 收款 N 1 1 M 订购 P 发行员 图书 N N 客户 N 图2.14 图书发行系统的ER图

5.某学员为上海闵行区物资供应公司设计了库存管理信息系统,对货物的库存、销售

等业务活动进行管理。其ER图如图2.15所示。 采购员 报损单

M N

图2.15 库存管理系统的ER图

P 供应商 M 入库 N 采购 报损 销售员 N 定单 N 1 货物 M 存储 M P 客户 M P 出库 P N 仓位 N 该ER图有7个实体类型,其结构如下:

货物(货物代码,型号,名称,形态,最低库存量,最高库存量) 采购员(采购员号,姓名,性别,业绩) 供应商(供应商号,名称,地址)

销售员(销售员号,姓名,性别,业绩)

客户(客户号,名称,地址,账号,税号,联系人) 仓位(仓位号,名称,地址,负责人)

报损单(报损号,数量,日期,经手人)

实体间联系类型有6个,其中1个1:N联系,1个M:N联系,4个M:N:P联系。其中联系的属性如下。

入库(入库单号,日期,数量,经手人)

出库(出库单号,日期,数量,经手人) 存储(存储量,日期)

定单(定单号,数量,价格,日期)

采购(采购单号,数量,价格,日期)

试将ER图转换成关系模型,并注明主键和外键。

2.4 自测题答案

2.4.1 填空题答案

1. 总体信息需求 处理需求 DBMS特征 硬件和OS特性 2. 完整的数据库结构 应用程序设计原则 3. 系统调查 可行性分析 确定总目标和制定项目开发计划 4. 业务流程图 系统范围图 数据流程图 数据字典

5. 数据项 数据结构 数据流 数据存储 加工过程 6. 企业组织信息需求

7. 设计局部概念模式 综合成全局概念模式 评审 8. 自顶向下逐步细化 自底向上逐步综合 9. 把概念模式转换成DBMS能处理的模式

10.形成初始模式 设计子模式 应用程序设计梗概 模式评价 模式修正 11.存储记录结构设计 确定数据存储安排 访问方法的设计 完整性安全性设计 程序设计 12.DBA

13.DB的转储与恢复

DB的重组织和重构造

2.4.2 单项选择题答案

1.D 7.B

2.C 8.B

3.C 9.A

4.D 10.B

5.B 11.C

6.B

DB的安全性与完整性控制

DB性能的监督、分析和改进

2.4.3 设计题答案 这个数据库一种可能的ER图如图2.16所示,图中只画出实体、联系,未画出其属性。

N 供应商 M 采购员 M 采购 入库 P 仓库 N P 商品 M N M 出库 客户 N 销售 P 聘用 1 商店 P 职工 N 图2.16 库存管理系统的ER模型

2.4.4 ER图实例答案 1.解: 根据ER图和转换规则,8个实体类型转换成8个关系模式,2个M:N联系转换成2个关系模式。因此,图2.11的ER图可转换成10个关系模式,如下所示:

病人(住院号,姓名,性别,地址,病房编号,床位号,入院日期,出院日期) 医生(医生工号,姓名,职称)

护士(护士工号,姓名,职称,手术室编号)

病床(病床编号,床位号,类型,空床标志,护士工号) 手术室(手术室编号,类型)

手术(手术标识号,类型,日期,时间,费用,手术室编号,医生工号,住院号) 诊断书(诊断书编号,科别,诊断,医生工号,住院号) 收据(收据编号,项目,金额,收款员,日期,住院号) 协助(手术标识号,医生工号,角色)

处方(处方单号,序号,药品名称,规格,数量,费用,住院号,医生工号)

2.解: 根据ER图和转换规则,7个实体类型转换成7个关系模式,1个M:N联系和4个M:N:P联系转换成5个关系模式。因此,图2.12的ER图可转换成12个关系模式,如下所示:

商品(商品编号,名称,类别,单位,单价)

供应商(供应商编号,名称,账号,地址) 仓库(仓库编号,地址,负责人) 门店(门店编号,名称,地址)

采购员(采购员编号,姓名,业绩)

管理员(管理员编号,姓名,业绩,仓库编号)

营业员(营业员编号,姓名,业绩,门店编号)

采购(采购单号,数量,日期,采购员编号,供应商编号,商品编号) 进货(进货单号,数量,日期,供应商编号,商品编号,仓库编号) 配送(配送单号,数量,日期,商品编号,仓库编号,门店编号) 销售(销售单号,数量,日期,商品编号,门店编号,营业员编号) 存储(商品编号,仓库编号,日期,库存量,安全库存量)

3.解:

根据ER图和转换规则,5个实体类型转换成5个关系模式,2个M:N联系转换成2个关系模式。因此,图2.13的ER图可转换成7个关系模式,如下:

客户(股东账号,身份证号,姓名,地址,客户类别,开户日期)

资金(资金账号,金额,可取余额,冻结金额,解冻金额,利息,日期)

证券(证券代码,名称,每手股数)

委托(委托序号,股东账号,证券代码,资金账号,数量,买卖类别,价格,时间,操作员)

成交(成交序号,股东账号,证券代码,资金账号,数量,买卖类别,成交价格,时间)

持有(股东账号,证券代码,日期,金额,可用数量,冻结数量,解冻数量) 存取(存取单序号,股东账号,资金账号,存取标志,金额,日期)

4.据转换规则,ER图中有6个实体类型,可转换成6个关系模式,另外ER图中有3个M:N联系和1个M:N:P联系,也将转换成4个关系模式。因此,图2.14的ER图可转换成10个关系模式,具体如下:

图书(图书编号,书名,定价,包本数,开本,统一书号,库存量) 作者(作者编号,姓名,性别,地址,电话)

开印单(印单号,开单日期,图书编号,定价,印数,制单人)

入库单(入库单号,日期,送书单位,数量,包本数,版印次,图书编号) 发行员(发行员代号,姓名,电话)

客户(客户编号,名称,地址,开户行,账号,税号,收款方式) 订购(订购单号,日期,数量,客户编号,图书编号,发行员代号) 出库(出库单号,日期,数量,包本数,客户编号,图书编号) 收款(收款单号,金额,收款日期,客户编号,图书编号) 编著(作者编号,图书编号,日期,备注)

5.据转换规则,ER图中有7个实体类型,可转换成7个关系模式,另外ER图中有1个M:N联系和4个M:N:P联系,也将转换成5个关系模式。因此,图2.15的ER图可转换成12个关系模式,具体如下:

货物(货物代码,型号,名称,形态,最低库存量,最高库存量) 采购员(采购员号,姓名,性别,业绩)

供应商(供应商号,名称,地址)

销售员(销售员号,姓名,性别,业绩)

客户(客户号,名称,地址,账号,税号,联系人) 仓位(仓位号,名称,地址,负责人)

报损单(报损号,数量,日期,经手人,货物代码)

入库(入库单号,日期,数量,经手人,供应商号,货物代码,仓位号) 出库(出库单号,日期,数量,经手人,客户号,货物代码,仓位号) 存储(货物代码,仓位号,日期,存储量)

定单(定单号,数量,价格,日期,客户号,货物代码,销售员号)

采购(采购单号,数量,价格,日期,供应商号,货物代码,采购员号)

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

Top