第五章数据库设计5.1数据库设计概述数据库设计:指利用现有的数据库管理系统,针对具体的应用对象,构造合适的数据库模式,建立基于数据库的应用系统或信息系统。数据库设计的一般策略:自项向下(Top一Down)与自底向上(Bottom一Up)但通常是把两种方法综合起来使用。数据库设计的步聚:数据库是某个企业、组织或部门所涉及的数据的综合,它不仅反映数据本身的内容,而且反映数据之间的联系。在数据库中,是用数据模型来抽象、表示、处理实现世界中的数据和信息的。根据模型应用的不同目的,将数据模型分成两个层次:概念模型和具体的数据模型。概念模型是用户和数据库设计人员之间进行交流的工具。数据模型是由概念模型转化而来的,是按照计算机系统的观点来对数据建模。产生具体数据模型的数据库设计即为逻辑设计。数据库设计的六个阶段:I用户需求分析阶段>概念结构设计阶段(即信息分析和定义阶段)>逻辑结构设计阶段A数据库物理结构设计阶段数据库实施阶段>数据库运行和维护阶段5.2用户需求分析阶段:需求分析的目的,是准确了解与分析用户的需求。包括两个步聚:》需求调查需求分析1、需求调查任务,主要是了解用户现行系统的概况、存在问题和对新系统的各种要求
第五章 数据库设计 5.1 数据库设计概述 数据库设计:指利用现有的数据库管理系统,针对具体的应用对象,构造合适的数据 库模式,建立基于数据库的应用系统或信息系统。 数据库设计的一般策略:自顶向下(Top-Down)与自底向上(Bottom-Up)但通常 是把两种方法综合起来使用。 数据库设计的步聚: 数据库是某个企业、组织或部门所涉及的数据的综合,它不仅反映数据本身的内容, 而且反映数据之间的联系。 在数据库中,是用数据模型来抽象、表示、处理实现世界中的数据和信息的。根据模 型应用的不同目的,将数据模型分成两个层次:概念模型和具体的数据模型。 概念模型是用户和数据库设计人员之间进行交流的工具。 数据模型是由概念模型转化而来的,是按照计算机系统的观点来对数据建模。产生具 体数据模型的数据库设计即为逻辑设计。 数据库设计的六个阶段: ➢ 用户需求分析阶段 ➢ 概念结构设计阶段(即信息分析和定义阶段) ➢ 逻辑结构设计阶段 ➢ 数据库物理结构设计阶段 ➢ 数据库实施阶段 ➢ 数据库运行和维护阶段 5.2 用户需求分析阶段: 需求分析的目的,是准确了解与分析用户的需求。包括两个步聚: ➢ 需求调查 ➢ 需求分析 1、需求调查任务,主要是了解用户现行系统的概况、存在问题和对新系统的各种要求
包括:1)信息要求:用户需要对哪些数据进行查询和分析,数据与数据之间的关系如何,以及最后要得到什么样的信息。2)处理要求:用户需要对数据进行何种处理,每一种处理有哪些输入、输出要求,处理的方式如何,每一种处理有无特殊要求等。3)系统要求:包括安全性要求、便用方式要求和可扩充性要求等三个方面。2、需求分析阶段的工作内容主要有三个方面:1)分析需求调查所得到的资料,明确计算机应当处理和能够处理的范围,确定新系统应具备的功能。2)综合各种信息所包含的数据,各种数据之间的关系,数据的类型、取值范围和流向。3)将需求调查文档化,文档既要为用户所理解,又要方便数据库的概念结构设计。需求分析的结果应及时与用户进行交流,反复修改,直到得到用户的认可。需求分析阶段最常使用的两个工具是数据流程图和数据字典:(1)数据流积(DFD,DataFlowDiagram)由四个要素组成,即:数据流>代表数据流的有向线>加工代表数据处理逻辑的>文件代表数据存储>外部实体代表系统之外数据提供者或使用者构造DFD的目的是为了系统分析师与用户能够进行明确的交流,以便指导系统的设计,并为一下工作打下基础。所以要求DFD既要简单,又要易于理解。构造DFD通常采用Top一DoWn,逐层分解,直到功能细化为止,形成若干层次的DFD,(2)数据字典(DD)数据字典是将数据流程图中各个要素的具体内容和特征,以特定格式记录下来,所形成的文档。它主要包括:数据项、数据结构、数据流、加工、文件、外部实体等内容。在数据库设计过程中,数据字典被不断地充实、修改和完善。需求分析阶段是整个数据库设计过程的前提和基础。本阶段的工作最繁,最困难也最耗时,但同时也是最关键的阶段。就象一幢大楼的地基一样,将决定着整个数据库设计的效率与质量。所以必须做好本阶段的工作。5.3概念结构设计阶段5.3.1概念结构设计概述概念结构设计阶段的目标,是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型
包括: 1)信息要求:用户需要对哪些数据进行查询和分析,数据与数据之间的关系如何,以 及最后要得到什么样的信息。 2)处理要求:用户需要对数据进行何种处理,每一种处理有哪些输入、输出要求,处 理的方式如何,每一种处理有无特殊要求等。 3)系统要求:包括安全性要求、使用方式要求和可扩充性要求等三个方面。 2、需求分析阶段的工作内容主要有三个方面: 1)分析需求调查所得到的资料,明确计算机应当处理和能够处理的范围,确定新系统 应具备的功能。 2)综合各种信息所包含的数据,各种数据之间的关系,数据的类型、取值范围和流向。 3)将需求调查文档化,文档既要为用户所理解,又要方便数据库的概念结构设计。 需求分析的结果应及时与用户进行交流,反复修改,直到得到用户的认可。 需求分析阶段最常使用的两个工具是数据流程图和数据字典: (1)数据流程图(DFD,Data Flow Diagram)由四个要素组成,即: ➢ 代表数据流的有向线 ➢ 代表数据处理逻辑的 ➢ 代表数据存储 ➢ 代表系统之外数据提供者或使用者 构造DFD的目的是为了系统分析师与用户能够进行明确的交流,以便指导系统的设计, 并为一下工作打下基础。所以要求 DFD 既要简单,又要易于理解。 构造 DFD 通常采用 Top-Down,逐层分解,直到功能细化为止,形成若干层次的 DFD。 (2)数据字典(DD) 数据字典是将数据流程图中各个要素的具体内容和特征,以特定格式记录下来,所形 成的文档。它主要包括:数据项、数据结构、数据流、加工、文件、外部实体等内容。在数 据库设计过程中,数据字典被不断地充实、修改和完善。 需求分析阶段是整个数据库设计过程的前提和基础。本阶段的工作最繁琐,最困难也 最耗时,但同时也是最关键的阶段。就象一幢大楼的地基一样,将决定着整个数据库设计的 效率与质量。所以必须做好本阶段的工作。 5.3 概念结构设计阶段 5.3.1 概念结构设计概述 概念结构设计阶段的目标,是通过对用户需求进行综合、归纳与抽象,形成一个独立 于具体 DBMS 的概念模型。 数据流 加工 文件 外部实体
这个阶段,设计人员是从用户的角度看待数据以及数据处理的要求和约束,产生一个反映用户观点的概念模型。设计人员与用户,以这个概念模型为媒介,相互交流意见,并对该概念模型进行修改最后达到共识。所以要求概念模型必须具有下列四个特点:》丰富的语义表达能力。能表达用户的各种需求,反映现实世界中各种数据及数据间的各种复杂联系,以及用户对数据处理的要求。I易手交流与理解,概念模型是设计人员与用户交流的工具。易于修改,概念模型只有不断地修改,才能最终符合用户的需求。易于向各种数据模型的转换。概念模型,是系统分析师、数据库设计人员和用户三方共同完成的。但它本身并不能在计算机上实现,必须转换成具体DBMS所能支持的数据模型。自前最常用、最有名的概念模型是E一R模型(实体一联系模型)这一阶段所提供的概念模型,除反映各业务部门所涉及的各种实体及实体间联系外,还要明确对每一个实体中数据进行增、删、改所需遵循的业务规则及各种完整性约束。5.3.2概念结构设计的方法与步骤设计概念结构的四类方法1.自顶向下首先定义全局概念结构的框架,然后逐步细化之需求全局概念模式概念模式概念模式.概念模式概念模式概念模式概念模式2.自底向上首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构MMM子需求子需求>子需求>子需求>W+11-概念模式概念模式概念模式概念模式1概念模式概念模式全局概念模式
这个阶段,设计人员是从用户的角度看待数据以及数据处理的要求和约束,产生一个 反映用户观点的概念模型。 设计人员与用户,以这个概念模型为媒介,相互交流意见,并对该概念模型进行修改, 最后达到共识。所以要求概念模型必须具有下列四个特点: ➢ 丰富的语义表达能力。能表达用户的各种需求,反映现实世界中各种数据及数据 间的各种复杂联系,以及用户对数据处理的要求。 ➢ 易于交流与理解,概念模型是设计人员与用户交流的工具。 ➢ 易于修改,概念模型只有不断地修改,才能最终符合用户的需求。 ➢ 易于向各种数据模型的转换。概念模型,是系统分析师、数据库设计人员和用户 三方共同完成的。但它本身并不能在计算机上实现,必须转换成具体 DBMS 所能 支持的数据模型。 目前最常用、最有名的概念模型是 E-R 模型(实体-联系模型) 这一阶段所提供的概念模型,除反映各业务部门所涉及的各种实体及实体间联系外, 还要明确对每一个实体中数据进行增、删、改所需遵循的业务规则及各种完整性约束。 5.3.2 概念结构设计的方法与步骤 设计概念结构的四类方法 1. 自顶向下 首先定义全局概念结构的框架,然后逐步细化 2. 自底向上 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构
3.逐步扩张首先定义最核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至全局概念结构核心需求需求全局核心概概念结构念结构4.混合策略将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。一常用策略■自顶向下地进行需求分析■自底向上地设计概念结构自底向上设计概念结构的步骤2■第1步:抽象数据并设计局部视图■第2步:集成局部视图,得到全局概念结构DFD、DD需求分析数据抽象、局部E-R图局部视图设计征求用户意见视图集成全局E-R图逻辑结构设计5.3.3数据抽象与局部视图设计
3. 逐步扩张 首先定义最核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构, 直至全局概念结构 4. 混合策略 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以 它为骨架集成由自底向上策略中设计的各局部概念结构。 ◼ 常用策略 ◼自顶向下地进行需求分析 ◼自底向上地设计概念结构 ◼ 自底向上设计概念结构的步骤 ◼第 1 步:抽象数据并设计局部视图 ◼第 2 步:集成局部视图,得到全局概念结构 5.3.3 数据抽象与局部视图设计 需求分析 数据抽象、 局部视图设计 视图集成 征求用 户意见 DFD、DD 局部E-R图 全局E-R图 逻辑结构设计
数据抽象所谓抽象是对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。三种常用抽象1.分类(Classification)分类将一组具有某些共同特性和行为的实体抽象为一个实体型。它抽象了实体与实体型之间的"ismemberof"的关系。例如,在教学管理中,“张三”是一名学生,表示“张三”是学生中的一员,他具有学生为。学生共同的特性和行刘晨李勇王敏张立2.聚集(Aggregation)聚集定义实体型的组成成份,将实体型的组成成份抽象为实体型的属性。属性与实体型之间是"ispartof"的关系。例如,学号、姓名、性别、年龄、系别等可以抽象为学生实体型的属性,其中学号是标识学生实体的主键。学生性别年龄学号姓名系别
学生 李勇 刘晨 王敏 张立 学生 学号 姓名 性别 年龄 系别 学生 学号 姓名 性别 年龄 系别 一、数据抽象 所谓抽象是对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性, 忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某 种模型。 三种常用抽象 1. 分类(Classification) 分类将一组具有某些共同特性和行为的实体抽象为一个实体型。它抽象了实体与实 体型之间的“is member of”的关系。 例如,在教学管理中,“张三”是一名学生,表示“张三”是学生中的一员,他具有 学生共同的 特性和行 为。 2. 聚集(Aggregation) 聚集定义实体型的组成成份,将实体型的组成成份抽象为实体型的属性。属性与实体型 之间是“is part of”的关系。 例如,学号、姓名、性别、年龄、系别等可以抽象为学生实体型的属性,其中学号是标 识学生实体的主键