数据库6版讲稿第七章-数据库设计与E-R模型_第1页
数据库6版讲稿第七章-数据库设计与E-R模型_第2页
数据库6版讲稿第七章-数据库设计与E-R模型_第3页
数据库6版讲稿第七章-数据库设计与E-R模型_第4页
数据库6版讲稿第七章-数据库设计与E-R模型_第5页
已阅读5页,还剩121页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DATABASESYSTEMCONCEPTS第7章数据库设计和E-R模型引子现计划为某大学设计一个教室管理信息系统,管理的内容包括教室、班级、教师、学生、课程、教学设备、教室管理员。请按你的理解完成以下要求。画出E-R图,转换成关系模式,根据关系模式,用关系代数写出以下查询:引子(1)找出姓名为王平的学生周一3、4节上课的教室号、课程名、教师名、班长名(2)找出周四5、6节能容纳150以上、具有投影仪和空调且使用状态正常的空教室,给出教室号、管理员姓名、管理员电话引子P28:图2-9;P63:图3-18,图3-19,图3-20对应的E-R图是什么?提纲基本概念映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换7.1设计过程概览历史ER模型:Entity-RelationshipModel1976年,P.P.S.Chen提出ER模型,用ER图来描述概念模型观点世界是由一组称作实体的基本对象和这些对象之间的联系构成的语义模型力图表达数据的意义概念模型设计例:学生选修课程学生课程选修姓名学号系别课程名先修课学分成绩用矩形表示实体集,在框内写上实体名用椭圆表示实体的属性用无向边把实体与其属性连接起来用菱形表示实体间的联系将参与联系的实体用线段连接mn联系的数量逻辑模型设计学生=(学号,姓名,系别)课程=(课程名,先修课,学分)选修=(学号,课程名,成绩)银行系统的ER图逻辑模型设计customer=(customer-id,…,Employee-id)loan=(loan-number,…,

Branch-number

)account=(

account-number,

,…,

Branch-number)Branch=(Branch-number

,…)Employee=(Employee-id,…,manager-id)Payment=(loan-number,Payment-number…,)Borrower=(customer-id,loan-number,…,)Depositor==(customer-id,account-number,

…,)7.2实体-联系模型一、实体集实体(Entity)客观存在并可相互区分的事物叫实体实体名标识,如学生,课程如学生:张三、李四,课程:计算机原理、数据库概论实体集(EntitySet)同型实体的集合称为实体集,如全体学生实体集可相交实体型实体型实体名和属性名组成实体型。对关系模型就是关系模式。例如,学生(学号,姓名,性别,年龄,系别,入学时间),是学生实体型。(98080221,王平,女,19,计算机,1998)是一个实体。customer-idcustomer-namecustomer-streetcustomer-cityloanamount基本概念--实体基本概念—属性属性(Attribute)实体特征,通过其值区分不同的实体例如,学生=(学号,姓名,年龄,系)学生实体集={(001,李明,年龄,21,中文),…},一般:实体对应表中一个元组(记录)属性对应表中一个字段(数据项)实体集对应一个表属性的类型简单属性:不可再分的属性如学号、年龄、性别复合属性:可以划分为更小的属性可以把相关属性聚集起来,使模型更清晰如电话号码=区号+本地号码出生日期=年、月、日

如出生日期定义为简单属性取1984/8/12属性的类型属性的类型单值属性:每一个特定的实体在该属性上的取值唯一如学生的学号,年龄、性别、系别等多值属性:属性上有多于一个的取值如作者(张平,李华,刘宁)NULL属性null表示“空值”,属性上没有值时设为null,定义数据库时可选,进行逻辑、计数或求和时有规定。如一个学生年龄为空时,年龄>20,怎么判

属性的类型派生属性从其他相关的属性或实体派生出来的属性值学生=(学号,姓名,出生日期,年龄,平均成绩)选课=(学号,课程号,成绩)

年龄:由系统时间减出生日期得到平均成绩:由选课的成绩除以课程总数来得到。年龄、平均成绩称为派生属性,出生日期、成绩称为基属性,或存储属性属性在ER图中的表示表示要点多值属性用双椭圆表示派生属性用虚椭圆表示学生姓名选修课程学生姓名平均成绩系别属性在ER图中的表示基本概念—域域(Domain)属性的取值范围例如,性别的域为(男、女)月份的域为1到12的整数,成绩的域取integer域对应数据类型域可取缺省定义,也可以用语句显式定义CREATEDOMAINAGE_DOMAINSMALLINT基本概念--码码(Key)能唯一标识实体的属性或最小属性集,也称为实体键。具有唯一性的特点,即给出码属性的一个值,到实体集中或只找出一个实体或一个也找不到如果有多个码,每个码都称为侯选码,从中指定一个作为主码。例如职工实体集中,职工号为候选码,若姓名不重,也是候选码。超码:候选码的超集,比候选码有多余的属性,也能唯一标识一个实体。任一表都有码。基本ER图要点码在ER图中的表示实体集属性中作为主码的一部分的属性用下划线来标明。学生课程选修姓名学号系别课程名先修课学分基本ER图要点基本概念--联系联系集联系:实体之间的相互关联,用联系名标识,分为两(多)实体集之间实体的关联,同一实体集内部实体之间的关联。如学生与课程间的选课,学生与学生间的领导联系的类型两实体集之间1:1联系如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之关联,反之亦然。注意:至多一个,意味着可以没有。映射的基数如“职工”与“部门”之间的“管理”联系(假定每个部门只有一个经理,一个职工不能兼任两个部门经理)注:一对一不是一一对应职工部门管理基本概念--联系

例如,班级实体集与学生实体集间有1∶1的班长联系,联系名是班长。两实体集之间1:n联系如果对于实体集A中的每个实体,实体集B中有n个实体(n≥0)与之关联,反之,对实体集B中的每个实体,实体集A中至多有一个实体与之关联。例如,院系实体集与学生实体集有一对多的隶属联系,联系名是隶属。注意,n的取值可以为0,这意味着A中的某个实体在B中并没有实体与之关联。映射基数在ER图中的表示多方实体集单方实体集联系R从A到B是多对一ABR表示要点用箭头或线段来表示联系的映射基数映射的基数如“教师”和“学生”之间的“班主任”联系教师学生班主任基本概念--联系两实体集之间m:n联系如果对于实体集A中的每个实体,实体集B中有m个实体(m≥0)与之关联,反之,对于实体集B的每个实体,实体集A中也有n个实体(n≥0)与之关联。例如,课程实体集与学生实体集之间有选课联系,联系名是选课。注意,n和m的值都可以为0。多实体集之间m:n:p联系例如,设备实体集,供货商实体集,工程实体集之间的供货联系,联系名是供应。映射的基数两个实体间多对多如“学生”和“课程”之间的“选修”联系学生课程选修联系R从A到B是多对多ABR多个实体集间联系如“课程”,“教员”,“参考书”之间的“讲课”联系教员参考书讲课课程映射的基数基本概念--联系联系集borrower基本概念--联系实体集customer与account之间的联系集depositor具有属性access-date基本概念--联系同一实体集内联系

同一实体集内各实体间的联系也呈现一对一,一对多,多对多的形式。例如,职工实体集内部有一对多的领导联系;学生实体集内有一对一的同位联系;零部件实体集内有组装的m∶n的联系。联系的参与度(participation)。每个实体有一个参与联系的次数,取最小、最大的参与次数min和max,定义实体集的参与度。映射的基数一个实体集内的二元联系一对一eiE,至多存在一个ejE,与之相联系(j≠i)如“职工”之间的“配偶”联系一对多如“职工”内部的“领导”联系多对多如“零件”之间的“构成”联系职工领导领导属下职工配偶丈夫妻子构成零件母零件子零件基本概念--联系联系的参与度(participation)。每个实体有一个参与联系的次数,取最小、最大的参与次数min和max,定义实体集的参与度。min=0,称联系为部分参与;如果min>0,称联系为全参与。Max限制每个实体的参与次数。参与在ER图中的表示customer部分参与联系borrowerLoan完全参与联系borrower用双线连接联系与完全参与的实体基本概念--联系

联系的属性。实体有属性,联系也可以有属性。例如,选课联系中可以有成绩属性。联系集参与联系的实体组成的集合。联系一般也用表来表示,取各实体的主码和联系的属性组成表结构基本概念--联系例如学生实体集与课程实体集有选课联系,联系集属性是学号、课程号以及成绩。选课的学生和被选的课程参加联系集。注意:联系一般用表来表示,是否建立表与联系的类型有关。联系集的码联系一般也用表来表示,其码由各实体的主码组成。如选课表的码是学号和课程号。基本概念--角色角色(Role)实体在联系中的作用称为实体的角色当同一个实体集不止一次参与一个联系集时,为区别各实体的参与联系的方式,需要显式指明其角色如学生与学生间的班长关系,职工与职工之间的经理关系,课程之间的先修关系角色在ER图中的表示角色表示当需要显式区分角色时,在连接菱形和矩形的线上加上说明性标注以区别不同的角色职员雇佣管理工作角色在ER图中的表示映射的基数映射的基数会影响到ER设计,例如customer与account之间是1:n联系,则可将access-date作为account的属性映射的基数若customer与account之间是m:n联系,access-date则必须作为联系集depositor的属性映射的基数One-To-ManyOne-To-One映射的基数Many-To-ManyMany-To-One存在依赖存在依赖(ExistenceDependency)如果实体x的存在依赖于实体y的存在,则称x存在依赖于yy称作支配实体,x称作从属实体如果y被删除,则x也要被删除考虑分期付款的例子,对每一个“贷款”实体,有若干个“还款”实体与之关联,“还款”实体存在依赖于“贷款”实体全部参与与存在依赖设ARB,若A存在依赖于B,则A全部参与联系R提纲基本概念及对应的ER模型映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换弱实体集弱实体集(WeakEntitySet)如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集贷款(贷款号,金额),还款(还款号,还款日期,金额),每个“贷款”的各个“还款”不同,但不同“贷款”之间的“还款”却可能相同,因此“还款”是一个弱实体集产品(名称,价格),公司(名称,地址,联系电话),“产品”与“公司”之间有“制造”联系,“产品”是一个弱实体集。弱实体集弱实体集与其拥有者之间的联系称作标识性联系(identifyingrelationship)弱实体集与强实体集之间是一对多的联系弱实体集与存在依赖弱实体集必然存在依赖于强实体集(StrongEntitySet)存在依赖并不总会导致一个弱实体集,从属实体集可以有自己的主码 如实体集信用卡(信用卡号,客户帐号,金额),它存在依赖于客户帐号实体集,但信用卡有自己的主码信用卡号。弱实体集分辨符(Discriminator)弱实体集中用于区别依赖于某个特定强实体集的属性集合。也称作部分码(partialkey)如“还款”中的还款号弱实体集的主码由该弱实体集所存在依赖的强实体集的主码和该弱实体集的分辨符组成如“还款”主码=贷款号+还款号“产品”主码=公司名称+产品名称。弱实体集为什么使用弱实体集?通过为弱实体集加上合适的属性,可转变为强实体集,为什么还要使用弱实体集?避免数据冗余(强实体集码重复),以及因此带来的数据的不一致性弱实体集反映了一个实体对其它实体依赖的逻辑结构弱实体集可以随它们的强实体集的删除而自动删除弱实体集可以物理地随它们的强实体集存储弱实体集弱实体集的引入作为层次结构的一部分实体集的一些多值、复合属性可以抽取出来作为弱实体集如果弱实体集不但参与和强实体集之间的标识性联系,而且参与和其它实体集的联系,或者弱实体集本身含有很多属性,则将其表述为弱实体集如果弱实体集只参与和强实体集之间的标识性联系,或者弱实体集本身属性不多,则将其表述为属性弱实体集参与其它联系消费帐户隶属消费号帐户号消费金额金额利息隶属顺序号利息记息弱实体集弱实体集在E-R图中的表示弱实体集以双边框的矩形表示标识性联系以双边框的菱形表示从联系集用双线(全部参与)连接弱实体集,用箭头(一对多联系)指向强实体集弱实体集的分辨符用下划虚线标明弱实体集还款贷款隶属还款号贷款号还款金额贷款金额弱实体集产品公司制造产品名地址价格公司名联系电话弱实体集提纲基本概念及对应的ER模型映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换扩展ER特性特殊化(Specialization)概括(Generalization)属性继承(AttributeInheritance)设计约束(DesignConstraints)聚集(Aggregation)特殊化特殊化实体集中某些子集具有区别于该实体集内其它实体的特性,可以根据这些差异特性对实体集进行分组,这一分组的过程称作特殊化自顶向下、逐步求精父类子类子类=特例=更小的实体集=更多的属性一个银行帐号可以有存款帐号、贷款帐号学生可以有研究生、本科生特殊化特殊化在E-R图中的表示特殊化用标记为ISA的三角形来表示ISA=“isa”,表示高层实体和低层实体之间的“父类-子类”联系本科生研究生学生ISA硕士ISA博士姓名学号DissertationPapers军训特殊化概括概括各个实体集根据共有的性质,合成一个较高层的实体集。概括是一个高层实体集与若干个低层实体集之间的包含关系自底向上、逐步合成概括Vs特殊化概括与特殊化是个互逆的过程,在E-R图中的表示方法是相同的特殊化强调同一实体集内不同实体之间的差异,概括强调不同实体集之间的相似性反映了数据库设计的不同方法属性继承属性继承高层实体集的属性被低层实体集自动继承低层实体集特有的性质仅适用于某个特定的低层实体集如“Dissertation”属性只适用于“研究生”实体集层次结构(Hierarchy)实体集作为低层实体集只能参与到一个ISA联系中格结构(Lattice)低层实体集可以参与到多个ISA联系中如“博士”算参加工作,会继承“职工”实体集的一些属性

“博士”继承了“研究生”与“职工”的所有属性。如果“研究生”与“职工”有相同名称的属性,如“姓名”,则在“博士”中用“研究生.姓名”,“职工.姓名”区别开来。本科生研究生学生ISA硕士ISA博士姓名学号DissertationPapers军训职工姓名工龄ISA属性继承成员资格确定哪些实体能成为给定低层实体集的成员条件定义的(Condition-Defined)一个实体成员资格的确定基于该实体是否满足一个显式的条件或谓词假定“学生”实体集具有属性“学生类型”,则所有的学生实体根据“学生类型”进行成员资格认定,如一个学生的“学生类型”=“本科生”,则他就可以归入低层“本科生”实体集中系统可以自动检查条件定义的约束用户定义的(User-Defined)由数据库用户来指定一个实体归入哪个低层实体集如一个学生被老师分配到某个项目组设计约束成员身份同一个概括中,一个实体是否可以属于多个不同低层实体集不相交的(Disjoint)一个实体至多属于一个低层实体集如一个学生只能参加一个项目组有重叠的(Overlapping)同一实体可以同时属于同一概括的多个低层实体集如一个老师可以参加多个项目组设计约束全部性约束确定高层实体集中的一个实体是否必须属于某个概括的至少一个低层实体集全部的(Total)每个高层实体必须属于一个低层实体集如学生必须属于“本科生”或“研究生”的一种部分的(Partial)允许一些高层实体不属于任何低层实体集如学生可以不属于任何项目组。、设计约束聚集联系之间存在重叠,如何表达联系之间的联系?实例:职工参加项目,并在此过程中可能使用机器职工项目参加姓名工种名称类型机器名型号方案2工时使用机器聚集职工项目参加并使用姓名工种名称类型机器名型号方案1工时机器聚集姓名名称机器名e1j1m1e1j1m2e1j2m3e2j1m1姓名名称工时e1j13e1j24e2j15e3j24e4j24e5j26e6j25姓名名称机器名工时e1j1m13e1j1m23e1j2m34e2j1m15e3j2null4e4j2null4e5j2null6e6j2null5方案1方案2聚集是一种抽象,通过它联系被作为高层实体集。实体集A与B以及它们的联系可被看成另一实体集C使用聚集来消除冗余将联系作为抽象实体允许联系之间存在联系将联系抽象进新的实体中聚集ABR1R2D聚集职工项目参加姓名工种名称类型机器名型号工时使用机器制造商批发商联营名称地址名称地址产品名价格时间分送产品聚集ER图表示汇总ER图表示汇总提纲基本概念及对应的ER模型映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换对于一个数据对象究竟作为实体还是属性或联系是相对的,决定于应用背景和设计者的偏爱。一般说来,按数据粒度确定实体与属性,能形成元组的设计成实体,只是单一数据项的设计成属性。设计E-R图时一定与将来转化成关系模式结合起来,要考虑表的多少,查找数据的方便。ER模型设计要点实体集Vs属性职工姓名电话适于一个员工只有一部电话的情况职工电话联系电话姓名号码地址适于多个员工共有一部电话,一个员工多个电话,电话本身具有多个属性的情况ER模型设计要点员工抽象为一个实体电话若只是一个数据项则作为员工的属性,电话若需多个属性描述设计成实体。例:员工有多部电话,一个电话属多个员工,电话在不同的地方

1.设计成属性,表结构是:员工=(姓名,性别,职务,号码,地点)这样,查找员工的电话号方便,查找地点也方便,但数据冗余大,姓名,性别,职务随电话增加而冗余。ER模型设计要点2.若设计成实体,表结构是:员工=(姓名,性别,职务)电话=(号码,地址)联系电话=(姓名,号码)这样,冗余小了,但查找某员工的电话地点要查两个表。ER模型设计要点ER模型设计要点实体有多方面性质,属性没有,如城市为属性,只一个,为实体,可以多个属性项目名称城市项目城市位于名称名称面积人口ER模型设计要点实体中,多值属性,还要其它若干属性,则将该多值属性定义为另一实体供应商可以供应多种零件供应商姓名零件零件供应名称供应商姓名地址电话ER模型设计要点实体集Vs联系集教师课程开课姓名名称单纯表示“教师”实体与“课程”实体之间的行为联系实体与联系:静态与动态,若多个老师开同一门课,则每个老师与该课程的联系都需重复记录很多相同的信息,开课改为实体,与课程是1:N,与教师是N:M开课时间地点班级教师课程开课姓名名称时间地点班级ER模型设计要点实体与联系:静态与动态,若多个老师开同一门课,则每个老师与该课程的联系都需重复记录很多相同的信息,开课改为实体,与课程是1:N,与教师是N:M开课时间地点班级教师课程开课姓名名称时间地点班级ER模型设计要点例如,病人,医生,病历,病历作为实体,是四个表,作为联系是三个表ER模型设计要点提纲基本概念及对应的ER模型映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换概念数据库设计过程ER方案选择对现实世界概念要作出准确而有效的表达用实体集还是属性用实体集还是联系集用二元联系还是多元联系用强实体集还是弱实体集是否要用概括是否要用聚集概念数据库设计过程需求分析结果确定局部结构范围实体定义联系定义属性分配局部ER模式设计全局ER模式设计概念数据库设计过程局部ER模式确定公共实体类型合并两个局部ER模式检查并消除冲突全局ER模式设计还有未合并的局部模式?全局ER模式优化无有概念数据库设计过程-消除冲突属性冲突属性域的冲突:属性的类型、取值范围不同如不同学校的学号编码方式不同属性取值单位冲突如重量分别采用磅、千克结构冲突同一对象在不同应用中的抽象不同如职工在某应用中是实体,在另一应用中则抽象为属性同一实体在不同E-R图中属性组成不同实体之间的联系在不同E-R图中呈现不同的类型命名冲突同名异义:不同意义的对象具有相同的名字异名同义:同一意义的对象具有不同的名字概念数据库设计过程合并实体类型消除冗余属性消除冗余联系全局ER模式优化全局ER模式逻辑数据库设计银行系统的ER图概念数据库设计过程例:在教学管理系统中,要处理的数据有学生,班级,课程,教师,参考书五部分,

联系根据语义说明,本例的语义说明是,每个学生隶属一个班级;每个学生要选修多门课程;每门课程可由多个学生选修,每个学生选修的课程有一个成绩;一门课程可由多个教师开设,并指定多本参考书,而一个教师只能讲授一门课程,一本参考书只用于一门课程,学生中有班级领导。概念数据库设计过程例:在工厂管理系统中,需要管理的数据由五部分组成,职工,部门,产品,零件,供应商其属性如下:职工:职工号,姓名,性别,年龄,工种,级别部门:部门号,部门名,负责人,电话产品:产品号,产品名,型号概念数据库设计过程零件:零件代号,零件名称,规格,价格供应商:供应商名,地址,联系人,电话语义说明如下:职工隶属一个部门,每个职工有一个直属领导;一个产品由多个职工生产,由一个职工负责检验;一个产品由多零件组装,一种零件可以组装多种产品;产品和零件既可以由供应商供应,也可以由职工加工。提纲基本概念及对应的ER模型映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换7.6转换为关系模式实体关系属性关系的属性S(SNO,SNAME,DEPT)学生姓名学号系别属性的转换多值属性新的关系+所在实体的码选课(学号,所选课程号)学生姓名学号所选课程复合属性将每个组合属性作为复合属性所在实体的属性学生姓名学号年月出生日期日学生(学号,姓名,年,月,日)关系模式的转换弱实体集:所对应的关系的码由弱实体集本身的分辩符再加上所依赖的强实体集的码产品(产品名,价格,公司名)

产品公司制造产品名地址价格公司名联系电话弱实体集与强实体集之间的联系已经在弱实体集所对应的关系中表示出来了ER模型向关系模式的转换ER模型向关系模式的转换概括:

高层实体集和低层实体集分别转为表低层实体集所对应的关系包括高层实体集的码本科生研究生学生ISA硕士ISA博士姓名学号DissertationPapers军训学生(姓名,学号)本科生(学号,军训)研究生(学号,论文)ER模型向关系模式的转换如果概括是不相交并且是全部的,即一个高层实体最多并且只能属于一个低层实体集,则可以不为高层实体集建立关系码,低层实体集所对应的关系包括上层实体集的的所有属性本科生(学号,姓名,军训)研究生(学号,姓名,论文)本科生研究生学生ISA硕士ISA博士姓名学号DissertationPapers军训ER模型向关系模式的转换ER模型向关系模式的转换方案1

person(name,street,city)customer(name,credit-rating)employee(name,salary)缺点:查询employee的地址需要访问两个表方案2person(name,street,city)customer(name,street,city,credit-rating)employee(name,street,city,salary)如果概括是全部的,无须创建person表缺点:地址信息对同时是customer和employee的人存储两次ER模型向关系模式的转换聚集:

实体集A与B以及它们的联系R被看成实体集C,C与另一实体集D构成联系S,则S所对应的关系的码由R和D的码构成。使用(职工姓名,项目名称,机器名)职工项目参加姓名工种项目名称类型机器名型号工时使用机器ER模型向关系模式的转换一.实体转换强实体集,将每个强实体集直接转换为一个关系,实体的码作为关系的码,实体的属性作为关系的属性。弱实体集,将每个弱实体集直接转换为一个关系,关系中增加强实体集的码。多值属性单独建表超类实体建表,属性包括所有共有属性。ER模型向关系模式的转换子类实体建表,属性包括超类的码和子类所独有的属性。如果概括是不相交的且全部的,不为超类建表,只为子类建表。聚集可以单独建表,也可以不建表,用联系对联系表达。二.实体间联系的转换总原则:N:M联系单独建表,其他,增加属性。ER模型向关系模式的转换两实体间1:N的联系。将1方实体的码纳入N方实体对应的关系中,作为N方实体关系的外码。如果联系本身有属性,则将属性也纳入N方实体对应的关系中。例:仓库实体与产品实体为1:N的联系,其中仓号、产品号分别为两实体的码,E-R图如下:转换步骤:(1)实体转换为关系:仓库(仓号,地点,面积,负责人)产品(产品号,名称,价格)ER模型向关系模式的转换(2)N方增加属性:产品(产品号,名称,价格,仓号,数量,位置)(3)最终转换结果:仓库(仓号,地点,面积,负责人产品(产品号,名称,价格,仓号,数量,位置)ER模型向关系模式的转换同一实体间1:N的联系。在实体对应的关系中增加属性,属性包括:与N个体相联系的1个体的码,以及联系的属性。例:职工实体之间有1:N的领导联系,其中职工号为码。E-R图如下:转换步骤:(1)实体转换为关系:职工(职工号,姓名,性别,职务))ER模型向关系模式的转换(2)增加属性:职工(职工号,姓名,性别,职务,领导职工号,评价最终转换结果:职工(职工号,姓名,性别,职务,领导职工号,评价)关系实例:

ER模型向关系模式的转换职工职工号姓名性别职务领导职工号评价1张三男职员2合格2李四女副科3不合格3王五男科长4赵六男职员2优秀ER模型向关系模式的转换3.两实体间M:N的联系。联系单独转换为一个关系,属性包括:两实体的码、联系的属性。例:学生与课程之间有M:N的联系,学号、课号分别是实体的码,E-R图如下:转换步骤:(1)实体转换为关系:学生(学号,姓名,系别,系主任)课程(课号,课名,学分)ER模型向关系模式的转换(2)联系转换为关系:选课(学号,课号,成绩,时间)(3)最终转换结果:学生(学号,姓名,系别,系主任)课程(课号,课名,学分)选课(学号,课号,成绩,时间)ER模型向关系模式的转换同一实体间M:N的联系。联系单独转换为一个关系,属性包括:个体的码、与之有联系的另一个体的码、以及联系的属性。例:零部件实体之间有M:N的组装联系,其中代号为码。E-R图如下:转换步骤:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论