《第六章概念数据库设计优秀课件.ppt》由会员分享,可在线阅读,更多相关《第六章概念数据库设计优秀课件.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章概念数据库设计第1页,本讲稿共28页 第一节 概述概念数据库设计的两个任务及其目标:1.事务设计:根据需求分析阶段提出的数据库操作任务,作出数据库事务的高级说明,其目标是:在概念级定义事务的功能,说明事务的输入输出 信息和基本功能,支持各种事务的运行。2.模式设计:根据需求分析阶段识别的数据项和预测改变,使用 高级数据模型,建立概念数据库模式,其目标是:(1)准确描述信息模式,支持用户应用;(2)易理解,易转换为逻辑数据库模式。概念数据库模式独立于DBMS,不能直接用于数据库实现。这种做法的好处是:1.不受特定DBMS局限,彻底地理解和描述应用领域,有利于开发人员正确地和全面地理解应用领
2、域。2.不受逻辑设计、物理设计改变,甚至DBMS改变的影响。3.由于使用图形描述方式直观易懂,故有利于开发者和用户的交流。实体联系模型(ER)或其加强模型(EER)是广泛使用的高级数据模型.F1第2页,本讲稿共28页 第二节 实体联系模型实体联系模型(简称ER模型)产生于1976年。这个模型使用实体、联系和属性三个基本概念直接描述现实世界。实体联系图是表示ER模型的图形工具,简称ER图。它是概念数据库设计的重要工具。一.实体和属性二.实体型、键属性和属性的值域三.数据库实例四.实体间的联系五.弱实体六.实体联系图F2第3页,本讲稿共28页 一.实体和属性实体是客观世界中各种事物的抽象,如教师、
3、学生、课程等。属性是实体的一组特征,如教师实体的属性是姓名,证号,课程等。属性可按结构性质分类为:简单属性:不可分割的简单数据项,如姓名、性别和学号等。复合属性:由若干个简单属性按层次结构组成,例如,地址(省,市,区,街,号)属性可按赋值唯一性分类为:单值属性:一个实体的单值属性仅取一值,如编号,有效期等;多值属性:一个实体的多值属性可取多值,如学历(年份,学位)导出属性:这是一种特殊属性,其值可由其它某些属性的值导出。例如:年龄可由出生日期和现在日期导出,销售额可由销售价和销售量计算得出。F21姓名 证号宿舍任课教师栋号房号学历复合属性多值属性一个实体例子第4页,本讲稿共28页 二.实体型、
4、键属性和属性的值域实体型是具相同属性集的实体的集合,由名字和一组属性来定义。实体型的定义称为实体模式,它描述了一组实体的公共结构。实体型表示的实体集合中任何一个实体 称为该实体型的实例。ER模型中的实体型用某个属性子集(称为键)区别实体,如果键包含的属性只有一个,则称之为简单键,否则称之为复合键。键是实体型的一个重要完整性约束,规定了不同实体有不同的键。简单属性的取值范围叫做值域,例如年龄的值域可取为1.150.F22第5页,本讲稿共28页数据库实例(大学数据库)的五个实体型编号 名称 属性集合1 系 系名,编号,地点,主任2 教研室 名称,编号,电话,所属系3 教师 姓名,性别,编号,所属系
5、,课程,地址,4 学生 姓名,性别,编号,所属系,年级5 课程 名称,编号,时数,所属系多值属性复合属性下划线表示键 三.数据库实例该实例称为大学数据库,本页介绍组成它的五个实体型。有几点说明:1.大学由多个系组成,每个系有系 名、编号和主任,有多个地点。系名和编号都是唯一的。2.系有多个教研室,每个教研室有 名称、编号、所属系和地点。编号是唯一的。F233.每个教师有姓名、性别、编 号、地址、课程、所属系。编号是唯一的。4.每个学生有姓名、性别、编 号、所属系和年级。编号是 唯一的。5.每门课程有名称、编号、所 属系、学时数。编号唯一。第6页,本讲稿共28页 四.实体间的联系 在一个数据库中
6、,不同实体型的实体之间可能存在着联系。例如,大学数据库中教研室实体型的每个实体,即每个教研室,必和系实体型的某个实体,即系,存在某教研室属于某系的联系。又如,学生实体型的实体(即学生)、教师实体型的实体(即教师)以及课程实体型的实体(课程)存在着某学生选修某教师讲授的某课程的联系。实体间的联系是根据需求分析的结果决定的。1.联系型和联系实例 2.联系型的结构约束 3.联系型的属性 F24第7页,本讲稿共28页 1.联系型和联系实例定义实体型A和实体型B之间的联系型R定义为RAB,称A、B为联系型R所关联的实体型。联系型R的元素(a,b)称为联系型R的实例,它取自AB集合,即aA,bB,选取方法
7、由应用领域决定,a、b称为联系实例(a,b)所关联的实体。例如:教研室和系之间的联系型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联系型所关联的实体型数目称为阶。实体之间的联系既可以如上例那样使用联系型定义,也可以通过实体属性的取值来表示,例如,在教研室的属性所属系取值即可实现教研室和系的联系。类似地可把上述定义推广为多个实体型之间
8、的联系型。F24a第8页,本讲稿共28页 2.联系型的结构约束(实体对应约束和实体关联约束)实体对应约束:这是联系型所关联的各实体型之间的约束,有三种 实体对应约束即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联系。例如,若假定大学数据库还有主任实体型,规定一个系只有一个主任,一个主任只负责一个系工作
9、。于是系实体型和主任实体型存在1:1联系;由于一个系有多个教研室,而一个教研室只属于一个系,故教研室实体型和系实体型之间的联系型B_T是1:n联系;若规定一门课由多个教师讲授,而一个教师可讲授多门课,则课程实体型和教师实体型之间存在一个m:n联系。F24b接下页第9页,本讲稿共28页实体关联约束:这是联系型和它所关联的实体型之间的约束,有两 种实体关联约束,即全域关联约束和部分关联约束。定义设A是联系型R所关联的一个实体型,若规定A的各实体必须出现在R的某个联系实例中,则称这种规定为实体型A关于联系型R的全域约束。若规定A的实体可以不出现在任何联系实例中,则称这种规定为实体型A关于联系型R的部
10、分约束。例如,在大学数据库中,若规定每位教师必属于某个系,则这种规定就是 教师实体型关于联系型(T_D1)的全域关联约束。由于并非所有教师都是主任,故这情况就是 教师实体型关于联系型(T_D2)的部分关联约束。F24b1联系型的结构约束实体关联约束实体对应约束1:1约束1:n约束m:n约束全域关联约束部分关联约束第10页,本讲稿共28页 3.联系型的属性联系型可以具有属性,例如,为了表示教师讲授课程的周学时数,在教师实体型和课程实体型之间的联系型T_C=(t,c)|教师t讲授课程c中设置一个属性周学时。联系型的属性怎样设置呢?若联系型是1:n类型,则可以把该属性设置在所关联的n方实体型中。若联
11、系型是1:1类型,则设置在两个实体型当中任一个均可以。例如,联系型S_D=(s,d)|学生s属于系d属于n:1类型,因系向学生提供宿舍,故宿舍房号是联系型的属性,可将此属性设置在n方实体型即学生实体型内。注意,若把联系型属性设置在1方实体型内,则会成为多值属性,给以后的许多处理带来麻烦。F24c第11页,本讲稿共28页识别实体型B弱实体型A 五.弱实体应用领域中有些实体型没有普通意义的键,我们称之为弱实体型,它的实体称为弱实体。不同的弱实体可以有完全相同的属性值。识别弱实体的方法是关联另一个普通的实体型(称为识别实体型)。在弱实体型中挑选这样的属性子集,使得可以和识别实体型的键结合成弱实体型的
12、键,弱实体型的这个属性子集称为部分键。设联系型R关联弱实体型A和对应的识别实体型,则称R为A的识别联系型。为了能识别每个弱实体,识别联系型R对于弱实体型A必须具有全域关联约束。一个弱实体型可以具有多个识别实体型和识别联系型,这意味着弱实体可以有多种识别方法。父亲孩子(身份证号,姓名)(父身份证号,姓名,性别,生日)部分键标识孩子的一个方法:孩子姓名-父亲身份证号F25识别联系型全域关联约束第12页,本讲稿共28页 六.实体联系图 实体联系图是表示ER模型的图形工具,简称ER图。ER图用来表示实体型和联系型。下边列出表示实体联系模型各种成分的ER图素。实体型属性联系型F26弱实体型识别联系型键属
13、性多值属性导出属性复合属性BAR联系型R对于实体型B具有全域关联约束BAR11BAR1nBARmn1:1联系型1:n联系型m:n联系型大学数据库的ER图接下页第13页,本讲稿共28页课程学生教师系教研室名称学时数编号所属系姓名编号所属系年级系名编号地点系主任姓名编号性别地址课程所属系名称编号电话所属系T_S_CT_DS_DBD市 区邮政单位学校信箱大学数据库的ER图F26a第14页,本讲稿共28页F3 第三节 扩展的实体联系模型扩展的实体联系模型就是实体联系模型的扩充,即在实体联系模型的基础上,增加了一些新概念,如子类、超类、演绎、归纳、范畴、层性层次等。下面分小节讨论这些概念。一.子类、超类
14、、演绎和归纳二.演绎和归纳的性质三.范畴、EER图第15页,本讲稿共28页 一.子类、超类、演绎和归纳 把实体型R的实体按需要划分为几个子集合R1,、R2、.,这个过程称为演绎。R称为(演绎)超类,各Ri都是实体型,称为(演绎)子类。子类除继承超类的所有属性之外,还附加用于区别其它子类的特殊属性。不要求超类成员必须属于某个子类。一个实体型可按不同需要进行多种不同的演绎,即不同的分类。归纳是演绎的逆过程。把多个实体型Ri的共同属性抽取出来,形成一个实体型,这就是(归纳)超类。演绎和归纳都是联系型。分别称为演绎联系型和归纳联系型.教师文科教师理科教师外语教师d运输工具火车飞机汽车d演绎归纳例由教师
15、实体型按专业 演绎出三个子类例由三个实体型归纳 出超类运输工具超类子类超类子类双线表示超类实体必属于某子类单线表示超类实体 不必属于某子类F31第16页,本讲稿共28页 二.演绎和归纳的性质1 两种定义演绎的方法:1)由属性谓词定义的演绎 2)用户定义的演绎 2.演绎和归纳的约束条件 1)重迭性约束 2)完全性约束3.多层演绎与共享子类F32第17页,本讲稿共28页1 两种定义演绎的方法:1)由属性谓词定义的演绎 这类演绎方法通过超类属性上的某一个谓词来说明每个 实体所属的子类。例如在超类教师设置属性所属学科,即可把教师分为文、理、外三个种类。2)用户定义的演绎 即上述方法之外的演绎。超类实体
16、所属的子类由用户逐个说明。F32a第18页,本讲稿共28页重迭性约束完全性约束全域约束:规定超类实体必属某子类。例如归纳超类运输工具必属于火车、飞机或汽车。部分约束:规定超类实体不必属于某子类。例如某教师都不属于文科、理科、外语科。正交约束:规定子类交集为空。例如火车、飞机和汽车三个子类是互相独立的。相交演绎:规定子类可以相交。例如某课程既是一系课程又是二系课程。例子2.演绎和归纳的约束条件F32b第19页,本讲稿共28页教师文科教师理科教师外语教师d运输工具火车飞机汽车d超类子类超类子类双线表示全域约束:超类每个实体必属于某子类单线表示部分约束:超类实体不必属于某子类正交约束,子类不相交一系
17、课程二系课程o课程超类子类一系课程二系课程o课程超类子类相交约束,允许子类相交全校只有两个系除两个系外,还有别的系F32b例允许有教师不属于文理外三科 运输工具仅火车飞机和汽车演绎归纳约束条件的例子完全 性重迭性第20页,本讲稿共28页实体型博士导师具有多个超类称为共享子类F32c教师教授讲师助教文科教授理科教授外语教授 博士导师 dd其他其他其他ddd 3.多层演绎和共享子类 对子类进行演绎即可产生演绎层次结构。例如,实体型教师可以划分为子类教授、讲师和助教。子类教授可以进一步分为 文科教授、理科教授和外语教授三个子类。在多层演绎中子类继承所有前辈超类属性。若实体型是多个超类的子类,则称为共
18、享子类。第21页,本讲稿共28页教师 工人干部住户uF33 三 范畴若超类/子类联系具有多个超类,则其子类称为范畴,它是多个超类实体型的并集的子类。范畴的每个实体仅继承包含该实体的超类实体型的属性。例如,三个不同实体型教师、工人和干部,在住房分配数据库中需要建立包含这三类住户的类,这就是范畴住户。四.EER图EER图是ER图的扩张。EER图是在ER图的基础上,增加了表示EER模型新概念的图形。第22页,本讲稿共28页 第四节 概念设计的方法与策略概念数据库设计的基本步骤是:确定实体型及其属性和键;确定实体型之间的联系和约束;用演绎或归纳确定实体型之间的超子联系及其约束;确定范畴联系及其约束;形
19、成EER图。一 概念设计方法1 集中式:先由设计者合并需求报告各项需求,然后设计概念模式。由于在概念设计前用人工方法处理各需求间的差异矛盾,故难度大.2 视图综合式:为需求报告的每个应用设计概念模式,即视图,然后合并。用户或应用程序员按自己需求设计局部概念模式,视图合成有设计方法学和辅助工具的帮助。F41第23页,本讲稿共28页二概念设计的策略多数策略遵循逐步求精的原则,从一个满足部分需求的模式开始,逐步加以改善,最后形成满足所有需求的概念模式。1 自顶向下的策略;从抽象结构模式出发,逐步求精具体化,最终得到概念数据库模式。例如通过演绎把高级的实体型分解为几个低级实体型。2 自底向上的策略:从
20、基础概念结构模式出发,逐步组合结构,最终得到概念数据库模式。例如,对属性集合先说明,再分组,形成实体型和联系型。由子类归纳出超类就是一种自底向上的策略。3 混合策略:首先把总体需求分解为几个需求子集合;然后对每个需求子集合用自底向上的策略建立局部模式;最后把各局部模式综合为概念模式。F42例第24页,本讲稿共28页F42例自顶向下策略实例:一个实体型分为两个实体型和一个联系型课程名 学时数课程号教师名教学计划课程名 学时数课程号教师名课程教师讲授 教师学生教师学生任教班任 自下向上策略实例:在两个实体型之间增加两个 联系型第25页,本讲稿共28页 第五节 视图综合设计方法第一步,设计局部概念模
21、式;第二步,综合局部概念模式为总体概念模式一 局部概念模式设计 这项工作既可由用户独立完成,也可由数据库设计者协助完成。设计任务是:1.要确定局部实体型及其键和属性,确定属性是单值属性还是多值属性、是否复合属性和导出属性;2.确定局部实体型之间的联系型及其结构约束,这种联系型必须准确描述局部应用领域各对象之间的关系,同时满足局部应用的各种要求;3.用演绎和归纳过程确定:局部实体之间的超子联系、共享子类和范畴,确定联系型的完全性约束和重叠性约束;4.给出局部EER图F51第26页,本讲稿共28页 二.全局概念模式合成把各个局部模式合并成完整概念模式的四个步骤:1.识别局部概念模式间的冲突 命名冲
22、突:异名同义和同名异义;结构冲突:相同概念在不同的局部有不同的概念模式;值域冲突:同一属性在不同局部模式中具有不同的值域;约束冲突:相同概念在不同局部模式中定义了不同的约束。2.修改局部模式 通过修改,解决上述冲突。将各个视图集成为全局模式,最重要的不是合并,而是消除冲突使模式能为全体用户所理解。3.合并局部模式,使每个概念仅出现一次。建立视图映射。4.优化全局模式,深入分析第三步,取消重复,减少复杂性。给出EER图。主要的模式合成方法有四种:(1)二元阶梯合成等法 (2)N元合成法 (3)平衡二元合成法 (4)混合合成法F52第27页,本讲稿共28页 第六节 事务的设计在概念数据库设计阶段,事务设计的目的是保证 所设计的数据库包含各种事务所需要的信息;事务设计的任务是定义事务的功能,包括在概念级说明事务的输入信息和输出信息。这工作独立于DBMS.事务可分为三类:1.数据查询;2.数据更新;3.混合型,兼有上述两种功能。F6第28页,本讲稿共28页