数据库系统教程-施伯乐第三版PPT.ppt
《数据库系统教程-施伯乐第三版PPT.ppt》由会员分享,可在线阅读,更多相关《数据库系统教程-施伯乐第三版PPT.ppt(83页珍藏版)》请在三一办公上搜索。
1、1,第5章 数据库设计与ER模型,2,DBD,在具备了DBMS、OS、系统软件和硬件环境时,对数据库应用开发人员来说,就是如何使用这个环境表达用户的要求,构造最优的数据模型,然后据此建立数据库及其应用系统,这个过程称为数据库设计(Database Design,简记为DBD)。,3,第5章 数据库设计与ER模型,5.1 数据库系统生存期 5.2 ER模型的基本概念 5.3 ER模型到关系模型的转换 5.4 ER模型实例分析 5.5 增强的ER模型 5.6 小结,4,5.1 数据库系统生存期(1),5.1.1 规划阶段 5.1.2 需求分析阶段5.1.3 概念设计阶段 5.1.4 逻辑设计阶段
2、5.1.5 物理设计阶段 5.1.6 数据库的实现 5.1.7 数据库的运行与维护,5,5.1 数据库系统生存期(2),为了解决“软件危机”,在1968年首次提出“软件工程”的概念。软件工程中把软件开发和运营的全过程称为“软件生存期”(Life Cycle)。软件生存期是软件工程的一个重要概念。软件生存期是指从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。以数据库为基础的信息系统通常称为数据库应用系统,它一般具有信息的采集、组织、加工、抽取、综合和传播等功能。数据库应用系统的开发是一项软件工程,但又有自己特有的特点,所以特称为“数据库工程”。,6,5.1
3、 数据库系统生存期(3),仿照软件生存期,可以得到数据库系统生存期概念。定义5.1 我们把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。这个生存期一般可划分成下面七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。,7,5.1.1 规划阶段,规划阶段具体可分成三个步骤:(1)系统调查。对应用单位作全面的调查。发现其存在的主要问题,并画出组织层次图,以了解企业的组织机构。(2)可行性分析。从技术、经济、效益、法律等诸方面对建立数据库的可行性进行分析;然后写出可行性分析报告;组织专家进行讨论其可行性。(3)确定数据库系
4、统的总目标,并对应用单位的工作流程进行优化和制订项目开发计划。在得到决策部门批准后,就正式进入数据库系统的开发工作。,8,5.1.2 需求分析阶段,这一阶段是计算机人员(系统分析员)和用户双方共同收集数据库所需要的信息内容和用户对处理的需求。并以需求说明书的形式确定下来,作为以后系统开发的指南和系统验证的依据。需求分析的工作主要由下面四步组成:1.分析用户活动,产生业务流程图2.确定系统范围,产生系统关联图3.分析用户活动涉及的数据,产生数据流图4.分析系统数据,产生数据字典需求分析阶段的有关内容在“软件工程”课程中有详细的介绍,这里不再详述。,9,5.1.3 概念设计阶段(1),概念设计的目
5、标是产生反映用户单位信息需求的数据库概念结构,即概念模型。概念模型具有硬件独立、软件独立的特点。,10,5.1.3 概念设计阶段(2),1概念设计的重要性 在早期的DBD中,概念设计并不是一个独立的设计阶段。设计依赖于具体DBMS的逻辑模型,当外界环境发生变化时,设计结果就难以适应这个变化。将概念设计从设计过程中独立开来,可以使DBD各阶段的任务相对单一化,得以有效控制设计的复杂程度,便于组织管理。概念模型能充分反映现实世界中实体间的联系,又是各种基本数据模型的共同基础,同时也容易向现在普遍使用的关系模型转换。,11,5.1.3 概念设计阶段(3),2.概念设计的主要步骤 概念设计的任务一般可
6、分为三步来完成:进行数据抽象,设计局部概念模型;将局部概念模型综合成全局概念模型;评审。(1)进行数据抽象,设计局部概念模型 设计概念结构时,常用的数据抽象方法是“聚集”和“概括”。聚集是将若干对象和它们之间的联系组合成一个新的对象。概括是将一组具有某些共同特性的对象抽象成更高一层意义上的对象。,12,5.1.3 概念设计阶段(4),(2)将局部概念模型综合成全局概念模型 综合各局部概念结构就可得到反映所有用户需求的全局概念结构。在综合过程中,主要处理各局部模式对各种对象定义的不一致问题。(3)评审 消除了所有冲突后,就可把全局结构提交评审。评审分为用户评审与DBA及应用开发人员评审两部分。概
7、念设计中最著名的方法就是实体联系方法(ER方法),建立ER模型,用ER图表示概念结构,得到数据库的概念模型。,13,5.1.4 逻辑设计阶段(1),概念设计的结果是得到一个与DBMS无关的概念模型。而逻辑设计的目的是把概念设计阶段设计好的概念模型转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库逻辑模型和外模型)。对于逻辑设计而言,应首先选择DBMS,但往往数据库设计人员没有挑选的余地,都是在指定的DBMS上进行逻辑结构的设计。,14,5.1.4 逻辑设计阶段(2),逻辑设计的主要步骤有五步:1把概念模型转换成逻辑模型2设计外模型3设计应用程序与数据库的接口4评价模
8、型5修正模型,15,5.1.5 物理设计阶段,对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程,称为物理设计。物理设计可分五步完成,前三步涉及到物理结构设计,后两步涉及到约束和具体的程序设计。存储记录结构设计 确定数据存放位置 存取方法的设计 完整性和安全性考虑 程序设计,16,5.1.6 数据库的实现(1),数据库实现主要包括以下工作:1.定义数据库结构:确定了数据库的逻辑结构与物理结构后,就可以用所选用的DBMS提供的数据定义语言(DDL)来严格描述数据库结构。2.数据装载(1)对于数据量不是很大的小型系统,可以用人工方法完成数据的入库。(2)对于大中型系统,由于数据量极大,用
9、人工方式组织数据入库将会耗费大量人力物力,而且很难保证数据的正确性,因此应该设计一个数据输入子系统,由计算机辅助数据的入库工作。,17,5.1.6 数据库的实现(2),对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程,称为物理设计。物理设计可分五步完成,前三步涉及到物理结构设计,后两步涉及到约束和具体的程序设计。存储记录结构设计 确定数据存放位置 存取方法的设计 完整性和安全性考虑 程序设计,18,5.1.7 数据库的运行与维护,对数据库经常性的维护工作主要是由DBA完成的,它包括以下内容。1.数据库的转储和恢复2.数据库安全性、完整性控制3.数据库性能的监督、分析和改进4.数据库
10、的重组织和重构造若应用变化太大,已无法通过重构数据库来满足新的需求,或重构数据库的代价太大,则表明现有数据库应用系统的生命周期已经结束,应该重新设计新的数据库系统,开始新数据库应用系统的生命周期了。,19,5.2 ER模型的基本概念,由Professor Peter Chen于1976年提出的。5.2.1 ER模型的基本元素5.2.2 属性的分类5.2.3 联系的设计5.2.4 ER模型的操作 5.2.5 采用ER模型的概念设计步骤,20,5.2.1 ER模型的基本元素(1),1.实体定义5.2 实体、实体集、实体类型的定义如下:实体(Entity)是一个数据对象,指应用中可以区别的客观存在的
11、事物。实体集(Entity Set)是指同一类实体构成的集合。实体类型(Entity Type)是对实体集中实体的定义。由于实体、实体集、实体类型等概念的区分在转换成数据库的逻辑设计时才要考虑,因此在不引起混淆的情况下,我们一般将实体、实体集、实体类型等概念统称为实体。由此可见,ER模型中提到的实体往往是指实体集。,21,5.2.1 ER模型的基本元素(2),2.联系定义5.3 联系、联系集、联系类型的定义如下:联系(Relationship)表示一个或多个实体之间的关联关系。联系集(Relationship Set)是指同一类联系构成的集合。联系类型(Relationship Type)是对
12、联系集中联系的定义。同实体一样,我们一般将联系、联系集、联系类型等统称为联系。,22,5.2.1 ER模型的基本元素(3),3属性定义5.4 实体的某一特性称为属性(Attribute)。在一个实体中,能够惟一标识实体的属性或属性集称为“实体标识符”。但一个实体只有一个标识符,没有候选标识符的概念。实体标识符有时也称为实体的主键。在ER图中,属性用椭圆形框表示,加下划线的属性为标识符。实体若干属性的一组特定值,确定了一个特定的实体,实体的属性值是数据库中存储的主要数据。联系也会有属性,用于描述联系的特征,如参加工作时间、入库数量等。但联系本身没有标识符。,23,5.2.2 属性的分类(1),1
13、.简单属性和复合属性,24,5.2.2 属性的分类(2),2.单值属性和多值属性,25,5.2.2 属性的分类(3),对多值属性进行变换,通常有下列两种变换方法:方法一:把多值属性转换成多个单值属性。,26,5.2.2 属性的分类(4),方法二:把多值属性转换成一个弱实体。,图5.5 多值属性的变换(2),27,5.2.2 属性的分类(5),图5.6 派生属性的表示,工号,学 生,姓名,基本工资,实发工资,奖金,房租,3.存储属性和派生属性,28,5.2.2 属性的分类(6),4.允许为空值的属性当实体在某个属性上没有值时应使用空值(Null Value)。譬如某个员工在配偶值处填上空值(Nu
14、ll),实际上至少有以下三种情况:该员工尚未婚配,即配偶值无意义;(这种空值,称为“占位空值”)该员工已婚配,但配偶名尚不知;(这种空值,称为“未知空值”)该员工是否婚配,还不能得知。在数据库中,空值是很难处理的一种值。,29,5.2.3 联系的设计(1),1.联系的元数定义5.5 一个联系涉及到的实体集个数,称为该联系的元数或度数(Degree)。通常,同一个实体集内部实体之间的联系,称为一元联系,也称为递归联系;两个不同实体集、实体之间的联系,称为二元联系;三个不同实体集实体之间的联系,称为三元联系。以此类推。,30,5.2.3 联系的设计(2),2.联系类型的约束联系类型的约束限制了参与
15、联系的实体的数目。有两类联系约束:基数约束和参与约束。(1)基数约束下面先定义二元联系的映射基数(Mapping Cardinalities)。定义5.6 实体集E1和E2之间有二元联系,则参与一个联系中的实体数目称为映射基数。对于二元联系类型,可能的映射基数有1:1,1:N,M:N,M:1等四种。由于M:1是1:N的反面,因此通常就不再提及。1:1,1:N和M:N的定义已在第1章给出。,31,5.2.3 联系的设计(3),例5.2 二元联系。,32,5.2.3 联系的设计(4),33,5.2.3 联系的设计(5),34,5.2.3 联系的设计(6),例5.4 三元联系。,35,5.2.3 联
16、系的设计(7),在具体实现时,有时我们对映射基数还要作出更精确的描述,即对参与联系的实体数目指明相关的最小映射基数min和最大映射基数max,用范围“min.max”的方式表示。譬如“1.*”表示参与联系的实体至少为1个,上界没有限制,即“*”表示“”。,36,5.2.3 联系的设计(8),(2)参与约束定义5.7 如果实体集E中的每个实体都参与联系集R的至少一个联系中,我们称实体集E“完全参与”联系集R。如果实体集E中只有部分实体参与联系集R的联系中,我们称实体集E“部分参与”联系集R。在ER图中表示时,完全参与用双线边表示,部分参与用单线边表示。例5.6 在图5.14中,教师与课程是1:N
17、联系,教师是部分参与,用单线边表示,课程是完全参与,用双线边表示。在图5.15中,学生与课程是M:N联系,学生是完全参与,用双线边表示,课程是部分参与,用单线边表示。,37,5.2.4 ER模型的操作(1),1.实体类型的分裂(垂直分裂、水平分裂)2.实体类型的合并(垂直合并、水平合并)3.联系类型的分裂4.联系类型的合并,38,5.2.4 ER模型的操作(2),39,5.2.4 ER模型的操作(3),40,5.2.4 ER模型的操作(4),41,5.2.4 ER模型的操作(5),42,5.2.5 采用ER模型的概念设计(1),采用ER模型进行数据库的概念设计,可以分成三步进行:1.首先设计局
18、部ER模型,2.然后把各局部ER模型综合成一个全局ER模型,3.最后对全局ER模型进行优化,得到最终的ER模型,即概念模型。,43,5.2.5 采用ER模型的概念设计(2),1设计局部ER模型根据需求分析结果,为每一个应用设计局部ER模型的步骤如下:确定局部结构范围定义实体定义联系分配属性,44,5.2.5 采用ER模型的概念设计(3),2设计全局 ER模型所有局部ER模型都设计好后,接下来就是把它们综合成单一的全局概念结构。综合成全局ER模型的步骤如下:确定公共实体类型合并局部ER模型消除冲突,45,5.2.5 采用ER模型的概念设计(4),3.全局ER模型的优化全局ER模型的优化原则:合并
19、实体类型消除冗余属性消除冗余联系,46,5.2.5 采用ER模型的概念设计(5),47,5.2.5 采用ER模型的概念设计(6),48,5.2.5 采用ER模型的概念设计(7),图5.21 教师管理子系统的局部E-R图,49,5.2.5 采用ER模型的概念设计(8),图5.22 合并后的教学管理全局E-R图,N,N,P,M,50,5.3 ER模型向关系模型的转换,5.3.1 ER图转换成关系模式集的规则5.3.2 采用ER模型的逻辑设计步骤,51,5.3.1 转换成关系模式集的算法(1),算法5.1 把ER图中实体类型和联系类型转换成关系模式的算法。步骤1(实体类型的转换):将每个实体类型转换
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 教程 伯乐 第三 PPT
链接地址:https://www.31ppt.com/p-6578616.html