数据库 第二章 实体-联系模型

上传人:ldj****22 文档编号:48603513 上传时间:2018-07-18 格式:PPT 页数:58 大小:368KB
返回 下载 相关 举报
数据库 第二章 实体-联系模型_第1页
第1页 / 共58页
数据库 第二章 实体-联系模型_第2页
第2页 / 共58页
数据库 第二章 实体-联系模型_第3页
第3页 / 共58页
数据库 第二章 实体-联系模型_第4页
第4页 / 共58页
数据库 第二章 实体-联系模型_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《数据库 第二章 实体-联系模型》由会员分享,可在线阅读,更多相关《数据库 第二章 实体-联系模型(58页珍藏版)》请在金锄头文库上搜索。

1、第二章 实体-联系模型 数据库设计过程 基本概念 映射约束 弱实体集 扩展ER特性 ER模型设计要点 概念数据库设计实例1数据库设计过程需求分析概念数据库设计逻辑数据库设计确定存储哪些数 据,建立哪些应 用,常用的操作 及对象有哪些等 。 对需求分析所得 到数据的更高层 的抽象描述。将概念模型所描述 的数据映射为某个 特定的DBMS模式 数据。ER模型 ODL2基本概念() 1976年,P.P.S.Chen提出-模型(Entity- Relationship Model),用-图来描述概念模 型。 观点:世界是由一组称作实体实体的基本对象和这 些对象之间的联系联系构成的。3基本概念() 实体(

2、Entity):l客观存在并可相互区分的事物叫实体。l如学生张三、工人李四、计算机系、数据库概论。 属性(Attribute):l实体所具有的某一特性。一个实体可以由若干个属性 来刻画。l例如,学生可由学号、姓名、年龄、系、年级等组成 。 域(Domain):l属性的取值范围。l例如,性别的域为(男、女),月份的域为到 的整数。4基本概念() 实体型(Entity Type):l实体名与其属性名集合共同构成实体型。l例,学生(学号、姓名、年龄、性别、系、年级) 。l注意实体型与实体(值)之间的区别,后者是前者 的一个特例。l如(9808100,王平,21,男,计算机系,2)是一个 实体。 实体

3、集(Entity Set):l同型实体的集合称为实体集。l如全体学生。5基本概念( ) 联系(Relationship):l实体之间的相互关联。l如学生与老师间的授课关系,学生与学生间有班长 关系。l联系也可以有属性,如学生与课程之间有选课联系 ,每个选课联系都有一个成绩作为其属性。l同类联系的集合称为联系集。 元或度(Degree):l参与联系的实体集的个数称为联系的元。l如学生选修课程是二元联系,供应商向工程供应零 件则是三元联系。6基本-图要点学生课程选修学号姓名系别课程名先修课主讲老师成绩用矩形表示实体集 ,在框内写上实体 名用椭圆表示 实体的属性用无向边 把实体与 其属性连 接起来用

4、菱形表示实 体间的联系将参与联系的实 体用线段连接例:学生选修课程7基本概念( ) 码(Key):l能唯一标识实体的属性或属性组称作超码超码。l超码的任意超集也是超码。l其任意真子集都不能成为超码的最小超码称为候候 选码选码。l从所有候选码中选定一个用来区别同一实体集中 的不同实体,称作主码主码。l一个实体集中任意两个实体在主码上的取值不能 相同。l如学号是学生实体的码。l通讯录(姓名,邮编,地址,电话,Email,BP )8码在E-R图中的表示 表示要点:l实体集属性中作为主码的一部分的属性用下划线来 标明。学生课程选修学号姓名系别课程名先修课 主讲老师9基本概念() 参与(Particip

5、ation):l实体集之间的关联称为参与,即实体参与联系。l如王军选修“数据库基础”,表示实体“王军”与 “数 据库基础”参与了联系“选修”。l如果实体集E中的每个实体都参与到联系集R中的 至少一个联系,则称E全部参与R。l如果实体集E中只有部分实体参与到联系集R的联 系中,则称E部分参与R。l如“职工”与“部门”之间的“经理”联系,“职工”实体 集部分参与,而“部门”实体集完全参与。10基本概念() 角色(Role):l实体在联系中的作用称为实体的角色。l当同一个实体集不止一次参与一个联系集时,为区 别各实体的参与联系的方式,需要显式指明其角色 。l如学生与学生间的班长关系,职工与职工之间的

6、经 理关系,课程之间的先修关系。11角色在E-R图中的表示 表示要点:l当需要显式区分角色时,在连接菱形和矩形的线上 加上说明性标注以区别不同的角色。职员雇佣管理工作12属性的类型() 简单属性 :l不可再分的属性。l如学号、年龄、性别。 复合(Composite)属性:l可以划分为更小的属性。l可以把相关属性聚集起来,使模型更清晰。l如电话号码=区号+本地号码出生日=年+月+日 1NF Vs 嵌套关系13属性的类型() 单值属性:l每一个特定的实体在该属性上的取值唯一。l如学生的学号,年龄、性别、系别等。 多值属性:l某个特定的实体在该属性上的有多于一个的取值。l如学生(学号,所选课程,联系

7、电话)。14属性的类型() NULL属性:lnull表示“无意义”,当实体在某个属性上没有值 时设为null。如通讯录(姓名,email,电话,BP),若某人没 有email地址,则在email属性上取值为null。lnull表示“值未知”,即值存在,但目前没有获得 该信息。如职工(姓名,部门,工种,身份证),如果目 前不知道职工身份证号码,则设身份证值为null 。l实体完整性:作为主码的属性上取值不能为null 。15属性的类型() 派生(Derived)属性与基属性:l可以从其他相关的属性或实体派生出来的属性值。l如学生(学号,姓名,平均成绩),选课(学号, 课程号,成绩),则平均成绩可

8、由学生所选课程的 总成绩除以课程总数来得到。称平均成绩为派生属 性,而成绩为基属性,或存储属性。l数据库中,一般只存基属性值,而派生属性只存其 定义或依赖关系,用到时再从基属性中计算出来。l基本表 VS 视图16属性在E-R图中的表示 表示要点:l多值属性用双椭圆表示。l派生属性用虚椭圆表示。学生选修课程姓名学生平均成绩姓名系别17映射约束 映射的基数 存在依赖18映射的基数() 映射的基数(Mapping Cardinalities):l实体之间的联系的数量,即一个实体通过一个联系 集能与另一实体集相关联的实体的数目。l可以有一对一的(1:1),一对多的(1:m),多对 多的(m:n)几种情

9、况。l在E-R图中,用箭头或线段来表示联系的映射基数 。 ABR多方实体集单方实体集ABR联系R从A到B是一 对一或多对一的联系R从A到B是多 对多或一对多的19映射的基数() 二元联系集的映射基数 设有两个实体集E1, E2 ,l一对一:E1中的一个实体与E2中至多一个实体相联系,并且E2中的一个实体与E1中至多一个实体相联系。 如“职工”与“部门”之间的“管理”联系(假定每个部门只有一个经理, 一个职工不能兼任两个部门经理。 注:一对一不是一一对应。职工部门管理20映射的基数()l一对多:E1中的一个实体与E2中n(n0)个实体相联系,并且E2中的一个实体与E1中至多一个实体相联系。 如“

10、教师”和“学生”之间的“班主任”联系。教师学生班主任21映射的基数()l多对多:E1中的一个实体与E2中n(n0)个实体相联系,并且E2中的一个实体与E1中m(m0)一个实体相联系。 如“学生”和“课程”之间的“选修”联系。学生课程选修22映射的基数() 一个实体集内的二元联系l一对一:ei E,至多存在一个ej E,与之相 联系(ji)。 如“职工”之间的“配偶”联系。l一对多: 如“职工”内部的“领导”联系l多对多: 如“零件”之间的“构成”联系职工配偶职工领导零件构成领导属下丈夫妻子母零件子零件23映射的基数() 多个实体集间联系的情况l一对多: 设有n个实体集E1 , E2 , , E

11、n ,若对于 E1 , , Ei-1, Ei+1 , , En ,分别给定实体e1 , , ei-1 , ei+1 , , en 时,至多有一个实体ei Ei与之相联系,则称有一个从Ei 到E1 , , Ei-1 , Ei+1 , , En的一对多联系。 如“课程”,“教员”,“参考书”之间的“讲课”联系。教员参考书讲课课程24存在依赖() 存在依赖(Existence Dependency)l如果实体x的存在依赖于实体y的存在,则称x存在 依赖于y。ly称作支配实体,x称作从属实体。l如果y被删除,则x也要被删除。l考虑分期付款的例子,对每一个“贷款”实体,有若 干个“还款”实体与之关联,“

12、还款”实体存在依赖于 “贷款”实体。25存在依赖() 全部参与与存在依赖l设有A R B,若A存在依赖于B,则A全部参与联系 R。 参照完整性:l一个实体集的属性是另一实体集的主码属性,26弱实体集() 弱实体集(Weak Entity Set)l如果一个实体集的所有属性都不足以形成主码,则称这 样的实体集为弱实体集。l贷款(贷款号,金额),还款(还款号,还款日期,金 额),每个“贷款”的各个“还款”不同,但不同“贷款”之 间的“还款”却可能相同,因此“还款”是一个弱实体集。lEmail = 用户名 + 主机名,如Logins(passwd文件)实体集记录本机用户名及其口令, 用户名在不同主机

13、上可以相同。 Logins是一个弱实体集 。l产品(名称,价格),公司(名称,地址,联系电话) ,“产品”与“公司”之间有“制造”联系,“产品”是一个弱 实体集。27弱实体集()l弱实体集与其拥有者之间的联系称作标识性联系 (identifying relationship)。l弱实体集与强实体集之间是一对多的联系。 弱实体集与存在依赖l弱实体集必然存在依赖于强实体集(Strong Entity Set)。l存在依赖并不总会导致一个弱实体集,从属实体集可 以有自己的主码。l如实体集信用卡(信用卡号,客户帐号,金额),它 存在依赖于客户帐号实体集,但信用卡有自己的主码 信用卡号。28弱实体集()

14、 分辨符(Discriminator):l弱实体集中用于区别依赖于某个特定强实体集的属 性集合。也称作部分码(partial key)。l如“还款”中的还款号,Logins中的用户名。l弱实体集的主码由该弱实体集所存在依赖的强实体 集的主码和该弱实体集的分辨符组成。 如“还款”主码贷款号还款号 Logins主码 = 用户名(在所在主机上唯一)+ 主机IP地 址(在全球唯一)。 “产品”主码 = 产品名称 + 公司名称。29弱实体集() 为什么使用弱实体集?通过为弱实体集加上合适的属性,可转变为强实体 集,为什么还要使用弱实体集?l避免数据冗余(强实体集码重复),以及因此带来 的数据的不一致性。

15、l弱实体集反映了一个实体对其它实体依赖的逻辑结 构。l弱实体集可以随它们的强实体集的删除而自动删除 。l弱实体集可以物理地随它们的强实体集存储。30弱实体集() 弱实体集的引入l作为层次结构的一部分。l实体集的一些多值、复合属性可以抽取出来作为弱 实体集。l如果弱实体集不但参与和强实体集之间的标识性联 系,而且参与和其它实体集的联系,或者弱实体集 本身含有很多属性,则将其表述为弱实体集。l如果弱实体集只参与和强实体集之间的标识性联系 ,或者弱实体集本身属性不多,则将其表述为属性 。 31弱实体集() 弱实体集在-R图中的表示l弱实体集以双边框的矩形表示。l标识性联系以双边框的菱形表示。l从联系

16、集用双线(全部参与)连接弱实体集,用箭 头(一对多联系)指向强实体集。l弱实体集的分辨符用下划虚线标明。32弱实体集()LoginsHost用户名名称33弱实体集()还款贷款隶属还款号贷款号还款金额贷款金额34弱实体集()产品公司制造产品名地址价格公司名联系电话35扩展E-R特性 特殊化(Specialization) 概括(Generalization) 属性继承(Attribute Inheritance) 聚集(Aggregation)36扩展E-R特性特殊化( ) 特殊化:l实体集中某些子集具有区别于该实体集内其它实体 的特性,可以根据这些差异特性对实体集进行分组 ,这一分组的过程称作特殊化。l自顶向下、逐步求精。l父类子类。l子

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号