第二章实体联系模型课件

上传人:痛*** 文档编号:241692477 上传时间:2024-07-16 格式:PPT 页数:72 大小:760KB
返回 下载 相关 举报
第二章实体联系模型课件_第1页
第1页 / 共72页
第二章实体联系模型课件_第2页
第2页 / 共72页
第二章实体联系模型课件_第3页
第3页 / 共72页
点击查看更多>>
资源描述
概念模型概念模型第二章第二章l.课程安排课程安排qE-R模型基本概念模型基本概念q基本基本E-R模型模型q扩展的扩展的E-R模型模型qE-R模型设计技巧模型设计技巧-实体与属性实体与属性qE-R模型设计技巧模型设计技巧-实体与联系实体与联系l.E-R模型基本概念模型基本概念l模型:模型:是描述数据的概念集合。按应用的不同目的是描述数据的概念集合。按应用的不同目的分为两类:概念模型、数据模型。分为两类:概念模型、数据模型。l现实现实世界世界l信息信息世界世界l机器机器世界世界l图表、文图表、文件等文字形件等文字形式表示式表示l概念模型概念模型l数据模型数据模型l.E-R模型基本概念模型基本概念l概念模型:概念模型:也称也称信息模型信息模型,它按用户的观点对数据,它按用户的观点对数据和信息进行建模,用于信息世界,它强调语义表达和信息进行建模,用于信息世界,它强调语义表达能力,是现实世界到信息世界的第一次抽象,是用能力,是现实世界到信息世界的第一次抽象,是用户和数据库设计人员之间进行交流的语言。户和数据库设计人员之间进行交流的语言。l数据模型数据模型:用于机器世界,是按计算机系统的观点:用于机器世界,是按计算机系统的观点对数据建模,它需要有严格的形式化定义,且常常对数据建模,它需要有严格的形式化定义,且常常要加上一些限制和规定,以便机器实现要加上一些限制和规定,以便机器实现l.概念模型概念模型-ER模型模型l是现实世界到机器世界的一个中间层次,概念模型中是现实世界到机器世界的一个中间层次,概念模型中最常用的是最常用的是ER模型(实体联系)模型模型(实体联系)模型lER模型创始人模型创始人:Peter Chen(陳品山)1983至今任职于至今任职于LouisianaStateUniversity.Harvard大学博士,大学博士,曾在曾在MIT,UCLA,Harvard工作工作.Entity-Relationship(ER模型模型)是计算机软件领域是计算机软件领域引用率最高的论文之一。引用率最高的论文之一。根据对根据对1,000个计算机科学领域教授的调查,最初个计算机科学领域教授的调查,最初的的ER模型论文被选为计算机科学模型论文被选为计算机科学38篇最具影响力篇最具影响力的论文之一。的论文之一。l.E-R模型基本概念模型基本概念l概念模型是现实世界到机器世界的一个中间层次,概念模型中最常用的是E-R模型,介绍E-R(实体联系)模型中的主要概念。l实体实体(Entity):客观存在并可以相互区分的事物叫实体。(例如:一个个学生、一辆辆轿车)l属性(Attribute):实体一般具有若干特征,称之为实体的属性。例如:学生具有学号、姓名等属性属性l域(域(Domain):一个属性可能取值的范围称为这个属性的域。例如:性别的域值只能为“男”或“女”l.E-R模型基本概念模型基本概念l候选码:能够唯一标识实体的属性或最小属性组称为候选码,可能存在多个候选码,设计者必须指明一个候选码做主码(关键字)。l实体型(Entity type):具有相同属性的实体具有共同的特征和性质,用实体名及其属性集合来抽象、刻画同类实体,称为实体型。学生学号姓名性别专业l.E-R模型基本概念模型基本概念l实体集(Entity set):同型实体的集合l联系(Relationship):现实世界的事物之间是有联系的,这种联系在信息世界中反映为:实体型(集)之间的联系实体型(集)内部的联系l两个实体型之间的联系一对一联系(1:1)例如:部门、经理一对多联系(1:n)例如:部门、雇员多对多联系(m:n)例如:学生、课程l.E-R模型基本概念模型基本概念一对一一对一一对多一对多多对一多对一多对多多对多ABABABABl.E-R模型基本概念模型基本概念部门经理设有部门雇员拥有学生课程选修111nmnl.E-R模型基本概念模型基本概念l两个以上实体型之间的联系两个以上实体型之间的联系也存在一对一、一对多和多对多的联系一对多:若实体型E1,E2,En存在联系,对于实体型Ej(j=1,2,i-1,i+1,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,Ei-1,Ei+1,En之间的联系是一对多的。例子:三个实体型之间的联系课程教师讲授n参考书m一对多供应商项目供应mp零件n多对多1l.E-R模型基本概念模型基本概念l单个实体型内的联系单个实体型内的联系例如:高数、离散数学是数据结构的先导课,数据结构是操作系统、数据库原理的先导课。又如:职工实体集内的实体有领导和被领导的关系,经理也是职工,经理要领导多个职工,而一个职工仅被一个经理领导。职工领导1n课程先导课mnl.基本基本E-R模型模型l实体-联系模型(简称E-R模型)是由P.P.Chen 于1976年首先提出的。lE-R模型通过E-R图表示实体集及实体集之间的联系,用于实现数据的第一次抽象,即把现实世界转换为信息世界。lE-R模型是按用户的观点对数据和信息进行建模,是用户和数据库设计人员之间进行交流的语言。l具有较强的语义表达能力,简单、清晰、易于用户理解。l.基本基本E-R模型模型l实体型:用矩形表示,矩形框内写明实体名。l属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。l联系:用菱形表示,菱形框内写明联系名,并用无向边分别与实体型连接起来,同时在无向边旁边表上联系的类型(1:1,1:n,m:n)。l.基本基本E-R模型模型学生课程选修mn学号姓名专业课程号 课程名学时l.基本基本E-R模型模型l联系的属性联系的属性学生课程选修mn学号姓名专业课程号 课程名学时成绩?学生课程选修mn学号姓名专业课程号 课程名学时成绩?l.基本基本E-R模型模型学生课程选修mn学号姓名专业课程号课程名学时成绩l联系的属性联系的属性l.基本基本E-R模型模型-实例实例l例1:假定开发某工厂物资管理系统,业务调查后得到如下的问题描述。一个一个仓库仓库可以存放多种零件,可以存放多种零件,一种一种零件零件可以存放在多个可以存放在多个仓库仓库中;一个仓库有多名中;一个仓库有多名职工职工当保管员,一个职工只能在一个仓库工作,每当保管员,一个职工只能在一个仓库工作,每个仓库有一名主任。仓库存放由许多个仓库有一名主任。仓库存放由许多供应商供应商为一些为一些项目项目提供的多种提供的多种零件零件,一个项目可以有多个供应提,一个项目可以有多个供应提供多种零件,一个供应商可供给多个项目多种零件,供多种零件,一个供应商可供给多个项目多种零件,每种零件由不同的供应商提供给多个项目。每种零件由不同的供应商提供给多个项目。l.基本基本E-R模型模型-实例实例仓库零件存放nm1职工工作n领导n1供应商项目供应nmpl一个一个仓库仓库可以存放多种零件,一种可以存放多种零件,一种零件零件可以存放在多个可以存放在多个仓库仓库中;中;l一个仓库有多名一个仓库有多名职工职工当保管员,一个职工只能在一个仓当保管员,一个职工只能在一个仓库工作,每个仓库有一名主任。库工作,每个仓库有一名主任。l仓库存放由许多仓库存放由许多供应商供应商为一些为一些项目项目提供的多种提供的多种零件零件,一,一个项目可以有多个供应提供多种零件,一个供应商可供个项目可以有多个供应提供多种零件,一个供应商可供给多个项目多种零件,每种零件由不同的供应商提供给给多个项目多种零件,每种零件由不同的供应商提供给多个项目。多个项目。l.基本基本E-R模型模型-实例实例仓库零件职工供应商项目供应存放工作领导nmnmp1nn1姓名地址账号供应商号电话号面积仓库号电话号职工号姓名年龄职称供应量零件号库存量预算规格名称描述单价开工日期编号l.基本基本E-R模型模型-实例实例职工电话号?仓库零件职工供应商项目供应存放工作领导nmnmp1nn1姓名地址账号供应商号电话号面积仓库号电话号职工号姓名年龄职称供应量零件号库存量预算规格名称描述单价开工日期编号l.基本基本E-R模型模型-实例实例l例2:开发学校信息管理系统。学校中有若干系系,每个系有若干班级班级和教研室教研室,每个教研室有若干教教师师,其中有教授和副教授每人各带若干名研究生研究生,每个班班有若干学生学生,每个学生选若干课程课程,每门课由若干学生选修。l.基本基本E-R模型模型-实例实例系班级教研室有设有1nn1属于1n教师工作1n课程选修nml每个系有若干班级班级和教研室教研室l每个教研室有若干教师教师l其中有教授和副教授每人各带若干名研究生研究生学生指导1nl每个班班有若干学生学生l每个学生选若干课程课程,每门课由若干学生选修l.基本基本E-R模型模型-实例实例系系名电话号班名地址学号人数班级学生课程教研室教师有设有属于工作选修指导姓名住处课程号课程名学时教研室名地址电话号职工号姓名职称研究方向1nn11n1nnm是否四级1n指导人数年龄l.基本基本E-R模型模型-实例实例l例3:假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期(规定每个顾客在每个商店里最多消费一次)。商店顾客购物m商店编号商店名地址日期顾客号姓名电话n消费金额l.基本基本E-R模型模型-实例实例l例4:设计一个图书馆数据库,此数据库对每个借阅者保存读者记录,包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本被借出的书存有:书号、读者号、借出日期和应还日期。每本图书可以具有多种图书类别,每种图书类别可以包含多本图书。读者图书借阅m读者号姓名地址应还日期书号书名作者n借出日期性别年龄单位出版社图书类别类别号类别名m隶属nl.扩展的扩展的E-R模型模型l软件开发中,实际使用的ER模型有更丰富的语义,介绍扩展ER的一些内容,扩展ER表示有所不同学号学生姓名住处研究生本科生教师教授(副)研究方向是否四级研究方向培养类型如何表示?指导人数l.扩展的扩展的E-R模型模型-参加约束参加约束l实体的参与度实体参与联系的最小和最大次数例如:规定每位学生最少选三门课,最多六门课,则学生在选修联系中的参与度表示为(3,6)。规定有些课程可以无人选,但任一门课程最多允许100人选,则课程的参与度为(0,100)。表示为(min,max),0=min=1学生课程选修mn(3,6)(0,100)l.扩展的扩展的E-R模型模型-参加约束参加约束l实体的参与度部分参与:min=0,不是实体集中的每个实体都参与联系全参与:min0,实体集中的每个实体都参与联系学生课程选修mn教授课程讲授m1职工号姓名电话课号课时学分l.扩展的扩展的E-R模型模型-弱实体弱实体l弱实体现实世界有一种特殊的联系,这种联系代表实体间的所有关系。例如:职工和家属的关系弱实体是依赖于其它实体存在而存在的实体弱实体集强实体集l.扩展的扩展的E-R模型模型-弱实体弱实体l弱实体的两个特点弱实体的两个特点特点1:弱实体不能独立存在,它总是依附于某一所有者实体,即强实体(owner实体)。强实体集与弱实体集之间必须是一对多联系,弱实体必须是全部参与职工职工家属1n家属l.扩展的扩展的E-R模型模型-弱实体弱实体l弱实体的两个特点弱实体的两个特点特点2:弱实体不一定有自己的码例如:家属实体集可能有姓名、性别、出生年月等信息,但这些信息不足以标识一个家属(不同职工的家属有可能会重名)。所有者实体的码+弱实体的某一属性=标识一个弱实体01,张三,张三,职工实体集职工实体集02,李四,李四,03,王二,王二,张林,张林,家属实体集家属实体集李玲,李玲,王强,王强,李玲,李玲,王强,王强,孙梅,孙梅,重名重名职工号+家属姓名l.扩展的扩展的E-R模型模型-弱实体弱实体l弱实体的表示弱实体的表示职工号姓名年龄姓名姓名性别出生年月部分码部分码双线框双线框全参与全参与1:n联系联系主信用卡附属信用卡隶属主卡号姓名开卡时间附卡号附卡号姓名开卡时间1nl.扩展的扩展的E-R模型模型-类层次类层次l例子:学校中的学生可分为研究生和本科生l实体集研究生和本科生称为实体集学生的子类l从语义上来讲,子类中的每一个实体同时也是超类中的一个实体,子类中实体属性必须包含所有的超类实体集的属性,也就是说,子类将继承超类的属性l超类/子类联系称之为ISA联系l表示l.扩展的扩展的E-R模型模型-类层次类层次学号学生姓名住处研究生本科生研究方向是否四级培养类型ISA教师教授(副)研究方向ISA指导指导人数职工号姓名职称研究方向n1l.扩展的扩展的E-R模型模型-类层次类层次lISA联系可以从两个方面来看可以看作是一个特化,即子类是经过超类特化而得到的特化是自顶向下的设计过程:对初始实体集求精,产生一系列不同层次的实体子集,在此过程中,实体间的区别被明显地表达出来。可以看作是一个概括,即超类是对子类进行概括而得到的概括是自底向上的设计过程,根据实体间共同具有的特征,将多个实体集综合成一个较高层次的实体集。实体集间存在的共性通过概括来表达。l.扩展的扩展的E-R模型模型-类层次类层次l定义在ISA联系上的两种约束关系Overlap约束:Overlap约束用来指定两个子类之间是否允许包含同一实体Covering约束:Covering约束用来指定子类中所有的实体是否包含超类中的所有实体l.扩展的扩展的E-R模型模型-聚合聚合l联系描述的是多个实体集间的关联,只有实体才能参与联系,不允许联系参与联系,但实际应用中往往有时需要联系参与联系l把联系看成由参与联系的实体组合而成的新实体,这种新实体称为参与联系的实体的聚合l新实体的属性为参与联系的实体的属性和联系的属性的并l新实体参与联系l.扩展的扩展的E-R模型模型-聚合聚合l存在四个实体集(大学、研究所、公司、科研项目)和两个联系(合作、承担),其中合作是建立在大学、研究所和公司之间的联系l为了定义承担这样的联系,可以对联系合作、实体集大学、研究所和公司进行聚合,将他们当作一个实体集来看待l表示表示l.扩展的扩展的E-R模型模型-聚合聚合大学校名电话号地址科研项目合作承担nnm研究所所名电话号地址p公司公司名电话号地址mnml.扩展的扩展的E-R模型模型-聚合聚合l存在三个实体集(学生、课程、职员),假设每个“学生-课程”对(选修联系)会有某个教学办公室的职员对此负责,如何在E-R图中描述?采用三元联系集是否可行?三元联系集强调三个实体集间关系,模糊了我们特别强调的逻辑结构。而本例强调的是“学生-课程对”,即选修联系集与职员之间的联系。学生课程选修m学号姓名专业课程号 课程名学时成绩p职员职员号姓名性别1l.扩展的扩展的E-R模型模型-聚合聚合学生课程选修mn学号姓名专业课程号课程名学时成绩职员负责职员号姓名性别p1l.E-R模型设计技巧模型设计技巧l用E-R模型来进行概念数据库设计时通常需要注意以下几个问题一个概念应该被建模为一个实体还是一个属性?一个概念应该被建模为一个实体还是一个联系?应该使用多个二元联系还是一个n元联系?l.E-R模型设计技巧模型设计技巧-实体与属性实体与属性l在进行数据建模时,一个特征究竟应该建模为一个属性、一个实体集,还是一个联系集,有时并不是十分清楚的l例子:向实体集Employees中增加Address信息,可能有多种方式l将地址信息作为一个属性Address:如果我们仅仅是想记载雇员的一个地址,这时这种方式就比较合适l将地址信息建模为一个实体集Addresses,并在Employees和Addresses之间建立一个联系Has_Address,这种设计在以下两种情况是必须的l必须为雇员记载多个地址l我们希望结构化雇员的地址信息l.E-R模型设计技巧模型设计技巧-实体与属性实体与属性雇员号雇员号雇员名雇员雇员名职称地址如果多个?雇员职称有地址1n省市街道结构化的好处?l.E-R模型设计技巧模型设计技巧-实体与联系实体与联系l例子例子1:雇员和部门的联系l在这个例子中,如果不允许一个雇员在同一部门工作过两次的话,则该E-R图的设计没有任何问题,但如果允许同一雇员在一个部门多次任职的话,则上述E-R图设计存在问题。Why?l解决策略:解决策略:引入一个实体Duration,也就是将原来的二元联系建模为一个实体,并用一个三元联系取代原来的二元联系。雇员部门工作1nl.E-R模型设计技巧模型设计技巧-实体与联系实体与联系EmployeesDepartmentWork_in1mnssnnamelotfromtodiddnamebudgetEmployeesDepartmentWork_in2mnssnnamelotfromtodiddnamebudgetDurationpl.E-R模型设计技巧模型设计技巧-实体与联系实体与联系Employee1 9596 department1 XEmployee1 9697 department2Employee1 9899 department1 XEmployeesDepartmentWork_in1mnssnnamelotfromtodiddnamebudgetl.E-R模型设计技巧模型设计技巧-实体与联系实体与联系Employee1 9596 department1 Employee1 9697 department2Employee1 9899 department1 EmployeesDepartmentWork_in2mnssnnamelotfromtodiddnamebudgetDurationpl.E-R模型设计技巧模型设计技巧-实体与联系实体与联系l例2:一个部门至多只能有一个管理者,但一个经理可以管理多个部门,经理管理部门有一个起始时间和所自由支配的财务情况。EmployeesDepartmentManage1nssnnamelotsincedbudgetdiddnamel.E-R模型设计技巧模型设计技巧-实体与联系实体与联系如果对于每个部门都有一个财务情况,则这种表示方式是非常自然的。did dname since dbudget ssn 1 aa 90-95 100 01 2 bb 95-98 50 01正常正常EmployeesDepartmentManage1nssnnamelotsincedbudgetdiddnamel.E-R模型设计技巧模型设计技巧-实体与联系实体与联系如果属性dbudget表示对其所管理的所有部门而言所能自由支配的财务情况的话,则上述表示会引起dbudget信息的冗余。did dname since dbudget ssn 1 aa 90-95 100 01 2 bb 90-95 100 01存在冗余存在冗余EmployeesDepartmentManage1nssnnamelotsincedbudgetdiddnamel.E-R模型设计技巧模型设计技巧-实体与联系实体与联系解决策略:引入一个实体Mgr_ppts来表示一组部门的经理的委派,也就是将原来的二元联系建模为一个实体,并用一个三元联系取代原来的二元联系EmployeesDepartmentManage21nssnnamelotapptnumsincediddnameMgr_ppts1dbudgetl.E-R模型设计技巧模型设计技巧-实体与联系实体与联系EmployeesDepartmentManage21nssnnamelotapptnumsincediddnameMgr_ppts1dbudgetapptnum since dbudget 1 90-95 100 2 95-98 50did dname apptnum ssn 1 aa 1 01 2 bb 1 01降低冗余降低冗余l.E-R模型设计技巧模型设计技巧-实体与联系实体与联系学生课程选修mn学号姓名专业课程号课程名学时成绩是否也做一个实体?是否存在:王立 数据库 98王立 数据库 78特点:不是多值!结论:只能做属性例3l.E-R模型设计技巧模型设计技巧-二元联系与三元联系二元联系与三元联系l例1:每个雇员可以购买几份保险,每份保险可以被多个雇员所拥有且每个家属可以被多个保险单所涵盖三元多对多联系。EmployeesDependentscovermnssnnamelotpidcostpnameagePoliciespl.l考虑下列需求多个雇员不能同时购买同一份保险每份保险必须由雇员购买Dependents是一个弱实体集一份保险可以涉及到多位家属每位家属只对应一份保险EmployeesDependentscovermnssnnamelotpidcostpnameagePoliciespE-R模型设计技巧模型设计技巧-二元联系与三元联系二元联系与三元联系l.l根据上述需求,给出如下方案:多个雇员不能同时购买同一份保险:将m改成1E-R模型设计技巧模型设计技巧-二元联系与三元联系二元联系与三元联系EmployeesDependentscover1nssnnamelotpidcostpnameagePoliciespl.每份保险必须由雇员购买:在Policies上施加一个全参与约束产生一个副作用:每份险单至少涉及到一位家属E-R模型设计技巧模型设计技巧-二元联系与三元联系二元联系与三元联系EmployeesDependentscover1nssnnamelotpidcostpnameagePoliciespl.每位家属只对应一份保险:将p改为1不满足:一个雇员可以购买多份保险E-R模型设计技巧模型设计技巧-二元联系与三元联系二元联系与三元联系EmployeesDependentscover1nssnnamelotpidcostpnameagePoliciespl.Dependents是一个弱实体集:引入一个弱实体集E-R模型设计技巧模型设计技巧-二元联系与三元联系二元联系与三元联系EmployeesDependentscover1nssnnamelotpidcostpnameagePoliciespl.l方案方案1E-R模型设计技巧模型设计技巧-二元联系与三元联系二元联系与三元联系EmployeesDependentscover1nssnnamelotpidcostpnameagePoliciespl存在问题:存在问题:产生一个副作用:每份险单至少涉及到一位家属不能解决:每位家属只对应一份保险l.E-R模型设计技巧模型设计技巧-二元联系与三元联系二元联系与三元联系l方案方案2EmployeesDependentsBelong to1nssnnamelotpidcostpnameagePoliciesppurchaserbeneficiary11ml.实例分析l一个公司数据库需要存储雇员、部门和雇员小孩的信息。雇员工作在部门(一个雇员只能工作在一个部门),每个部门由一个雇员管理,每个雇员小孩的名字是唯一的,假定小孩只有一个家长工作在这个公司,而且我们不关心哪些已经调离雇员的小孩情况。请画出ER图捕获这些信息。部门部门雇员雇员小孩小孩工作有1m管理111ndnodnamebudgetssnsalaryphonenameagel.实例分析l一个大学数据库包括教授、课程信息。教授讲授课程,下面几种情况都是描述有关讲授联系集的,对于每一种情况画ER图描述教授可以在几个学期讲授同一门课程,但仅最近一次的讲授活动需被记录下来(1)教授可以在几个学期讲授同一门课程,每次讲授活动需被记录下来(2)每个教授必须讲授课程(3)每个教授只讲授一门课程(4)l.实例分析每个教授只讲授一门课程,每门课程可有几位教授讲授(5)假定一些课程可由一组教授联合讲授(6)假定一些特定课程只能由一组教授联合讲授,且这些教授中的任一位不可能独立讲授这门课程(思考题)(7)l.实例分析教授课程讲授nm职工号姓名电话课号课时学分班级学期人数教授可以在几个学期讲授同一门课程,但仅最近一次的讲授活动需被记录下来(1)l.实例分析教授课程讲授nm职工号姓名电话课号课时学分班级学期人数讲授情况p教授可以在几个学期讲授同一门课程,每次讲授活动需被记录下来(2)l.实例分析教授课程讲授nm职工号姓名电话课号课时学分班级学期人数讲授情况n每个教授必须讲授课程(3)l.实例分析教授课程讲授m1职工号姓名电话课号课时学分班级学期人数讲授情况n每个教授只讲授一门课程(4)每个教授只讲授一门课程,每门课程可有几位教授讲授(5)l.实例分析教授课程讲授m1职工号姓名电话课号课时学分班级讲授号人数讲授情况n学期假定一些课程可由一组教授联合讲授(6)l.实例分析假定一些特定课程只能由一组教授联合讲授,且这些教授中的任一位不可能独立讲授这门课程(7)教授课程m1职工号姓名电话课号课时学分n组构成nmISA一般课程特定课程讲授2讲授11参考答案l.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!