`
bsr1983
  • 浏览: 1117598 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第二章 数据库设计和ER模型

阅读更多

2.1 数据库系统生存期

软件生存期是指从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。

定义2.1 我们把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。

一般分为7个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。

2.1.1 规划阶段

三步骤:

1)系统调查

2)可行性分析

3)确定数据库系统的总目标,制定计划。批准后进入数据库系统的开发工作。

2.1.2 需求分析阶段

分四步:

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

(2)确定系统范围,产生系统关联图

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

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

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

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

数据字典中通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。

2.1.3 概念设计阶段

概念设计的目标是产生反映用户单位信息需求的数据库概念结构,即概念模型。

1.概念设计的重要性

2.概念设计的主要步骤

(1)进行数据抽象,设计局部概念模型

设计概念结构时,常用的数据抽象方法是“聚集”和“概括”。聚集是将若干对象和它们之间的联系组合成一个新的对象。概括是将一组具有某些共同特性的对象抽象成更高一层意义上的对象。

(2)将局部概念模型综合成全局概念模型

3)评审

2.1.4 逻辑设计阶段

逻辑设计的目的是把概念设计阶段设计好的概念模型转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库逻辑模型和外模型)。

逻辑设计的主要步骤有五步:

(1)把概念模型转换成逻辑模型

(2)设计外模型

(3)设计应用程序与数据库的接口

(4)评价模型

评价数据库结构的方法通常有定量分析和性能测量。

定量分析有两个参数:处理频率和数据容量。处理频率是在数据库运行期间应用程序的使用次数。数据容量是数据库中记录的个数。数据库增长过程的具体表现就是这两个参数值的增加。

性能测试是指逻辑记录的访问数目。

(5)修正模型

2.1.5 物理设计阶段

对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程,称为物理设计。

数据库的物理结构主要指数据库的存取记录格式、存取记录安排和存取方法。

物理设计分五步:

(1)存储记录结构设计

(2)确定数据存放位置

(3)存取方法的设计

(4)完整性和安全性考虑

(5)程序设计

2.1.6 数据库的实现

(1)定义数据库结构

(2)数据装载

(3)编制与调试应用程序

(4)数据库试运行

2.1.7 数据库的运行与维护

在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括以下内容:

(1)数据库的转储和恢复

(2)数据库安全性、完整性控制

(3)数据库性能的监督、分析和改进

(4)数据库的重组织和重构造

2.2 ER模型的基本概念

2.2.1 ER模型的基本元素

ER模型的基本元素是:实体、联系和属性

1.实体

定义2.2 实体、实体集、实体类型的定义如下:

(1)实体(Entity)是一个数据对象,指应用中可以区别的客观存在的事物。

(2)实体集(Entity Set)是指同一类实体构成的集合。

(3)实体类型(Entity Type)是对实体集中的实体的定义。

2.联系

定义2.3 联系、联系集、联系类型的定义如下

(1)联系(Relationship)表示一个或多个实体之间的关联关系。

(2)联系集(Relationship Set)是指同一类联系构成的集合。

(3)联系类型(Relationship Type)是对联系集中联系的定义。

3.属性

定义2.4 实体的某一特性称为属性(Attribute)。在一个实体中,能够唯一标识实体的属性或属性集称为“实体标识符”。

2.2.2 属性的分类

1.简单属性和复合属性

简单属性(Simple Attribute)是不可再分割的属性。复合属性(Composite Attribute)是可再分解为其他属性的属性(即属性可嵌套)。

2.单值属性和多值属性

单值属性(Single -Value Attribute)指的是同一实体的属性只能取一个值。

多值属性(Multi-Value Attribute)指的是同一实体的某些属性可能取多个值。

多值属性进行变换的方法:

(1)将原来的多值属性用几个新的单值属性来表示。

(2)将原来的多值属性用一个新的实体类型表示。

3.存储属性和派生属性

可从其他属性值推导出值的属性,称为派生属性(Derived Attribute)。派生属性的值不必存储在数据库内,而其他需要存储值的属性称为存储属性(Stored Attribute)。

4.允许为空值的属性

当实体在某个属性上没有值时应使用空值(Null Value)。

2.2.3 联系的设计

1.联系的元数

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

2.联系类型的约束

1)基数约束

二元联系的映射基数(Mapping Cardinalities

定义2.6 实体集E1E2之间有二元联系,则参与一个联系中的实体数目称为映射基数。

(2)参与约束

定义2.7 如果实体集E中的每个实体都参与联系集R的至少一个联系中,我们称实体集E“完全参与”实体集R。如果实体集E中只有部分实体参与联系R的联系中,我们称实体集E“部分参与”联系集R。在ER图中表示时,完全参与用双边线表示,部分参与用单边线表示。

2.2.4 ER模型的操作

2.2.5 采用ER模型的数据库概念设计步骤

1.设计局部ER模型

2.设计全局ER模型

3.全局ER模型的优化

2.3 关系模型的基本概念

2.3.1 关系模型的基本术语

定义2.8 用二维表格表示实体集,用关键码表示实体之间联系的数据模型称为关系模型(Realtional Model)。

在关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模式。记录称为元组(Tuple),元组的集合称为关系(Relation)或实例(Instance)。

关系中属性个数称为“元数”(Arity),元组个数称为“基数”(Cardinality)。

关键码(key,简称键)由一个或多个属性组成。在实际使用中,有以下几种键。

(1)超键(Super Key):在关系中能惟一标识元组的属性称为关系模式的超键。

(2)候选键(Candidate Key):不含有多余属性的超键称为候选键。也就是在候选键中,若在删除属性,就不是键了。

(3)主键(Primary Key):用户选作元组标识的候选键称为主键。

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

2.3.2 关系的定义和性质

定义2.9 关系式一个属性数目相同的元组的集合。

2.3.3 三类完整性规则

1.实体完整性规则(Entity Integrity Rule

这条规则要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了惟一标识元组的作用。

2.参照完整性规则(Reference Integrity Rule

定义2.10 参照完整性规则的形式定义如下:

如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中的某个主键值。

3.用户定义的完整性规则

2.4 ER模型到关系模型的转换

2.4.1 ER图转换成关系模式集的算法

2.4.2 采用ER模型的逻辑设计步骤

关系数据库的逻辑设计的结果是一组关系模式的定义。分五步

1.导出出事关系模式集

2.规范化处理

3.模式评价

4.模式修正

5.设计子模式

2.5 ER模型实例分析

2.6 增强的ER模型

增强的ER模型(Enhanced-ER模型,简称为EER模型)

2.6.1 弱实体和强实体

定义2.11 一个实体对于另一个实体(称为强实体)具有很强的依赖关系,而且该实现主键的一部分或全部从其强实体中获得,则称该实体为弱实体。

强实体与弱实体的联系只能是1:11:N

2.6.2 子类实体与超类实体

定义2.12 当较低层上实体类型表达了与之联系的较高层上的实体类型的特殊情况时,就称较高层上实体类型为超类型(Supertype),较低层上实体类型为子类型(Subtype)。

在数据库设计中,从子类到超类的抽象化过程称为“概化”,这是自底向上的概念综合(Synthesis);从超类到子类的具体化过程称为“特化”,这是自顶向下的概念发挥(Refinement)。

子类与超类有两个性质:

(1)子类与超类之间具有继承性特点,即子类实体继承超类实体的所有属性。但子类实体本身还可以包含比超类实体更多的属性。

(2)这种继承性是通过子类实体和超类实体有相同的实体标识符实现的。

有两种约束适用于特化工程:不相交约束和完备性约束

(1)不相交约束(Disjointness Constraint

不相交约束是指特化的子类是否相交。不相交约束又分成不相交和重叠两种情况:

① 不相交(Disjoint)约束规定了在特化过程中,子类必须是不相交的。这意味着一个实体至多是特化中一个子类的成员。

② 重叠(Overlap)约束规定了在特化过程中,子类可以是相交的。这意味着一个实体可出现在特化中的多个子类里。

(2)完备性约束(Complete Constraint

① 整体特化(Total  Specialization)约束指定超类中的每个实体必须是特化中某个子类的成员。

② 部分特化(Partial Specialization)约束允许超类中的实体可以不属于任何一个子类。

<!--EndFragment-->
分享到:
评论

相关推荐

    第二章 数据库设计和ER模型.ppt

    第二章 数据库设计和ER模型

    【推荐】第05章-数据库设计与ER模型.ppt

    ### 数据库设计与ER模型知识点概述 #### 一、数据库设计概述 - **数据库设计定义**:数据库设计是指根据特定的应用环境,构建最优的数据库模式,建立数据库及其应用系统,以便有效存储数据并满足各种用户的应用...

    【推荐】第05章-数据库设计与ER模型-(1).ppt

    ### 数据库设计与ER模型详解 #### 一、数据库设计的全过程 数据库设计是指为了适应特定的应用环境,构造最优的数据库模式,建立数据库及其应用系统的过程。这一过程旨在有效地存储数据,满足各种用户的应用需求...

    第3章数据库设计_书籍教材_数据库ER设计参考资料_

    数据库设计是信息系统开发过程中的关键...总结,本章内容涵盖了数据库设计的基本理论和实践,从需求收集到ER模型构建,再到关系模型转换和物理设计优化。学习和掌握这些知识对于构建高效、稳定的数据库系统至关重要。

    数据库管理系统原理与设计答案第二章

    ### 数据库管理系统原理与设计答案第二章:实体联系模型 #### 一、数据库设计的六个步骤 数据库设计是一项系统工程,通常包括以下六个步骤: 1. **需求分析**:了解和收集用户的需求,明确数据库的目的、范围、...

    第01章 数据库设计.rar

    逻辑设计主要关注数据的结构和关系,包括创建数据模型,如ER(实体-关系)模型,用于描述实体、属性和实体之间的关系。这个阶段通常会用到ER图,通过图形化的方式直观展示实体、属性和联系。 在"第01章 数据库设计...

    数据库第二章作业数据库第二章作业.doc

    "数据库第二章作业数据库第二章作业" 本文档介绍了数据库设计的基本概念和高级数据模型,包括实体关系模型(ERM)、数据模型的分类、实体、联系、属性、键约束、弱实体等概念。同时,本文档还提供了一些实践题目,...

    数据库6版讲稿第七章----数据库设计与E-R模型.ppt

    * 属性识别是ER模型设计的第二步,需要识别出实体的属性。 * 属性的类型:包括简单属性、复合属性、单值属性、多值属性、派生属性等。 六、联系识别 * 联系识别是ER模型设计的第三步,需要识别出实体之间的联系。 ...

    第二章 数据库系统设计及范式分析--班级管理系统需求说明书

    "第二章 数据库系统设计及范式分析--班级管理系统需求说明书"涵盖了数据库设计的关键阶段和理论,让我们一起深入探讨其中的知识点。 首先,数据库需求分析是整个过程的起点。在这个阶段,我们需要明确班级管理系统...

    软件分析与建模课程设计 家具城进销存管理系统 报告+cdm+pdm+数据库+UML图+ER图文件

    第二章 需求分析 3 2.1 功能需求分析 3 2.2 需求模型 3 2.3 业务流程图 3 第三章 系统的数据模型和软件设计 6 3.1 系统E-R图 6 3.2 数据库概念模型(CDM)设计 10 3.3 物理数据模型(PDM)设计 10 3.4 应用程序类图...

    数据库原理及设计第二章高级概念数据模型

    在数据库设计领域,高级概念数据模型是理解和构建数据库的基础,它为我们提供了抽象的视图来描述现实世界的数据。本章主要关注的是实体-关系(Entity-Relationship,简称ER)数据模型,这是一种强大的工具,用于描绘...

    数据库设计第三章

    在数据库设计领域,第三章通常会涵盖关系数据库理论的基础,包括数据模型、关系模型以及ER(实体-关系)图的设计。这一章的核心知识点可能包括以下几个方面: 1. 数据模型:数据模型是数据库设计的基石,它描述了...

    数据库系统概论--第二章-实体联系模型.ppt

    数据库系统概论中,第二章主要讲解了实体联系模型(ER模型),这是数据建模过程中的一个重要概念。ER模型主要用于信息世界的建模,它强调语义表达能力,帮助用户和数据库设计人员之间进行有效的沟通。 首先,数据...

    数据库系统设计第七章(11—15)

    接着,**语义建模**是数据库设计的第一步,它关注如何将现实世界的实体和它们之间的关系转化为数据模型。ER(实体-关系)模型是一种常用的语义建模方法,通过实体、属性和联系来表达数据结构。此外,UML(统一建模...

    西南交通大学数据库原理作业-第2章 高级数据模型.docx

    学习完第二章后,我们对数据库设计的理解会更加深入,能够更好地理解和应用高级数据模型,这对于后续的数据库实现和管理至关重要。此外,通过实际的作业练习,我们还学会了如何根据具体业务需求调整和优化数据模型,...

    第三版.zip(数据库系统原理与设计第三版课后答案 )

    3. 关系数据库设计:涵盖关系数据库设计的ER模型、关系规范化理论,如第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及BCNF,以及数据库模式设计的重要性。 4. SQL语言:SQL是用于管理和查询关系数据库的...

    第12章数据库设计.ppt

    在实际应用中,数据库设计需要遵循一些原则,如范式理论(第一范式、第二范式、第三范式等),以避免数据异常和冗余;还需要考虑事务处理、并发控制和恢复机制,以保证数据的一致性和完整性。此外,随着大数据、...

    第二章_数据模型与概念模型(2)

    综上所述,"第二章_数据模型与概念模型(2)"涵盖了数据模型的种类、概念模型的构建、ER模型的扩展、数据库规范化、以及从概念模型到实际数据库的转换等多个重要知识点。通过深入学习和实践,我们可以更好地掌握...

    S2-2-MySchool数据库设计优化(PPT+源码)【第二章】

    在本资源包“S2-2-MySchool数据库设计优化(PPT+源码)【第二章】”中,我们聚焦于数据库设计的优化,特别是针对MySchool项目。这个章节可能是青鸟教育ACCP6.0课程的一部分,旨在提升学员在SQL语言和数据库管理方面...

Global site tag (gtag.js) - Google Analytics