《数据库系统设计的步骤和方法.ppt》由会员分享,可在线阅读,更多相关《数据库系统设计的步骤和方法.ppt(24页珍藏版)》请在三一办公上搜索。
1、,数据库系统原理及应用教程(2120),第3章 数据库系统设计的步骤和方法,3.1 数据库系统设计概述 3.1.1 数据库系统设计的内容 3.1.2 数据库系统设计应注意的问题 3.1.3 数据库系统设计方法 3.1.4 数据库设计的基本步骤 3.2 系统需求分析 3.2.1 需求分析的任务和方法 3.2.2 数据字典及其表示,3.3 概念结构的设 计 3.3.1 概念结构的特点及设计方法 3.3.2 数据抽象与局部视图设 3.3.3 视图的集成 ghguhjhkl 3.4 数据库逻辑结构的设 计 3.4.1 概念模型向网状模型转换 3.4.2 概念模型向关系模型的转换,3.1.1 数据库系统
2、设计的内容 目标:建立一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据库模式。内容:数据库的结构特性设计、行为特性设计和物理模式设计。两者结合起来,相互参照,同步进行,才能较好地达到设计目标。,1.数据库的结构特性设计结构特性设计称逻辑结构特征或静态结构设计。过程是:先将现实世界中的事物、事物间的联系用E-R图表示,再将各个分E-R图汇总,得出数据库的概念结构模型,最后将概念结构模型转化为数据库的逻辑结构模型表示。,3.1 数据库系统设计概述,2.数据库的行为特性设计 确定数据库用户的行为和动作,并根据其行为特性设计出数据库的子模式。设计步骤是:首先要将现实世界中的数
3、据及应用情况用数据流程图和数据字典表示,并详细描述其中的数据操作要求,进而得出系统的功能模块结构和数据库的子模式。3.数据库的物理模式设计 根据库结构的动态特性(即数据库应用处理要求),在选定的DBMS环境下,把数据库的逻辑结构模型加以物理实现,从而得出数据库的存储模式和存取方法。,3.1.3 数据库系统设计方法 手工试凑法。使用手工试凑法设计数据库与设计人员的经验和水平有直接关系 新奥尔良(New Orleans)方法。数据库设计分为4个阶段:需求分析、概念设计、逻辑设计和物理设计。许多科学家认为数据库设计应分6个阶段进行:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据
4、库运行和维护。,3.2 系统需求分析 3.2.1 需求分析的任务和方法,主要任务是:详细调查现实世界要处理的对象(组织、部门、企业等);充分了解原系统(手工系统或计算机系统)的概况和发展前景;明确用户的各种需求;收集支持系统目标的基础数据及其处理方法;确定新系统的功能和边界。1.系统需求调查的内容 1)数据库中的信息内容。2)数据处理内容。3)数据安全性和完整性要求。2.系统需求的调查步骤 1)了解现实世界的组织机构情况。,2)了解相关部门的业务活动情况。3)确定新系统的边界。3.系统需求调查的方法4.系统需求分析方法(略)常用的有结构化分析方法(Structure Analysis,简称SA
5、方法):1)自顶向下的设计方法。先定义全局概念结构的框架,然后逐步细化为完整的全局概念结构2)自底向上的设计方法,先定义各局部应用的概念结构,后将它们集成,得到全局概念结构。3)逐步扩张的设计方法。先定义最重要的核心部分,后向外扩充,生成其他概念结构。4)混合策略设计的方法,用自顶向下与自底向上相结合的方法。,3.2.2 数据字典及其表示,1.数据项数据项是不可再分的数据单位。它的描述为:数据项=数据项名,数据项含义说明,别名,类型,长度,取值范围,与其他数据项的逻辑关系.2.数据结构数据结构的描述为:数据结构=数据结构名,含义说明,组成,数据项或数据结构.3.数据流数据流是数据结构在系统内传
6、输的路径。数据流的描述通常为:数据流=数据流名,说明,流出过程,流入过程,组成:数据结构,平均流量,高峰期流量.,4.数据存储 数据存储是数据及其结构停留或保存的地方,也是数据流的来源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档。数据存储的描述通常为:数据存储=数据存储名,说明,编号,输入的数据流,输出的数据流,组成:数据结构,数据量,存取频度,存取方式.5.处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息,通常包括以下内容:处理过程=处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明.,1.三种数据抽象方法(1)分类(C
7、lassification)定义某一类概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为(2)聚集(Aggregation)定义某一类型的组成部分,它抽象了对象内部类型和对象内部“组成部分”的语义。(3)概括(Generalization)定义类型之间的一种子集联系,它抽象了类型之间的“所属”的语义。,3.3 概念结构的设 计,3.3.2 数据抽象与局部视图设,3.3.3 视图的集成 1.合并分E-R图,生成初步E-R图(1)属性冲突(2)命名冲突,1)属性域冲突,即属性值的类型、取值范围或取值集合不同。2)属性取值单位冲突。,1)同名异义冲突,即不同意义的对象在不同的局部应用
8、中具有相同的名字。2)异名同义冲突,即意义相同的对象在不同的局部应用中有不同的名字。,(3)结构冲突1)同一对象在不同的应用中具有不同的抽象。2)同一实体在不同分E-R图中的属性组成不一致.3)实体之间的联系在不同的分E-R图中呈现不同的类型。2.消除不必要的冗余,设计基本E-R图,本节结束,3.4 数据库逻辑结构的设 计 3.4.1 概念模型向网状模型转换,1.不同型实体集及其联系的转换规则1)每个实体集转换成一个记录。2)每个1:n的二元联系转换成一个系,系的方向由1方实体记录指向n方实体记录。3)每个m:n的二元联系,在转换时要引入一个连结记录,并形成两个系,系的方向由实体记录方指向连结
9、记录方。4)K(3)个实体型之间的多元联系,在转换时也引入一个连结记录,并将联系转换成K个实体记录型和连结记录型之间的K个系,系的方向均为实体型指向连结记录。,2.同型实体之间联系的模型转换规则1)对于同一实体集的一对多联系,在向网状模型转换时要引入一个连结记录,并转换为两个系,系的方向不同。2)对于同一实体集之间的m:n联系,转换时也要引入一个连结记录,所转换的两个系均由实体记录方指向连结记录方。,3.4.2 概念模型向关系模型的转换,1.实体集的转换规则概念模型中的一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。,2.实体集间联系
10、的转换规则(1)1:1联系的转换方法1)将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。2)将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码,【例3-1】将图中E-R图转换为关系模型。方案1:联系形成的关系独立存在:职工(职工号,姓名,年龄);产品(产品号,产品名,价格);负责(职工号,产品号).方案2:“负责”与“职工”两关系合并:职工(职工号,姓名,年龄,产品号);产品(产品号,产品名,价格);方案3:“负责”与“产品”两关系
11、合并:职工(职工号,姓名,年龄);产品(产品号,产品名,价格,职工号).,(2)1:n联系的转换方法一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码;另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。,3.4.2 概念模型向关系模型的转换,【例3-2】将含有1:n联系的E-R图转换为关系模型。方案1:联系形成的关系独立存在。仓库(仓库号,地点,面积);产品(产品号,产品名,价格);仓储(仓库号,产品号,数量).方案2:联系形成的关系与n端对象合并
12、。仓库(仓库号,地点,面积);产品(产品号,产品名,价格,仓库号,数量)(3)m:n联系的转换方法在向关系模型转换时,一个m:n联系转换为一个关系。转换方法为:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。,【例3-4】将图3-23中含有m:n二元联系的E-R图,转换为关系模型。该例题转换的关系模型为:学生(学号,姓名,年龄,性别);课程(课程号,课程名,学时数);选修(学号,课程号,成绩),【例3-6】将图3-25中含有多实体集间的多对多联系的E-R图转换为关系模型 供应商(供应商号,供应商名,地址);零件(零件号,零件名,单价);产品(产品号,产品名,型号);供应(供应商号,零件号,产品号,数量).3.关系合并规则在关系模型中具有相同码的关系可根据情况合并为一个关系。,