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