概念数据库设计.ppt

上传人:小飞机 文档编号:6302511 上传时间:2023-10-15 格式:PPT 页数:28 大小:253.99KB
返回 下载 相关 举报
概念数据库设计.ppt_第1页
第1页 / 共28页
概念数据库设计.ppt_第2页
第2页 / 共28页
概念数据库设计.ppt_第3页
第3页 / 共28页
概念数据库设计.ppt_第4页
第4页 / 共28页
概念数据库设计.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《概念数据库设计.ppt》由会员分享,可在线阅读,更多相关《概念数据库设计.ppt(28页珍藏版)》请在三一办公上搜索。

1、第六章 概念数据库设计早期的数据库设计是在需求分析的基础上直接进入数据库的逻辑设计的。由于逻辑结构与具体的DBMS关系密切,因而设计工作存在着许多困难。这促成了概念设计从逻辑设计中分离出来。在概念设计阶段中,设计人员从用户的角度看待信息和事务,产生一个反映用户需求的概念模式。为建立逻辑数据库模式作准备。把概念设计从逻辑设计分离出来有以下好处:各阶段的任务相对单一化,降低设计复杂性;概念模式独立于DBMS,故比逻辑数据库模式稳定;概念设计不含特定DBMS的技术细节,设计人员可以专心于研究如何反映客观世界,故容易为用户所理解,因而才有可能准确反映用户需求。第一节 概述 第二节 实体联系模型第三节

2、扩展的实体联系模型第四节 概念设计的方法与策略第五节 视图综合设计方法第六节 事务的设计,F,第一节 概述概念数据库设计的两个任务及其目标:1.事务设计:根据需求分析阶段提出的数据库操作任务,作出数据库事务的高级说明,其目标是:在概念级定义事务的功能,说明事务的输入输出 信息和基本功能,支持各种事务的运行。2.模式设计:根据需求分析阶段识别的数据项和预测改变,使用 高级数据模型,建立概念数据库模式,其目标是:(1)准确描述信息模式,支持用户应用;(2)易理解,易转换为逻辑数据库模式。概念数据库模式独立于DBMS,不能直接用于数据库实现。这种做法的好处是:1.不受特定DBMS局限,彻底地理解和描

3、述应用领域,有利于开发人员正确地和全面地理解应用领域。2.不受逻辑设计、物理设计改变,甚至DBMS改变的影响。3.由于使用图形描述方式直观易懂,故有利于开发者和用户的交流。实体联系模型(ER)或其加强模型(EER)是广泛使用的高级数据模型.,F1,第二节 实体联系模型实体联系模型(简称ER模型)产生于1976年。这个模型使用实体、联系和属性三个基本概念直接描述现实世界。实体联系图是表示ER模型的图形工具,简称ER图。它是概念数据库设计的重要工具。一.实体和属性二.实体型、键属性和属性的值域三.数据库实例四.实体间的联系五.弱实体六.实体联系图,F2,一.实体和属性实体是客观世界中各种事物的抽象

4、,如教师、学生、课程等。属性是实体的一组特征,如教师实体的属性是姓名,证号,课程等。属性可按结构性质分类为:简单属性:不可分割的简单数据项,如姓名、性别和学号等。复合属性:由若干个简单属性按层次结构组成,例如,地址(省,市,区,街,号)属性可按赋值唯一性分类为:单值属性:一个实体的单值属性仅取一值,如编号,有效期等;多值属性:一个实体的多值属性可取多值,如学历(年份,学位)导出属性:这是一种特殊属性,其值可由其它某些属性的值导出。例如:年龄可由出生日期和现在日期导出,销售额可由销售价和销售量计算得出。,F21,姓名,证号,宿舍,任课,教师,栋号,房号,学历,复合属性,多值属性,一个实体例子,二

5、.实体型、键属性和属性的值域实体型是具相同属性集的实体的集合,由名字和一组属性来定义。实体型的定义称为实体模式,它描述了一组实体的公共结构。实体型表示的实体集合中任何一个实体 称为该实体型的实例。ER模型中的实体型用某个属性子集(称为键)区别实体,如果键包含的属性只有一个,则称之为简单键,否则称之为复合键。键是实体型的一个重要完整性约束,规定了不同实体有不同的键。简单属性的取值范围叫做值域,例如年龄的值域可取为1.150.,F22,数据库实例(大学数据库)的五个实体型编号 名称 属性集合1 系 系名,编号,地点,主任2 教研室 名称,编号,电话,所属系 教师 姓名,性别,编号,所属系,课程,地

6、址,4 学生 姓名,性别,编号,所属系,年级5 课程 名称,编号,时数,所属系,多值属性复合属性下划线表示键,三.数据库实例该实例称为大学数据库,本页介绍组成它的五个实体型。有几点说明:1.大学由多个系组成,每个系有系 名、编号和主任,有多个地点。系名和编号都是唯一的。2.系有多个教研室,每个教研室有 名称、编号、所属系和地点。编号是唯一的。,F23,3.每个教师有姓名、性别、编 号、地址、课程、所属系。编号是唯一的。4.每个学生有姓名、性别、编 号、所属系和年级。编号是 唯一的。5.每门课程有名称、编号、所 属系、学时数。编号唯一。,四.实体间的联系 在一个数据库中,不同实体型的实体之间可能

7、存在着联系。例如,大学数据库中教研室实体型的每个实体,即每个教研室,必和系实体型的某个实体,即系,存在某教研室属于某系的联系。又如,学生实体型的实体(即学生)、教师实体型的实体(即教师)以及课程实体型的实体(课程)存在着某学生选修某教师讲授的某课程的联系。实体间的联系是根据需求分析的结果决定的。1.联系型和联系实例 2.联系型的结构约束 3.联系型的属性,F24,1.联系型和联系实例定义实体型A和实体型B之间的联系型R定义为RAB,称A、B为联系型R所关联的实体型。联系型R的元素(a,b)称为联系型R的实例,它取自AB集合,即aA,bB,选取方法由应用领域决定,a、b称为联系实例(a,b)所关

8、联的实体。例如:教研室和系之间的联系型B_T=(j,d)|教研室j属于系d 学生和系之间的联系型 S_D=(s,d)|学生s属于系d 教师和系之间的联系型1:T_D1=(t,d)|教师t属于系d 教师和系之间的联系型2:T_D2=(t,d)|教师t是系d的主任 学生、教师和课程之间的联系型:S_T_C=(s,t,c)|学生s选修教师t讲授的课程c联系型所关联的实体型数目称为阶。实体之间的联系既可以如上例那样使用联系型定义,也可以通过实体属性的取值来表示,例如,在教研室的属性所属系取值即可实现教研室和系的联系。类似地可把上述定义推广为多个实体型之间的联系型。,F24a,2.联系型的结构约束(实体

9、对应约束和实体关联约束)实体对应约束:这是联系型所关联的各实体型之间的约束,有三种 实体对应约束即1对1约束、1对多约束、多对多约束。定义设A和B是联系型R所关联的实体型,若aA,唯一的bB与之关联,则称R是1对1联系型,记为1:1联系.若aA,有n(0)个bB与之关联;bB,有m(1)个aA与之关联,则称R是一对多联系型,记为1:n联系;若aA,有n(0)个bB与之关联;bB,有m(0)个aA与之关联,则称R是多对多联系型,记为m:n联系。例如,若假定大学数据库还有主任实体型,规定一个系只有一个主任,一个主任只负责一个系工作。于是系实体型和主任实体型存在1:1联系;由于一个系有多个教研室,而

10、一个教研室只属于一个系,故教研室实体型和系实体型之间的联系型B_T是1:n联系;若规定一门课由多个教师讲授,而一个教师可讲授多门课,则课程实体型和教师实体型之间存在一个m:n联系。,F24b,接下页,实体关联约束:这是联系型和它所关联的实体型之间的约束,有两 种实体关联约束,即全域关联约束和部分关联约束。定义设A是联系型R所关联的一个实体型,若规定A的各实体必须出现在R的某个联系实例中,则称这种规定为实体型A关于联系型R的全域约束。若规定A的实体可以不出现在任何联系实例中,则称这种规定为实体型A关于联系型R的部分约束。例如,在大学数据库中,若规定每位教师必属于某个系,则这种规定就是 教师实体型

11、关于联系型(T_D1)的全域关联约束。由于并非所有教师都是主任,故这情况就是 教师实体型关于联系型(T_D2)的部分关联约束。,F24b1,联系型的结构约束,实体关联约束,实体对应约束,1:1约束1:n约束m:n约束全域关联约束部分关联约束,3.联系型的属性联系型可以具有属性,例如,为了表示教师讲授课程的周学时数,在教师实体型和课程实体型之间的联系型T_C=(t,c)|教师t讲授课程c中设置一个属性周学时。联系型的属性怎样设置呢?若联系型是1:n类型,则可以把该属性设置在所关联的n方实体型中。若联系型是1:1类型,则设置在两个实体型当中任一个均可以。例如,联系型S_D=(s,d)|学生s属于系

12、d属于n:1类型,因系向学生提供宿舍,故宿舍房号是联系型的属性,可将此属性设置在n方实体型即学生实体型内。注意,若把联系型属性设置在1方实体型内,则会成为多值属性,给以后的许多处理带来麻烦。,F24c,识别实体型B,弱实体型A,五.弱实体应用领域中有些实体型没有普通意义的键,我们称之为弱实体型,它的实体称为弱实体。不同的弱实体可以有完全相同的属性值。识别弱实体的方法是关联另一个普通的实体型(称为识别实体型)。在弱实体型中挑选这样的属性子集,使得可以和识别实体型的键结合成弱实体型的键,弱实体型的这个属性子集称为部分键。设联系型R关联弱实体型A和对应的识别实体型,则称R为A的识别联系型。为了能识别

13、每个弱实体,识别联系型R对于弱实体型A必须具有全域关联约束。一个弱实体型可以具有多个识别实体型和识别联系型,这意味着弱实体可以有多种识别方法。,父亲,孩子,(身份证号,姓名),(父身份证号,姓名,性别,生日),部分键,标识孩子的一个方法:孩子姓名-父亲身份证号,F25,识别联系型,全域关联约束,六.实体联系图 实体联系图是表示ER模型的图形工具,简称ER图。ER图用来表示实体型和联系型。下边列出表示实体联系模型各种成分的ER图素。,实体型,属性,联系型,F26,弱实体型,识别联系型,键属性,多值属性,导出属性,复合属性,B,A,R,联系型R对于实体型B具有全域关联约束,B,A,R,1,1,B,

14、A,R,1,n,B,A,R,m,n,1:1联系型,1:n联系型,m:n联系型,大学数据库的ER图,接下页,课程,学生,教师,系,教研室,名称,学时数,编号,所属系,姓名,编号,所属系,年级,系名,编号,地点,系主任,姓名,编号,性别,地址,课程,所属系,名称,编号,电话,所属系,T_S_C,T_D,S_D,BD,市,区,邮政,单位,学校,信箱,大学数据库的ER图,F26a,F3,第三节 扩展的实体联系模型扩展的实体联系模型就是实体联系模型的扩充,即在实体联系模型的基础上,增加了一些新概念,如子类、超类、演绎、归纳、范畴、层性层次等。下面分小节讨论这些概念。一.子类、超类、演绎和归纳二.演绎和归

15、纳的性质三.范畴、EER图,一.子类、超类、演绎和归纳 把实体型R的实体按需要划分为几个子集合R1,、R2、.,这个过程称为演绎。R称为(演绎)超类,各Ri都是实体型,称为(演绎)子类。子类除继承超类的所有属性之外,还附加用于区别其它子类的特殊属性。不要求超类成员必须属于某个子类。一个实体型可按不同需要进行多种不同的演绎,即不同的分类。归纳是演绎的逆过程。把多个实体型Ri的共同属性抽取出来,形成一个实体型,这就是(归纳)超类。演绎和归纳都是联系型。分别称为演绎联系型和归纳联系型.,教师,文科教师,理科教师,外语教师,d,运输工具,火车,飞机,汽车,d,演绎,归纳,例由教师实体型按专业 演绎出三

16、个子类,例由三个实体型归纳 出超类运输工具,超类,子类,超类,子类,双线表示超类实体必属于某子类,单线表示超类实体 不必属于某子类,F31,二.演绎和归纳的性质1 两种定义演绎的方法:1)由属性谓词定义的演绎 2)用户定义的演绎 2.演绎和归纳的约束条件 1)重迭性约束 2)完全性约束3.多层演绎与共享子类,F32,1 两种定义演绎的方法:1)由属性谓词定义的演绎 这类演绎方法通过超类属性上的某一个谓词来说明每个 实体所属的子类。例如在超类教师设置属性所属学科,即可把教师分为文、理、外三个种类。2)用户定义的演绎 即上述方法之外的演绎。超类实体所属的子类由用户逐个说明。,F32a,重迭性约束,

17、完全性约束,全域约束:规定超类实体必属某子类。例如归纳超类运输工具必属于火车、飞机或汽车。部分约束:规定超类实体不必属于某子类。例如某教师都不属于文科、理科、外语科。,正交约束:规定子类交集为空。例如火车、飞机和汽车三个子类是互相独立的。相交演绎:规定子类可以相交。例如某课程既是一系课程又是二系课程。,例子,2.演绎和归纳的约束条件,F32b,教师,文科教师,理科教师,外语教师,d,运输工具,火车,飞机,汽车,d,超类,子类,超类,子类,双线表示全域约束:超类每个实体必属于某子类,单线表示部分约束:超类实体不必属于某子类,正交约束,子类不相交,一系课程,二系课程,o,课程,超类,子类,一系课程

18、,二系课程,o,课程,超类,子类,相交约束,允许子类相交,全校只有两个系,除两个系外,还有别的系,F32b例,允许有教师不属于文理外三科,运输工具仅火车飞机和汽车,演绎归纳约束条件的例子,完全 性,重迭性,实体型博士导师具有多个超类称为共享子类,F32c,教师,教授,讲师,助教,文科教授,理科教授,外语教授,博士导师,d,d,其他,其他,其他,d,d,d,3.多层演绎和共享子类 对子类进行演绎即可产生演绎层次结构。例如,实体型教师可以划分为子类教授、讲师和助教。子类教授可以进一步分为 文科教授、理科教授和外语教授三个子类。在多层演绎中子类继承所有前辈超类属性。若实体型是多个超类的子类,则称为共

19、享子类。,教师,工人,干部,住户,u,F33,三 范畴若超类/子类联系具有多个超类,则其子类称为范畴,它是多个超类实体型的并集的子类。范畴的每个实体仅继承包含该实体的超类实体型的属性。例如,三个不同实体型教师、工人和干部,在住房分配数据库中需要建立包含这三类住户的类,这就是范畴住户。,四.EER图EER图是ER图的扩张。EER图是在ER图的基础上,增加了表示EER模型新概念的图形。,第四节 概念设计的方法与策略概念数据库设计的基本步骤是:确定实体型及其属性和键;确定实体型之间的联系和约束;用演绎或归纳确定实体型之间的超子联系及其约束;确定范畴联系及其约束;形成EER图。一 概念设计方法1 集中

20、式:先由设计者合并需求报告各项需求,然后设计概念模式。由于在概念设计前用人工方法处理各需求间的差异矛盾,故难度大.2 视图综合式:为需求报告的每个应用设计概念模式,即视图,然后合并。用户或应用程序员按自己需求设计局部概念模式,视图合成有设计方法学和辅助工具的帮助。,F41,概念设计的策略多数策略遵循逐步求精的原则,从一个满足部分需求的模式开始,逐步加以改善,最后形成满足所有需求的概念模式。1 自顶向下的策略;从抽象结构模式出发,逐步求精具体化,最终得到概念数据库模式。例如通过演绎把高级的实体型分解为几个低级实体型。2 自底向上的策略:从基础概念结构模式出发,逐步组合结构,最终得到概念数据库模式

21、。例如,对属性集合先说明,再分组,形成实体型和联系型。由子类归纳出超类就是一种自底向上的策略。3 混合策略:首先把总体需求分解为几个需求子集合;然后对每个需求子集合用自底向上的策略建立局部模式;最后把各局部模式综合为概念模式。,F42,例,F42例,自顶向下策略实例:一个实体型分为两个实体型和一个联系型,课程名,学时数,课程号,教师名,教学计划,课程名,学时数,课程号,教师名,课程,教师,讲授,教师,学生,教师,学生,任教,班任,自下向上策略实例:在两个实体型之间增加两个 联系型,第五节 视图综合设计方法第一步,设计局部概念模式;第二步,综合局部概念模式为总体概念模式一 局部概念模式设计 这项

22、工作既可由用户独立完成,也可由数据库设计者协助完成。设计任务是:1.要确定局部实体型及其键和属性,确定属性是单值属性还是多值属性、是否复合属性和导出属性;2.确定局部实体型之间的联系型及其结构约束,这种联系型必须准确描述局部应用领域各对象之间的关系,同时满足局部应用的各种要求;3.用演绎和归纳过程确定:局部实体之间的超子联系、共享子类和范畴,确定联系型的完全性约束和重叠性约束;4.给出局部EER图,F51,二.全局概念模式合成把各个局部模式合并成完整概念模式的四个步骤:1.识别局部概念模式间的冲突 命名冲突:异名同义和同名异义;结构冲突:相同概念在不同的局部有不同的概念模式;值域冲突:同一属性

23、在不同局部模式中具有不同的值域;约束冲突:相同概念在不同局部模式中定义了不同的约束。2.修改局部模式 通过修改,解决上述冲突。将各个视图集成为全局模式,最重要的不是合并,而是消除冲突使模式能为全体用户所理解。3.合并局部模式,使每个概念仅出现一次。建立视图映射。4.优化全局模式,深入分析第三步,取消重复,减少复杂性。给出EER图。主要的模式合成方法有四种:(1)二元阶梯合成等法(2)N元合成法(3)平衡二元合成法(4)混合合成法,F52,第六节 事务的设计在概念数据库设计阶段,事务设计的目的是保证 所设计的数据库包含各种事务所需要的信息;事务设计的任务是定义事务的功能,包括在概念级说明事务的输入信息和输出信息。这工作独立于DBMS.事务可分为三类:1.数据查询;2.数据更新;3.混合型,兼有上述两种功能。,F6,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号