第6章 数据库设计.ppt
《第6章 数据库设计.ppt》由会员分享,可在线阅读,更多相关《第6章 数据库设计.ppt(61页珍藏版)》请在麦多课文档分享上搜索。
1、1,第6章 数据库设计,2,6.1 数据库设计概述,6.1.1 数据库设计的任务、内容和特点 一、数据库设计的任务 数据库设计是指根据用户需求研制数据库结构的过程,具体地说,是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能有效的存储数据,满足用户的信息要求和处理要求。,3,二、数据库设计的内容 1数据库的结构设计 数据库的结构设计指是根据给定的应用环境,进行数据库的模式或子模式的设计。 它包括数据库的概念设计、逻辑设计和物理设计。 数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为静态模型设计。,4,2数据
2、库的行为设计 数据库的行为设计是指确定数据库用户的行为和动作。而在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。 用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为动态模型设计。,5,三、数据库设计的特点 现代数据库的设计的特点是强调结构设计与行为设计相结合,是一种“反复探寻,逐步求精”的过程。首先从数据模型开始设计,以数据模型为核心进行展开,数据库设计和应用系统设计相结合,建立一个完整、独立、共享、冗余小、安全有效的数据库系统。,6,6.1.2 数据库设计的步骤 按规范设计法可将数据库设计分为六个
3、阶段: (1)系统需求分析阶段 (2)概念结构设计阶段 (3)逻辑结构设计阶段 (4)物理设计阶段 (5)数据库实施阶段 (6)数据库运行与维护阶段,7,6.1.3 数据库设计方法简述 直观设计法(手工试凑法) 规范设计法 计算机辅助设计法,8,常用的规范设计方法。 1基于E-R模型的数据库设计方法 2基于3NF的数据库设计方法 3基于视图的数据库设计方法除了以上三种方法外,规范化设计方法还有实体分析法、属性分析法和基于抽象语义的设计方法等。 规范设计法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。,9,6.2.1 概念模型的特点语义表达能力丰富。 易于交流和理解。 (3)
4、易于修改和扩充。 (4) 易于向各种数据模型转换。,6.2 概念结构设计,10,6.2.2 概念结构设计的方法与步骤 1概念结构设计的方法 设计概念结构的E-R模型可采用四种方法。自顶向下。 自底向上。 (3) 逐步扩张。 (4) 混合策略。其中最常用的方法是自底向上。即自顶向下地进行需求分析,再自底向上地设计概念结构。,11,2概念结构设计的步骤 自底向上的设计方法可分为两步: (1) 进行数据抽象,设计局部E-R模型,即设计用户视图。 (2) 集成各局部E-R模型,形成全局E-R模型,即视图的集成。3数据抽象与局部E-R模型设计 概念结构是对现实世界的一种抽象。 所谓抽象是对实际的人、物、
5、事和概念进行人为处理,它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。 概念结构设计首先要根据需求分析得到的结果(数据流图、数据字典等)对现实世界进行抽象,设计各个局部E-R模型。,12,1 数据抽象 一般有两种数据抽象:分类和聚集。 分类(Classification) 分类定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体。对象和实体之间是“is member of”的关系。 例如,在教学管理中,“赵亦”是一名学生,表示“赵亦”是学生中的一员,她具有学生们共同的特性和行为。 聚集(Aggre
6、gation) 聚集定义某一类型的组成成份,将对象类型的组成成份抽象为实体的属性。组成成份与对象类型之间是“is part of”的关系。 例如,学号、姓名、性别、年龄、系别等可以抽象为学生实体的属性,其中学号是标识学生实体的主键。,13,2 局部E-R模型设计 数据抽象后得到了实体和属性,实际上实体和属性是相对而言的,往往要根据实际情况进行必要的调整。在调整中要遵循两条原则: 实体具有描述信息,而属性没有。即属性必须是不可分的数据项,不能再由另一些属性组成。 属性不能与其他实体具有联系,联系只能发生在实体之间。,14,图6.1 系别作为一个属性或实体,15,图6.2 职称作为一个属性或实体,
7、16,此外,我们可能会遇到这样的情况,同一数据项,可能由于环境和要求的不同,有时作为属性,有时则作为实体,此时必须根据实际情况而定。一般情况下,凡能作为属性对待的,应尽量作为属性,以简化E-R图的处理。 下面举例说明局部E-R模型设计。 在简单的教务管理系统中,有如下语义约束。 一个学生可选修多门课程,一门课程可为多个学生选修,因此学生和课程是多对多的联系; 一个教师可讲授多门课程,一门课程可为多个教师讲授,因此教师和课程也是多对多的联系; 一个系可有多个教师,一个教师只能属于一个系,因此系和教师是一对多的联系,同样系和学生也是一对多的联系。 根据上述约定,可以得到如图6.3所示的学生选课局部
8、图和如图6.4所示的教师任课局部图。形成局部E-R模型后,应该返回去征求用户意见,以求改进和完善,使之如实地反映现实世界。 E-R图的优点就是易于被用户理解,便于交流。,17,图6.3 学生选课局部图,18,图6.4 教师任课局部图,19,3全局E-R模型设计 局部E-R模型设计完成之后,下一步就是集成各局部E-R模型,形成全局E-R模型,即视图的集成。视图集成的方法有两种: 多元集成法,一次性将多个局部E-R图合并为一个全局E-R图。 二元集成法,首先集成两个重要的局部视图,以后用累加的方法逐步将一个新的视图集成进来。 在实际应用中,可以根据系统复杂性选择这两种方案。一般采用逐步集成的方法,
9、如果局部视图比较简单,可以采用多元集成法。一般情况下,采用二元集成法,即每次只综合两个视图,这样可降低难度。无论使用哪一种方法,视图集成均分成两个步骤,。合并,消除各局部E-R图之间的冲突,生成初步E-R图。优化,消除不必要的冗余,生成基本E-R图。,20,(1) 合并局部E-R图,生成初步E-R图 这个步骤将所有的局部E-R图综合成全局概念结构。 全局概念结构它不仅要支持所有的局部E-R模型,而且必须合理地表示一个完整、一致的数据库概念结构。 由于各个局部应用不同,通常由不同的设计人员进行局部E-R图设计,因此,各局部E-R图不可避免地会有许多不一致的的地方,我们称之为冲突。 合并局部E-R
10、图时并不能简单地将各个E-R图画到一起,而必须消除各个局部E-R图中的不一致,使合并后的全局概念结构不仅支持所有的局部E-R模型,而且必须是一个能为全系统中所有用户共同理解和接受的完整的概念模型。 合并局部E-R图的关键就是合理消除各局部E-R图中的冲突。,21,E-R图中的冲突有三种:属性冲突、命名冲突和结构冲突。 属性冲突 属性冲突又分为属性值域冲突和属性的取值单位冲突。a.属性值域冲突,即属性值的类型、取值范围或取值集合不同。比如学号,有些部门将其定义为数值型,而有些部门将其定义为字符型。又如年龄,有的可能用出生年月表示,有的则用整数表示。b.属性的取值单位冲突。比如零件的重量,有的以公
11、斤为单位,有的以斤为单位,有的则以克为单位。 属性冲突属于用户业务上的约定,必须与用户协商后解决。,22,命名冲突 命名不一致可能发生在实体名、属性名或联系名之间,其中属性的命名冲突更为常见。 一般表现为同名异义或异名同义(实体、属性、联系名)。a.同名异义,即同一名字的对象在不同的部门中具有不同的意义。比如,“单位”在某些部门表示为人员所在的部门,而在某些部门可能表示物品的重量、长度等属性。b.异名同义,即同一意义的对象在不同的部门中具有不同的名称。比如,对于“房间”这个名称,在教务管理部门中对应着为教室,而在后勤管理部门对应为学生宿舍。 命名冲突的解决方法同属性冲突,需要与各部门协商、讨论
12、后加以解决。,23,结构冲突 a.同一对象在不同应用中有不同的抽象,可能为实体,也可能为属性。例如,教师的职称在某一局部应用中被当作实体,而在另一局部应用中被当作属性。这类冲突在解决时,就是使同一对象在不同应用中具有相同的抽象,或把实体转换为属性,或把属性转换为实体。但都要符合6.3.3中所介绍的准则。 b.同一实体在不同应用中属性组成不同,可能是属性个数或属性次序不同。解决办法是,合并后实体的属性组成为各局部E-R图中的同名实体属性的并集,然后再适当调整属性的次序。 c.同一联系在不同应用中呈现不同的类型。比如E1与E2在某一应用中可能是一对一联系,而在另一应用中可能是一对多或多对多联系,也
13、可能是在E1、E2、E3三者之间有联系。这种情况应该根据应用的语义对实体联系的类型进行综合或调整。,24,下面以教务管理系统中的两个局部E-R图为例,来说明如何消除各局部E-R图之间的冲突,进行局部E-R模型的合并,从而生成初步E-R图。 首先,这两个局部E-R图中存在着命名冲突,学生选课局部图中的实体“系”与教师任课局部图中的实体“单位”,都是指“系”,即所谓的异名同义,合并后统一改为“系”,这样属性“名称”和“单位”即可统一为“系名”。 其次,还存在着结构冲突,实体“系”和实体“课程” 在两个不同应用中的属性组成不同,合并后这两个实体的属性组成为原来局部E-R图中的同名实体属性的并集。解决
14、上述冲突后,合并两个局部E-R图,生成如图6.5所示的初步的全局E-R图。,25,图6.5 教务管理系统的初步ER图,26,(2) 消除不必要的冗余,生成基本E-R图 所谓冗余,在这里指冗余的数据和实体之间冗余的联系。冗余的数据是指可由基本的数据导出的数据,冗余的联系是由其他的联系导出的联系。在上面消除冲突合并后得到的初步ER图中,可能存在冗余的数据或冗余的联系。冗余的存在容易破坏数据库的完整性,给数据库的维护增加困难,应该消除。我们把消除了冗余的初步E-R图称为基本E-R图。 通常采用分析的方法消除冗余。数据字典是分析冗余数据的依据,还可以通过数据流图分析出冗余的联系。 如在图9.20所示的
15、初步E-R图中,“课程”实体中的属性“教师号”可由“讲授”这个教师与课程之间的联系导出,而学生的平均成绩可由“选修”联系中的属性“成绩”中计算出来,所以“课程”实体中的 “教师号” 与“学生”实体中的“平均成绩”均属于冗余数据。,27,另外,“系”和“课程”之间的联系“开课”,可以由“系”和“教师”之间的“属于”联系与“教师”和“课程”之间的“讲授”联系推导出来,所以“开课”属于冗余联系。 这样,图9.20的初步E-R图在消除冗余数据和冗余联系后,便可得到基本的E-R模型,如图9.21所示。 最终得到的基本E-R模型是企业的概念模型,它代表了用户的数据要求,是沟通“要求”和“设计”的桥梁。它决
16、定数据库的总体逻辑结构,是成功建立数据库的关键。如果设计不好,就不能充分发挥数据库的功能,无法满足用户的处理要求。 因此,用户和数据库人员必须对这一模型反复讨论,在用户确认这一模型已正确无误的反映了他们的要求后,才能进入下一阶段的设计工作。,28,图6. 6 教务管理系统的基本ER图,29,6.3.1 逻辑结构设计的任务和步骤 概念结构设计阶段得到的E-R模型是用户的模型,它独立于任何一种数据模型,独立于任何一个具体的DBMS。为了建立用户所要求的数据库,需要把上述概念模型转换为某个具体的DBMS所支持的数据模型。数据库逻辑设计的任务是将概念结构转换成特定DBMS所支持的数据模型的过程。从此开
17、始便进入了“实现设计”阶段,需要考虑到具体的DBMS的性能、具体的数据模型特点。 从E-R图所表示的概念模型可以转换成任何一种具体的DBMS所支持的数据模型,如网状模型、层次模型和关系模型。这里只讨论关系数据库的逻辑设计问题,所以只介绍E-R图如何向关系模型进行转换。,6.3 逻辑结构设计,30,一般逻辑设计分为三步:(1) 初始关系模式设计;(2) 关系模式规范化;(3) 模式的评价与改进。,图6.7 逻辑设计,31,6.3.2 初始关系模式设计 1转换原则 概念设计中得到的E-R图是由实体、属性和联系组成的,而关系数据库逻辑设计的结果是一组关系模式的集合。所以将E-R图转换为关系模型实际上
18、就是将实体、属性和联系转换成关系模式。在转换中要遵循以下原则:(1) 一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。(2) 一个联系转换为一个关系模式,与该联系相连的各实体的键以及联系的属性均转换为该关系的属性。该关系的键有三种情况:如果联系为1:1,则每个实体的键都是关系的候选键;如果联系为1: n ,则n端实体的键是关系的键;如果联系为n : m,则各实体键的组合是关系的键。,32,2具体做法 (1) 把每一个实体转换为一个关系 首先分析各实体的属性,从中确定其主键,然后分别用关系模式表示。例如,以图6.6的E-R模型为例,四个实体分别转换成四个关系模式:学生
19、(学号,姓名,性别,年龄)课程(课程号,课程名)教师(教师号,姓名,性别,职称)系(系名,电话),33,(2) 把每一个联系转换为关系模式 由联系转换得到的关系模式的属性集中,包含两个发生联系的实体中的主键以及联系本身的属性,其关系键的确定与联系的类型有关。 例如,还以图6.6的E-R模型为例,四个联系也分别转换成四个关系模式: 属于(教师号,系名) 讲授(教师号,课程号) 选修(学号,课程号,成绩) 拥有(系名,学号),34,(3) 特殊情况的处理 三个或三个以上实体间的一个多元联系在转换为一个关系模式时,与该多元联系相连的各实体的主键及联系本身的属性均转换成为关系的属性,转换后所得到的关系
20、的主键为各实体键的组合。 例如,图6.8表示供应商、项目和零件三个实体之间的多对多联系,如果已知三个实体的主键分别为“供应商号”,“项目号”与“零件号”,则它们之间的联系“供应”可转换为关系模式,其中供应商号,项目号,零件号为此关系的组合关系键。 供应(供应商号,项目号,零件号,数量),35,图6.8 多个实体之间的联系,36,6.3.3 关系模式规范化 规范化过程可分为两个步骤: 1确定范式级别 考查关系模式的函数依赖关系,确定范式等级,逐一分析各关系模式,考查是否存在部分函数依赖,传递函数依赖等,确定它们分别属于第几范式。2实施规范化处理 确定范式级别后,利用第4章的规范化理论,逐一考察各
21、个关系模式,根据应用要求,判断它们是否满足规范要求,可用已经介绍过的规范化方法和理论将关系模式规范化。,37,综合以上数据库的设计过程,规范化理论在数据库设计中有如下几方面的应用:(1) 在需求分析阶段,用数据依赖概念分析和表示各个数据项之间的联系。(2) 在概念结构设计阶段,以规范化理论为指导,确定关系键,消除初步E-R图中冗余的联系。(3) 在逻辑结构设计阶段,从E-R图向数据模型转换过程中,用模式合并与分解方法达到规范化级别。,38,6.3.4 模式评价与改进 1模式评价 模式评价的目的是检查所设计的数据库模式是否满足用户的功能要求、效率,确定加以改进的部分。模式评价包括功能评价和性能评
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 PPT
