数据库原理与应用第5章 数据库设计课件

上传人:我*** 文档编号:145861117 上传时间:2020-09-24 格式:PPT 页数:29 大小:181KB
返回 下载 相关 举报
数据库原理与应用第5章 数据库设计课件_第1页
第1页 / 共29页
数据库原理与应用第5章 数据库设计课件_第2页
第2页 / 共29页
数据库原理与应用第5章 数据库设计课件_第3页
第3页 / 共29页
数据库原理与应用第5章 数据库设计课件_第4页
第4页 / 共29页
数据库原理与应用第5章 数据库设计课件_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《数据库原理与应用第5章 数据库设计课件》由会员分享,可在线阅读,更多相关《数据库原理与应用第5章 数据库设计课件(29页珍藏版)》请在金锄头文库上搜索。

1、第5章数据库设计,5.1 数据库设计概述,按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下6个阶段(如图5.1所示):,需要分析阶段 概念结构设计阶段 逻辑结构设计阶段 物理结构设计阶段 数据库实施阶段 数据库运行和维护阶段,5.2 需求分析,5.2.1 需求分析的步骤 进行需求分析首先是调查清楚用户的实际要求,与用户达成共识,然后分析与表达这些需求。其基本方法是收集和分析用户要求,从分析各个用户需求中提炼出反映用户活动的数据流图,通过确定系统边界归纳出系统数据,这是数据库设计的关键。收集和分析用户要求一般可按以下4步进行。 1. 分析用户活动 分析从要求的处理着手,

2、搞清处理流程。如果一个处理比较复杂,就把处理分解成若干子处理,使每个处理功能明确,界面清楚。分析之后画出用户活动图。 2. 确定系统范围 不是所有的业务活动内容都适合计算机处理,有些工作即使在计算机环境下仍需人工完成。因此画出用户活动图后,还要确定属于系统的处理范围,可以在图上标明系统边界。,3. 分析用户活动所涉及的数据 按照用户活动图所包含的每一种应用,弄清所涉及数据的性质、流向和所需的处理,并用“数据流图”表示出来。 数据流图是一种从“数据”和“对数据的加工”两方面表达系统工作过程的图形表示法。数据流图中有4种基本成分:,(1)数据流 数据流是数据在系统内传播的路径,因此由一组成分固定的

3、数据项组成。如学生由学号、姓名、性别、出生日期、班号等数据项组成。 (2)加工(又称为数据处理) 加工指对数据流进行某些操作或变换。每个加工也要有名称,通常是动词短语,简明地描述完成什么加工。在分层的数据流图中,加工还应编号。 (3)数据文件(又称数据存储) 数据文件指系统保存的数据,它一般是数据库文件。流向数据文件的数据流可理解为写入文件或查询文件,从数据文件流出的数据可理解为从文件读数据或得到查询结果。 (4)数据的源点或终点 本系统外部环境中的实体(包括人员、组织或其他软件系统)统称外部实体。它们是为了帮助理解系统接口界面而引入的,一般只出现在数据流图的顶层图中。,4. 分析系统数据 所

4、谓分析系统数据就是对数据流图中的每个数据流名、文件名、加工名都要给出具体定义,都需要用一个条目进行描述。描述后的产物就是“数据词典”。 DBMS有自己的数据词典,其中保存了逻辑设计阶段定义的模式、子模式的有关信息;保存了物理设计阶段定义的存储模式、文件存储位置、有关索引及存取方法的信息;还保存了用户名、文件存取权限、完整性约束、安全性要求的信息,所以DBMS数据词典是一个关于数据库信息的特殊数据库。,5.2.2 需求分析的方法 在众多的需求分析方法中,结构化分析(Structured Analysis,简称SA)方法是一种简单实用的方法。SA方法是面向数据流进行需求分析的方法。它采用自顶向下逐

5、层分解的分析策略,画出应用系统的数据流图。,画数据流图的一般步骤如下: (1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被设计的应用系统。然后考虑该系统有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输出到哪里去。这样就定义了系统的输入、输出数据流。顶层图的作用在于表明被设计的应用系统的范围以及它和周围环境的数据交换关系。顶层图只有一张。如下图所示是一个图书借还系统的顶层图。,(2)画系统内部,即画下层数据流图。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,一般根据当前系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系统

6、为若干子系统,决定每个子系统间的数据接口和活动关系。 例如:,一般地,画更下层数据流图时,则分解上层图中的加工,一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流(也可从输出流到输入流方向画)。如果加工的内部还有数据流,则对此加工在下层图中继续分解,直到每一个加工足够简单,不能再分解为止,不再分解的加工称为基本加工。 例如,下图是对0层中的加工进一步分解,得到了基本加工。,5.3 概念结构设计,概念结构设计阶段的目标是产生整体数据库概念结构,即概念模式。概念模式是整个组织各个用户关心的信息结构。描述概念结构的有力工具是E-R模型。 设计概念结构的E-

7、R模型可采用4种策略。,自顶向下。首先定义全局概念结构E-R模型的框架,然后逐步细化。 自底向上。首先定义各局部应用的概念结构E-R模型,然后将它们集成,得到全局概念结构E-R模型。 由里向外。首先定义最重要的核心概念E-R模型,然后向外扩充,生成其他概念结构E-R模型。 混合策略。自顶向下和自底向上相结合的方法,用自顶向下的策略设计一个全局结构概念架,以它为骨架集成自底向上策略中设计的各局部概念结构E-R图。,这里主要介绍自底向上设计策略,即先建立各局部应用的概念结构E-R模型,然后再集成为全局概念结构的E-R模型。,5.3.1 局部E-R模型设计 利用系统需求分析阶段得到的数据流程图和数据

8、词典、系统分析报告,建立对应于每一部门(或应用)的局部E-R模型。这里最关键的问题是如何确定实体(集)和实体属性,换句话说,首先要确定系统中的每一个子系统包含哪些实体,这些实体又包含哪些属性。 在设计局部E-R模型时,最大的困难莫过于实体和属性的正确划分。实体和属性的划分并无绝对的标准,在划分时,首先按现实世界中事物的自然划分来定义实体和属性,然后再进行必要的调整。调整的原则是: (1)实体和描述它的属性间保持为1:1或n:1的联系。例如学生实体和其属性年龄、性别、民族等就符合这个原则,一个学生只能有一个年龄值,一种性别,属于一种民族。可以有许多学生具有同一年龄值,同一种性别,同属一个民族。,

9、(2)描述实体的属性本身不能再有需要描述的性质。在上面的例子中学生的属性成绩不但违反了原则1而且违反了原则2,因为成绩作为属性虽然可以描述学生,但是它本身又是需要进行描述的,如需要指出课程号等,所以把这个属性分离出来自成为一个实体就比较合理。,【例5.1】设有如下实体: 学生:学号、单位、姓名、性别、年龄、选修课程号 课程:课程号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、单位、讲授课程编号 单位:单位名、电话、教师号、教师名 上述实体中存在如下联系:,一个学生可选修多门课程,一门课程可为多个学生选修。 一个教师可讲授多门课程,一门课程可为多个教师讲授。 一个单位可有多个教

10、师,一个教师只能属于一个单位。 一个单位可拥有多个学生,一个学生只属于一个单位。,假设学生只能选修本单位的课程,教师只能为本单位的学生授课。要求分别设计学生选课和教师任课两个局部信息的结构E-R图。,解:从各实体属性看到,学生实体与单位实体和课程实体关联,不直接与教师实体关联,一个单位可以开设多门课程,单位实体与课程实体之间是1:m关系,学生选课局部E-R图如图5.5所示。,图5.5 学生选课局部E-R图,教师实体与单位实体和课程实体关联,不直接与学生实体关联,教师任课局部E-R图如图5.6所示。,图5.6 教师任课局部E-R图,5.3.2 总体E-R模型设计 综合各部门(或应用)的局部E-R

11、模型,就可以得到系统的总体E-R模型。综合局部E-R模型的方法有两种:,多个局部E-R图一次综合。 多个局部E-R图逐步综合,用累加的方式一次综合两个E-R图。,第1种方法比较复杂,第2种方法每次只综合两个E-R图,可降低难度。无论哪一种方法,每次综合可分两步: (1)合并,解决各局部E-R图之间的冲突问题,生成初步的E-R图。 (2)修改和重构,消除不必要的冗余,生成基本的E-R图。,1. 消除冲突,合并局部E-R图 各类局部应用不同,通常由不同的设计人员去设计局部E-R图,因此,各局部E-R图不可避免地会有很多不一致,这称之为冲突。冲突的类型有: (1)属性冲突,属性域冲突,即属性值的类型

12、、取值范围或取值集合不同。比如年龄,可能用出生年月或用整数表示;又如零件号,不同部门可能用不同编码方式。 属性的取值单位冲突,比如重量,可能用斤、公斤、克为单位。,(2)结构冲突,同一事物,不同的抽象。如职工,在一个应用中为实体,在另一个应用中为属性。 同一实体在不同的应用中属性组成不同,包括个数、次序。 同一联系,在不同应用中呈现不同类型。,(3)命名冲突 包括属性名、实体名、联系名之间的冲突:,同名异义,不同意义的事物具有相同的名称。 异名同义(一义多名),同一意义的事物具有不同的名称。,属性冲突和命名冲突可以通过协商来解决,结构冲突则要认真分析后通过技术手段解决。例如:,要使同一事物具有

13、相同抽象,或把实体转换为属性,或把属性转换为实体。但都要符合本节介绍的准则。 同一实体合并时的属性组成,通常采取把E-R图中的同名实体各属性合并起来,再进行适当的调整。 实体联系类型可根据语义进行综合或调整。,【例5.2】将例5.1设计完成的E-R图合并成一个全局E-R图。 解:将图5.5中课程实体的教师号属性转换成教师实体,将两个子图中课程实体的“课程编号”和“课程号”属性统一成“课程号”,并对课程实体统一为“课程号”和“课程名”属性。合并后的全局E-R图如下图所示。,2. 消除不必要的冗余 在初步的E-R图中,可能存在冗余的数据或冗余的联系。冗余的数据是指可由基本的数据导出的数据,冗余的联

14、系是由其他的联系导出的。冗余的存在容易破坏数据库的完整性,给数据库的维护增加困难,应该消除。把消除了冗余的初步E-R图称为基本的E-R图。通常用分析方法消除冗余。 上图的初步E-R图消除冗余联系后(“属于”和“开课”是冗余联系,它们可以通过其他联系导出)可获得基本的E-R图,如下图所示。,5.4 逻辑结构设计,1. E-R模型向关系模型的转换 (1)若实体间的联系是1:1联系,可以在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中,加入另一个关系模式的主码和联系类型的属性。 (2)若实体间的联系是1:n联系,则在n端实体类型转换成的关系模式中,加入1端实体类型转换成的关系模式的主码

15、和联系类型的属性。 (3)若实体间的联系是m:n联系,则将联系类型也转换成关系模式,其属性为两端实体类型的主码加上联系类型的属性,而该主码为两端实体主码的组合。,【例5.3】将如下图所示的E-R图转换为关系模型。,解:图中有3个实体,分别为项目、零件和供应商,它们之间都是多对多的联系,联系类型为“供应”,其主码为所有3个实体的主码的组合,转换成关系模型如下(加下划线部分为该关系模式的主码): 供应商(供应商号,供应商名,地址) 零件(零件号,零件名,重量) 项目(项目编号,项目名称,开工日期) 供应(供应商号,项目编号,零件号,零件数),2. 关系规范化 应用规范化理论对上述产生的关系逻辑模式

16、进行初步优化,规范化理论是数据库逻辑设计的指南和工具,具体步骤如下: (1)考查关系模式的函数依赖关系,确定范式等级。逐一分析各关系模式,考查是否存在部分函数依赖、传递函数依赖等,确定它们分别属于第几范式。 (2)对关系模式进行合并或分解。根据应用要求,考查这些关系模式是否合乎要求,从而确定是否要对这些模式进行合并或分解。对于那些需要分解的关系模式,可用上一章介绍过的规范化方法和理论进行模式分解。最后,对产生的各关系模式进行评价、调整,确定出较合适的一组关系模式。,3. 关系模式的优化 为了提高数据库应用系统的性能,特别是为了提高对数据的存取和存储效率,还必须对上述产生的关系模式进行优化,即修改、调整和重构模式,经过反复多次的尝试和比较,最后得到优化的关系模式。,5.5 物理结构设计,逻辑设计完成后,下一步的任务就是进行系统的物理设计。 物理设计是在计算机的物理设备上确定应采取的数据存储结构和存取方法,以及如何分配存储空间等问题。当确定之后,应用系统所选用的DBMS提供的数据定义语言把逻辑设计的结果(数据库结构)描述出来,并将源模式变成目标模式。由于目前使用的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号