您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第6章实体联系模型.
1数据库原理宋安平上海大学计算机学院Apsong@shu.edu.cn第7周GGG2第6章实体联系模型ER模型的基本元素属性的分类联系的设计ER模型的扩充ER模型的实例3数据模型是数据库系统的核心和基础。但现实世界总是先抽象成信息世界,然后才能转化为数据世界。信息世界是对现实世界的抽象。因此,信息世界不可能等价于现实世界。信息世界中的数据模型又称为概念模型。作为从现实世界到其他数据模型转换的中间模型,概念模型不考虑数据的操作,而只是用比较有效、自然的方式描述现实世界的数据及其联系。在设计概念模型时,最著名、最实用的是P.P.S.Chen于1976年提出的“实体―联系模型”(Entity―RelationshipApproach,简称E―R模型)。2019/12/184第一节ER模型的基本元素实体联系属性5一、实体实体是客观存在、可以相互区分的事物。实体集是具有相同类型及相同性质(属性)的实体集合。6二、联系联系集是指同类联系的集合。在E―R模型中,用矩形框表示实体集,矩形框中写上实体名,用椭圆表示属性,椭圆中标上属性名,实体的主码用下划线表示。7三、属性事物是有特性的。反映在实体上,就是实体的属性。一个实体具有有限个属性,也可以说是这些属性的总和组成了这个实体。例如实体集职工可用E―R模型表示,如图6―1所示。8图6―1职工的E―R模型表示性别年龄姓名职称职工号职工9第二节属性的分类基本属性和复合属性单值属性和多值属性导出属性空值10一、基本属性和复合属性基本属性:不可再分割的属性。例如:性别、年龄等。复合属性:可再分解为其他属性的属性。例如:邮政编码等。11二、单值属性和多值属性单值属性:同一实体的属性只能取一个值。例如:年龄等。多值属性:同一实体的属性可能取多个值。例如:一个人的学位等。零件编码零件零件名供应商规格进货价格销售价格12三、导出属性导出属性:通过具有相互依赖的属性推导而产生的属性。例如,人的出生年份可以从年龄推导出来。13四、空值当实体在某个属性上没有值时应使用空值(Null)。例如:刚入学的研究生没有导师姓名等。14第三节联系的设计联系的元数联系的连通词联系的基数15一、联系的元数一个联系涉及到的实体集的个数,称为联系的元数或度数。实体间的联系有三种:同一实体集中各实体之间的联系(一元联系)。图6―4两个实体集中各实体之间的联系(两元联系)。图6―2三个实体集中各实体之间的联系(三元联系)。图6―316职工参加项目mn图6―2二元联系学校有正校长11班级组成学生1N17演员签约电影m1制片公司n图6―3三元联系收银员商品顾客销售数量NPM18职工领导n1图6―4一元联系运动员名次11零件组成MN数量19二、联系的连通词联系涉及到的实体集之间实体对应的方式,称为联系的连通词。实体间连通词有三种情况:图6―5一对一(1:1)一对多(1:N)多对多(M:N)20实体型A联系名实体型B11AB实体型A联系名实体型B1n实体型A联系名实体型Bmn(a)(b)(c)ABAB图6―5(a)一对一联系;(b)一对多联系;(c)多对多联系21三、联系的基数有两个实体集E1和E2,E1中每个实体与E2中有联系实体数目的最小值Max和最大值Min,称为E1的基数,用(Min,Max)表示。22联系的基数:有两个实体集E1和E2,E1中的每个实体与E2中有联系实体数目的最小值Min和最大值Max,称为E1的基数,用(Min,Max)表示。例:规定每个学生每个学期至少选修1门课程,最多选修6门课程;每门课程最多90个学生,可以没人选。每位教师最多教授3门课也可不上课;每门课程必须有一位老师上。学生选课课程M(1,6)(0,90)N教师讲授课程N1(0,3)1(0,3)(1,1)N23第四节ER模型的扩充依赖联系和弱实体子类和超类24一、依赖联系和弱实体一个实体的存在必须以另外实体的存在为前提。例如:职工和家属。一个实体对于另一些实体具有很强的依赖联系,而且该实体主键的部分或全部从其父实体中获得,称该实体为弱实体。顾客地址通讯职工社会关系存在11NN25二、子类和超类当较低层上的实体类型表达了与之联系的较高层上的实体类型的特殊情况时,就称较高层上的实体类型为超类型,较低层上的实体类型为子类型。性质:子类实体继承超类实体的所有属性。继承性是通过子类和超类相同的实体标识符实现。26例:学校人事系统中实体之间的联系可用下图表示人员教师学生本科生研究生27第五节ER模型的实例28一、E―R模型实例例1企业职工管理中,需要涉及的功能有:①人事处对职工的档案和部门进行管理,包括职工基本情况,部门的基本情况以及各种职称、职务的管理;②财务处管理职工的工资情况;③科研处管理项目、职工参加项目的情况。29职称职务任职职工性别年龄工资职工号分工部门部门号名称电话负责人任职日期代号名称津贴面积姓名nm1n图6―6人事管理局部E―R模型30姓名性别年龄职工号工资工资号基本工资保险实发工资补贴职工拥有11图6―7工资管理局部E―R模型31职工性别年龄职务职工号参加项目项目号名称起始鉴定日期起始日期姓名nm图6―8项目管理局部E―R模型32拥有工资补贴基本工资保险实发工资职工性别年龄职工号分工部门部门号名称电话负责人任职任职日期代号名称津贴面积参加项目项目号名称起始鉴定日期起始日期姓名工资号职称职务m1nn1mn1图6―9合并后的全局初步E―R模型33二、E―R模型向关系模型的转化(1)将每一个实体集转换为一个关系模式,实体集的属性转换成关系的属性,实体集的码即对应关系的码。本例中将生成如下三个关系模式:职工(职工号,姓名,性别,年龄,工资)部门(部门号,名称,电话,负责人)职称职务(代号,名称,津贴,住房面积)34二、E―R模型向关系模型的转化(2)将每个联系集转换成关系模式。对于给定的联系R,由它所转换的关系具有以下属性:①联系R单独的属性都转换为该关系的属性;②联系R涉及到的每个实体集的码属性(集)转换为该关系的属性。转换后关系的码有以下几种情况:若联系R为1∶1联系,则每个相关实体的码均可作为关系的候选码;若联系R为1∶n联系,则关系1中的码作为n端实体的外码;若联系R为m∶n联系,则关系的码为相关实体码的组合。35二、E―R模型向关系模型的转化根据此规则,由联系转换来的关系模式为:分工(职工号,部门号)任职(职工号,代号,任职日期)(3)根据具体情况,把具有相同码的多个关系模式合并成一个关系模式。具有相同码的不同关系模式,从本质上描述的是同一实体集,因此可以合并。合并后的关系包括两关系的所有属性,这样可以节省存储空间。如本例中的职工关系和分工关系,可以合并为下面同一个关系模式:职工(职工号,姓名,性别,年龄,工资,部门号)36例2某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目。下图为该锦标赛各代表团、运动员、比赛项目、比赛情况的一个ER图,试设计该数据库的关系模式集。M运动员项目参赛代表团组成国家名运动员号年龄姓名性别团长项目号比赛时间项目名比赛场地成绩1NM37例3某公司人事管理系统的数据库包括部门、岗位、职工、技能和工资等方面的数据。现假定:一个部门设立若干岗位,一个岗位只属于一个部门;一个职工只在一个岗位上任职,一个岗位只聘任一个职工;一个职工可以参加多门技能的考核,不同职工可以参加同一技能的考核;职工包括工号、姓名、性别、出生年月和文化程度等属性;每个职工有简历,包括起迄时间、从事工作和证明人;每个职工有一份工资,工资由基本工资、级别工资、工龄工资、养老金、失业保险金、公积金和纳税组成。1.按题意并补充适当的属性,设计出ER图。2.将此ER图转换成关系模型,并注明关系模式的主键和外键。3.用SQL创建其中一个关系模式,并向其中插入一个元组。38例4今要建立一个数据库,其中包括系的系号、系名、地点和电话,教师的职工号、姓名、性别和职称,班的班号、专业、班主任和班长,社团的名称、成立年份、地点和理事长,学生的学号、姓名、性别和出生日期,学生家庭成员的姓名、称呼、职业和电话,等等。并有如下限制:每个系有若干班级和若干教师,每个班级有若干学生;一个班级只能属于一个系,一个教师只能属于一个系,一个学生只能属于一个班级;系号、职工号、班号、学号和社团名称具有唯一性;同系的学生住在同一宿舍区;班主任由教师担任,班长和理事长由学生担任;一个学生可以参加多个社团;要求在数据库中保存学生参加社团的日期、各社团的历任理事长。(1)建立适当的ER模型,(2)转换成关系模型,(3)用SQL2的DDL创建其中的2个关系模式,要求包含主键和外键的说明39精读:教材P.126137习题:P.1386.26.46.6精读和习题要求
本文标题:第6章实体联系模型.
链接地址:https://www.777doc.com/doc-2111068 .html