数据库原理与应用:第5章 概念结构设计_第1页
数据库原理与应用:第5章 概念结构设计_第2页
数据库原理与应用:第5章 概念结构设计_第3页
数据库原理与应用:第5章 概念结构设计_第4页
数据库原理与应用:第5章 概念结构设计_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章数据库设计数据库原理与应用PrincipleandApplicationofDatabaseSystem第五章数据库设计5.1数据库设计概述5.2需求分析5.3概念结构设计5.4逻辑结构设计5.5物理结构设计5.6数据库实施和维护5.3概念结构设计5.3.1概念结构设计概述5.3.2概念结构设计的方法与步骤5.3.3数据抽象与局部视图设计5.3.4视图的集成5.3.1概念结构设计概述在需求分析阶段,设计人员充分调查并描述了用户的需求,但这些需求只是现实世界的具体要求,应把这些需求抽象为信息世界的结构,才能更好地实现用户的需求。概念结构设计就是将需求分析得到的用户需求抽象为概念模型。概念结构(续)概念模型的特点(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。概念结构(续)(3)易于修改和扩充,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4)易于向关系、网状、层次等各种数据模型转换。概念结构(续)描述概念模型的工具E-R模型5.3概念结构设计5.3.1概念结构设计概述5.3.2概念结构设计的方法与步骤5.3.3数据抽象与局部视图设计5.3.4视图的集成5.3.2概念结构设计的方法与步骤设计概念结构的四类方法自顶向下首先定义全局概念结构的框架,然后逐步细化自底向上首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构概念结构设计的方法与步骤(续)逐步扩张首先定义最核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至全局概念结构混合策略将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。概念结构设计的方法与步骤(续)

自顶向下策略概念结构设计的方法与步骤(续)

自底向上策略概念结构设计的方法与步骤(续)

逐步扩张概念结构设计的方法与步骤(续)常用策略自顶向下地进行需求分析自底向上地设计概念结构自底向上设计概念结构的步骤第1步:抽象数据并设计局部视图第2步:集成局部视图,得到全局概念结构需求分析数据抽象、局部视图设计视图集成征求用户意见DFD、DD局部E-R图全局E-R图逻辑结构设计自底向上方法的设计步骤5.3概念结构设计5.3.1概念结构设计概述5.3.2概念结构设计的方法与步骤5.3.3数据抽象与局部视图设计5.3.4视图的集成5.3.3数据抽象与局部视图设计数据抽象局部视图设计一、数据抽象所谓抽象是对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。数据抽象(续)三种常用抽象1.分类(Classification)分类将一组具有某些共同特性和行为的实体抽象为一个实体型。它抽象了实体与实体型之间的“ismemberof”的关系。例如,在教学管理中,“张三”是一名学生,表示“张三”是学生中的一员,他具有学生共同的特性和行为。学生李勇刘晨张立王敏数据抽象(续)2.聚集(Aggregation)聚集定义实体型的组成成份,将实体型的组成成份抽象为实体型的属性。属性与实体型之间是“ispartof”的关系。例如,学号、姓名、性别、年龄、系别等可以抽象为学生实体型的属性,其中学号是标识学生实体的主键。

学生学号姓名性别年龄系别数据抽象(续)3.概括(Generalization)定义类型之间的一种子集联系它抽象了类型之间的“issubsetof”的语义概括有一个很重要的性质:继承性。子类继承超类上定义的所有抽象。学生研究生本科生issubsetof数据抽象(续)数据抽象的用途对需求分析阶段收集到的数据进行分类、聚集后,形成实体实体的属性,标识实体的码确定实体之间的联系类型(1:1,1:n,m:n)二、局部视图设计设计分E-R图的步骤:⒈选择局部应用⒉逐一设计分E-R图⒈选择局部应用需求分析阶段,已用多层数据流图和数据字典描述了整个系统。设计分E-R图首先需要根据系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分E-R图。选择局部应用(续)通常以中层数据流图作为设计分E-R图的依据。原因:高层数据流图只能反映系统的概貌低层数据流图过细中层数据流图能较好地反映系统中各局部应用的子系统组成⒉逐一设计分E-R图标定局部应用中的实体型、属性、码,实体型间的联系将各局部应用涉及的数据分别从数据字典中抽取出来,参照数据流图,标定各局部应用中的实体型、实体型的属性、标识实体型的码,确定实体型之间的联系及其类型(1:1,1:n,m:n)逐一设计分E-R图(续)如何区分实体型和属性实体型与属性是相对而言的,往往要根据实际情况进行必要的调整。在调整中要遵循两条原则:

①属性必须是不可分的数据项,不能再由另一些属性组成。例如:学生是一个实体型,学号、姓名、性别、年龄是学生实体型的属性,如果系别只表示学生属于哪个系,不涉及系的具体情况,即是不可分的数据项,则根据原则①可以作为学生实体型的属性。但如果考虑一个系的系主任、学生人数、教师人数、办公地点等,则系别应看作一个实体型。如下图所示。学生学生系别属于n1学号姓名性别年龄系别学号姓名性别年龄系主任学生人数教师人数办公地点②属性不能与其他实体型具有联系例如,“职称”为教师实体型的属性,但在涉及住房分配时,由于分房与职称有关,即职称与住房实体型之间有联系,则根据原则②,职称应作为一个实体型。如下图所示。

聘任教师教师n1职称分配住房姓名性别职称姓名性别n1下面举例说明分E-R图设计。在简单的教务管理系统中,有如下语义约束。①一个学生可选修多门课程,一门课程可为多个学生选修,因此学生和课程是多对多的联系;②一个教师可讲授多门课程,一门课程可为多个教师讲授,因此教师和课程也是多对多的联系;③一个系可有多个教师,一个教师只能属于一个系,因此系和教师是一对多的联系,同样系和学生也是一对多的联系。根据上述约定,可以得到如图所示的学生选课分E-R图和教师任课分E-R图。学生选课分E-R图nmnn1名称系拥有1学生学号姓名性别年龄开课课程教师号课程号课程名选修成绩平均成绩教师任课分E-R图1n教师号姓名性别职称课程号教师讲授课程n属于单位单位名电话m5.3概念结构设计5.3.1概念结构5.3.2概念结构设计的方法与步骤5.3.3数据抽象与局部视图设计5.3.4视图的集成5.3.4视图的集成分E-R图设计完成之后,下一步就是集成各分E-R图,形成总E-R图,即视图的集成。视图集成的方法有两种:①多元集成法,一次性将多个分E-R图合并为一个总E-R图,如图所示。分E-R图1…分E-R图2分E-R图n初步E-R图基本E-R图②二元集成法,首先集成两个局部视图,以后用累加的方法逐步将一个新的视图集成进来,如图所示。分E-R图1分E-R图2合并E-R图12分E-R图3…初步E-R图基本E-R图视图的集成(续)无论使用哪一种方法,视图集成均分成两个步骤:①合并:消除各分E-R图之间的冲突,生成初步E-R图。②优化:消除不必要的冗余,生成基本E-R图。视图的集成(续)局部E-R图合并(消除冲突)修改与重构(消除不必要的冗余)集成视图基本E-R图初步E-R图分析规范化理论一、合并分E-R图,生成初步E-R图这个步骤将所有的分E-R图综合成初步总的E-R图。由于各个局部应用不同,通常由不同的设计人员进行分E-R图设计,因此,各分E-R图不可避免地会有许多不一致的的地方,我们称之为冲突。合并分E-R图时并不能简单地将各个E-R图画到一起,而必须消除各个分E-R图中的冲突。合并分E-R图,生成初步E-R图(续)冲突的种类属性冲突命名冲突结构冲突⒈属性冲突属性冲突又分为属性值域冲突和属性的取值单位冲突。a.属性值域冲突:即属性值的类型、取值范围不同。比如学号,有些部门将其定义为数值型,而有些部门将其定义为字符型。又如年龄,有的可能用出生年月表示,有的则用整数表示。b.属性的取值单位冲突:比如零件的重量,有的以公斤为单位,有的以斤为单位,有的则以克为单位。⒉命名冲突命名冲突可能发生在实体名、属性名或联系名之间,其中属性的命名冲突更为常见。一般表现为同名异义或异名同义。a.同名异义:即同一名字的对象在不同的局部应用中具有不同的意义。 比如,“单位”在某些部门表示为人员所在的部门,而在某些部门可能表示物品的重量、长度等属性。b.异名同义:即同一意义的对象在不同的部门中具有不同的名称。 比如:科研项目,财务处称为项目,科研处称为课题,生产管理处称为工程。⒊结构冲突a.同一对象在不同应用中有不同的抽象。例如,教师的职称在某一局部应用中被当作实体,而在另一局部应用中被当作属性。 这类冲突在解决时,就是使同一对象在不同应用中具有相同的抽象,或把实体转换为属性,或把属性转换为实体。但都要符合5.3.3中所介绍的准则。b.同一实体型在不同应用中属性组成不同,可能是属性个数或属性次序不同。结构冲突(续)学生学号

姓名性别平均成绩(a)在局部应用A中结构冲突(续)学生学号

姓名出生日期年级(b)在局部应用B中所在系结构冲突(续)学生学号

姓名

政治面貌(c)在局部应用C中解决办法是,合并后实体型的属性组成为各局部应用中的同名实体型属性的并集,然后再适当调整属性的次序。结构冲突(续)学生

政治面貌

学号出生日期年级(d)合并后所在系平均成绩姓名性别c.同一联系在不同应用中呈现不同的类型。比如E1与E2在某一应用中可能是一对一联系,而在另一应用中可能是一对多或多对多联系,也可能是在E1、E2、E3三者之间有联系。这种情况应该根据应用的语义对实体联系的类型进行综合或调整。

下面以教务管理系统中的两个分E-R图为例,来说明如何消除各分E-R图之间的冲突,进行分E-R模型的合并,从而生成初步E-R图。首先,这两个分E-R图中存在着命名冲突,学生选课局部E-R图中的实体型“系”与教师任课局部E-R图中的实体型“单位”,都是指“系”,即所谓的异名同义,合并后统一改为“系”,这样属性“名称”和“单位名”即可统一为“系名”。其次,还存在着结构冲突,实体型“系”和实体型“课程”

在两个不同应用中的属性组成不同,合并后这两个实体的属性组成为原来分E-R图中的同名实体属性的并集。解决上述冲突后,合并两个分E-R图,生成如图所示的初步的总E-R图。nn1系属于教师拥有学生开课讲授选修课程nmnm1n1学号姓名性别年龄平均成绩成绩教师号课程号课程名教师号姓名性别职称系名电话教务管理系统的初步E-R图二、消除冗余,生成基本E-R图所谓冗余,指冗余的数据和实体之间冗余的联系。冗余的数据是指可由基本的数据导出的数据,冗余的联系是由其他的联系导出的联系。在上面消除冲突合并后得到的初步E—R图中,可能存在冗余的数据或冗余的联系。冗余的存在容易破坏数据库的完整性,给数据库的维护增加困难,应该消除。我们把消除了冗余的初步E-R图称为基本E-R图。如在初步E-R图中,“课程”实体型中的属性“教师号”可由“讲授”这个教师与课程之间的联系导出,而学生的平均成绩可由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论