数据库设计与E-R模型.ppt

上传人:小飞机 文档编号:6166830 上传时间:2023-10-01 格式:PPT 页数:126 大小:1.34MB
返回 下载 相关 举报
数据库设计与E-R模型.ppt_第1页
第1页 / 共126页
数据库设计与E-R模型.ppt_第2页
第2页 / 共126页
数据库设计与E-R模型.ppt_第3页
第3页 / 共126页
数据库设计与E-R模型.ppt_第4页
第4页 / 共126页
数据库设计与E-R模型.ppt_第5页
第5页 / 共126页
点击查看更多>>
资源描述

《数据库设计与E-R模型.ppt》由会员分享,可在线阅读,更多相关《数据库设计与E-R模型.ppt(126页珍藏版)》请在三一办公上搜索。

1、DATABASE SYSTEM CONCEPTS,第7章 数据库设计和E-R模型,引子,现计划为某大学设计一个教室管理信息系统,管理的内容包括教室、班级、教师、学生、课程、教学设备、教室管理员。请按你的理解完成以下要求。画出E-R图,转换成关系模式,根据关系模式,用关系代数写出以下查询:,引子,(1)找出姓名为王平的学生周一3、4节上课的教室号、课程名、教师名、班长名(2)找出周四5、6节能容纳150以上、具有投影仪和空调且使用状态正常的空教室,给出教室号、管理员姓名、管理员电话,引子,P28:图2-9;P63:图3-18,图3-19,图3-20 对应的E-R图是什么?,提纲,基本概念映射约束

2、弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换,7.1 设计过程概览,历史ER模型:Entity-Relationship Model1976年,提出ER模型,用ER图来描述概念模型观点世界是由一组称作实体的基本对象和这些对象之间的联系构成的语义模型力图表达数据的意义,概念模型设计,逻辑模型设计,学生=(学号,姓名,系别)课程=(课程名,先修课,学分)选修=(学号,课程名,成绩),银行系统的ER图,逻辑模型设计,customer=(customer-id,Employee-id)loan=(loan-number,Branch-number)account=(a

3、ccount-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)客观存在并可相互区分的事物叫实体实体名标识,如学生,课程如学生:张三、李四,课程:计算机原理、数据库概论实体集(Entity Set)同型实体的集合称为实

4、体集,如全体学生实体集可相交,实体型,实体型 实体名和属性名组成实体型。对关系模型就是关系模式。例如,学生(学号,姓名,性别,年龄,系别,入学时间),是学生实体型。(98080221,王平,女,19,计算机,1998)是一个实体。,基本概念-实体,基本概念属性,属性(Attribute)实体特征,通过其值区分不同的实体例如,学生=(学号,姓名,年龄,系)学生实体集=(001,李明,年龄,21,中文),一般:实体对应表中一个元组(记录)属性对应表中一个字段(数据项)实体集 对应一个表,属性的类型,简单属性:不可再分的属性如学号、年龄、性别复合属性:可以划分为更小的属性可以把相关属性聚集起来,使模

5、型更清晰如电话号码=区号+本地号码 出生日期=年、月、日 如出生日期定义为简单属性取1984/8/12,属性的类型,属性的类型,单值属性:每一个特定的实体在该属性上的取值唯一如学生的学号,年龄、性别、系别等多值属性:属性上有多于一个的取值如作者(张平,李华,刘宁)NULL属性null表示“空值”,属性上没有值时设为null,定义数据库时可选,进行逻辑、计数或求和时有规定。如一个学生年龄为空时,年龄20,怎么判,属性的类型,派生属性从其他相关的属性或实体派生出来的属性值学生=(学号,姓名,出生日期,年龄,平均成绩)选课=(学号,课程号,成绩)年龄:由系统时间减出生日期得到 平均成绩:由选课的成绩

6、除以课程总数来得到。年龄、平均成绩称为派生属性,出生日期、成绩称为基属性,或存储属性,属性在ER图中的表示,表示要点多值属性用双椭圆表示派生属性用虚椭圆表示,属性在ER图中的表示,基本概念域,域(Domain)属性的取值范围 例如,性别的域为(男、女)月份的域为到的整数,成绩的域取integer域对应数据类型 域可取缺省定义,也可以用语句显式定义 CREATE DOMAIN AGE_DOMAIN SMALLINT,基本概念-码,码(Key)能唯一标识实体的属性或最小属性集,也称为实体键。具有唯一性的特点,即给出码属性的一个值,到实体集中或只找出一个实体或一个也找不到如果有多个码,每个码都称为侯

7、选码,从中指定一个作为主码。例如职工实体集中,职工号为候选码,若姓名不重,也是候选码。超码:候选码的超集,比候选码有多余的属性,也能唯一标识一个实体。任一表都有码。,基本图要点,码在ER图中的表示实体集属性中作为主码的一部分的属性用下划线来标明。,基本ER图要点,基本概念-联系,联系集联系:实体之间的相互关联,用联系名标识,分为两(多)实体集之间实体的关联,同一实体集内部实体之间的关联。如学生与课程间的选课,学生与学生间的领导联系的类型两实体集之间1:1联系 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之关联,反之亦然。注意:至多一个,意味着可以没有。,映射的基数,如“职工”与“

8、部门”之间的“管理”联系(假定每个部门只有一个经理,一个职工不能兼任两个部门经理)注:一对一不是一一对应,基本概念-联系,例如,班级实体集与学生实体集间有11的班长联系,联系名是班长。两实体集之间1:n联系 如果对于实体集A中的每个实体,实体集B中有n个实体(n0)与之关联,反之,对实体集B中的每个实体,实体集A中至多有一个实体与之关联。例如,院系实体集与学生实体集有一对多的隶属联系,联系名是隶属。注意,n的取值可以为0,这意味着A中的某个实体在B中并没有实体与之关联。,映射基数在ER图中的表示,表示要点用箭头或线段来表示联系的映射基数,映射的基数,如“教师”和“学生”之间的“班主任”联系,基

9、本概念-联系,两实体集之间m:n联系 如果对于实体集A中的每个实体,实体集B中有m个实体(m0)与之关联,反之,对于实体集B的每个实体,实体集A中也有n个实体(n0)与之关联。例如,课程实体集与学生实体集之间有选课联系,联系名是选课。注意,n和m的值都可以为0。多实体集之间m:n:p联系 例如,设备实体集,供货商实体集,工程实体集之间的供货联系,联系名是供应。,映射的基数,两个实体间多对多如“学生”和“课程”之间的“选修”联系,多个实体集间联系如“课程”,“教员”,“参考书”之间的“讲课”联系,映射的基数,基本概念-联系,联系集 borrower,基本概念-联系,实体集customer与acc

10、ount之间的联系集depositor具有属性access-date,基本概念-联系,同一实体集内联系 同一实体集内各实体间的联系也呈现一对一,一对多,多对多的形式。例如,职工实体集内部有一对多的领导联系;学生实体集内有一对一的同位联系;零部件实体集内有组装的mn的联系。联系的参与度(participation)。每个实体有一个参与联系的次数,取最小、最大的参与次数min和max,定义实体集的参与度。,映射的基数,一个实体集内的二元联系一对一ei E,至多存在一个ej E,与之相联系(ji)如“职工”之间的“配偶”联系一对多如“职工”内部的“领导”联系多对多如“零件”之间的“构成”联系,基本概

11、念-联系,联系的参与度(participation)。每个实体有一个参与联系的次数,取最小、最大的参与次数min和max,定义实体集的参与度。min=0,称联系为部分参与;如果min0,称联系为全参与。Max限制每个实体的参与次数。,参与在ER图中的表示,customer部分参与联系borrower,Loan完全参与联系borrower,用双线连接联系与完全参与的实体,基本概念-联系,联系的属性。实体有属性,联系也可以有属性。例如,选课联系中可以有成绩属性。联系集 参与联系的实体组成的集合。联系一般也用表来表示,取各实体的主码和联系的属性组成表结构,基本概念-联系,例如学生实体集与课程实体集有

12、选课联系,联系集属性是学号、课程号以及成绩。选课的学生和被选的课程参加联系集。注意:联系一般用表来表示,是否建立表与联系的类型有关。联系集的码联系一般也用表来表示,其码由各实体的主码组成。如选课表的码是学号和课程号。,基本概念-角色,角色(Role)实体在联系中的作用称为实体的角色当同一个实体集不止一次参与一个联系集时,为区别各实体的参与联系的方式,需要显式指明其角色如学生与学生间的班长关系,职工与职工之间的经理关系,课程之间的先修关系,角色在ER图中的表示,角色表示当需要显式区分角色时,在连接菱形和矩形的线上加上说明性标注以区别不同的角色,角色在ER图中的表示,映射的基数,映射的基数会影响到

13、ER设计,例如customer与account之间是1:n联系,则可将access-date作为account的属性,映射的基数,若customer与account之间是m:n联系,access-date则必须作为联系集depositor的属性,映射的基数,One-To-Many,One-To-One,映射的基数,Many-To-Many,Many-To-One,存在依赖,存在依赖(Existence Dependency)如果实体x的存在依赖于实体y的存在,则称x存在依赖于yy称作支配实体,x称作从属实体如果y被删除,则x也要被删除考虑分期付款的例子,对每一个“贷款”实体,有若干个“还款”实

14、体与之关联,“还款”实体存在依赖于“贷款”实体全部参与与存在依赖设A R B,若A存在依赖于B,则A全部参与联系R,提纲,基本概念及对应的ER模型映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换,弱实体集,弱实体集(Weak Entity Set)如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集贷款(贷款号,金额),还款(还款号,还款日期,金额),每个“贷款”的各个“还款”不同,但不同“贷款”之间的“还款”却可能相同,因此“还款”是一个弱实体集产品(名称,价格),公司(名称,地址,联系电话),“产品”与“公司”之间有“制造”联系,“产品

15、”是一个弱实体集。,弱实体集,弱实体集与其拥有者之间的联系称作标识性联系(identifying relationship)弱实体集与强实体集之间是一对多的联系弱实体集与存在依赖弱实体集必然存在依赖于强实体集(Strong Entity Set)存在依赖并不总会导致一个弱实体集,从属实体集可以有自己的主码如实体集信用卡(信用卡号,客户帐号,金额),它存在依赖于客户帐号实体集,但信用卡有自己的主码信用卡号。,弱实体集,分辨符(Discriminator)弱实体集中用于区别依赖于某个特定强实体集的属性集合。也称作部分码(partial key)如“还款”中的还款号弱实体集的主码由该弱实体集所存在依

16、赖的强实体集的主码和该弱实体集的分辨符组成如“还款”主码贷款号还款号“产品”主码=公司名称+产品名称。,弱实体集,为什么使用弱实体集?通过为弱实体集加上合适的属性,可转变为强实体集,为什么还要使用弱实体集?避免数据冗余(强实体集码重复),以及因此带来的数据的不一致性弱实体集反映了一个实体对其它实体依赖的逻辑结构弱实体集可以随它们的强实体集的删除而自动删除弱实体集可以物理地随它们的强实体集存储,弱实体集,弱实体集的引入作为层次结构的一部分实体集的一些多值、复合属性可以抽取出来作为弱实体集如果弱实体集不但参与和强实体集之间的标识性联系,而且参与和其它实体集的联系,或者弱实体集本身含有很多属性,则将

17、其表述为弱实体集如果弱实体集只参与和强实体集之间的标识性联系,或者弱实体集本身属性不多,则将其表述为属性,弱实体集参与其它联系,弱实体集,弱实体集在-R图中的表示弱实体集以双边框的矩形表示标识性联系以双边框的菱形表示从联系集用双线(全部参与)连接弱实体集,用箭头(一对多联系)指向强实体集弱实体集的分辨符用下划虚线标明,弱实体集,弱实体集,弱实体集,提纲,基本概念及对应的ER模型映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换,扩展ER特性,特殊化(Specialization)概括(Generalization)属性继承(Attribute Inherit

18、ance)设计约束(Design Constraints)聚集(Aggregation),特殊化,特殊化实体集中某些子集具有区别于该实体集内其它实体的特性,可以根据这些差异特性对实体集进行分组,这一分组的过程称作特殊化自顶向下、逐步求精父类子类子类特例更小的实体集更多的属性一个银行帐号可以有存款帐号、贷款帐号学生可以有研究生、本科生,特殊化,特殊化在E-R图中的表示特殊化用标记为ISA的三角形来表示ISA=“is”,表示高层实体和低层实体之间的“父类子类”联系,特殊化,概括,概括各个实体集根据共有的性质,合成一个较高层的实体集。概括是一个高层实体集与若干个低层实体集之间的包含关系自底向上、逐步

19、合成概括 Vs 特殊化概括与特殊化是个互逆的过程,在E-R图中的表示方法是相同的特殊化强调同一实体集内不同实体之间的差异,概括强调不同实体集之间的相似性反映了数据库设计的不同方法,属性继承,属性继承高层实体集的属性被低层实体集自动继承低层实体集特有的性质仅适用于某个特定的低层实体集如“Dissertation”属性只适用于“研究生”实体集层次结构(Hierarchy)实体集作为低层实体集只能参与到一个ISA联系中格结构(Lattice)低层实体集可以参与到多个ISA联系中如“博士”算参加工作,会继承“职工”实体集的一些属性,“博士”继承了“研究生”与“职工”的所有属性。如果“研究生”与“职工”

20、有相同名称的属性,如“姓名”,则在“博士”中用“研究生.姓名”,“职工.姓名”区别开来。,属性继承,成员资格确定哪些实体能成为给定低层实体集的成员条件定义的(Condition-Defined)一个实体成员资格的确定基于该实体是否满足一个显式的条件或谓词假定“学生”实体集具有属性“学生类型”,则所有的学生实体根据“学生类型”进行成员资格认定,如一个学生的“学生类型”=“本科生”,则他就可以归入低层“本科生”实体集中系统可以自动检查条件定义的约束用户定义的(User-Defined)由数据库用户来指定一个实体归入哪个低层实体集如一个学生被老师分配到某个项目组,设计约束,成员身份 同一个概括中,一

21、个实体是否可以属于多个不同低层实体集不相交的(Disjoint)一个实体至多属于一个低层实体集如一个学生只能参加一个项目组有重叠的(Overlapping)同一实体可以同时属于同一概括的多个低层实体集如一个老师可以参加多个项目组,设计约束,全部性约束 确定高层实体集中的一个实体是否必须属于某个概括的至少一个低层实体集全部的(Total)每个高层实体必须属于一个低层实体集如学生必须属于“本科生”或“研究生”的一种部分的(Partial)允许一些高层实体不属于任何低层实体集如学生可以不属于任何项目组。、,设计约束,聚集联系之间存在重叠,如何表达联系之间的联系?实例:职工参加项目,并在此过程中可能使

22、用机器,聚集,聚集,方案1,方案2,聚集是一种抽象,通过它联系被作为高层实体集。实体集A与B以及它们的联系可被看成另一实体集C使用聚集来消除冗余将联系作为抽象实体允许联系之间存在联系将联系抽象进新的实体中,聚集,聚集,聚集,ER图表示汇总,ER图表示汇总,提纲,基本概念及对应的ER模型映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换,对于一个数据对象究竟作为实体还是属性或联系是相对的,决定于应用背景和设计者的偏爱。一般说来,按数据粒度确定实体与属性,能形成元组的设计成实体,只是单一数据项的设计成属性。设计E-R图时一定与将来转化成关系模式结合起来,要考虑表

23、的多少,查找数据的方便。,ER模型设计要点,实体集 Vs 属性,ER模型设计要点,员工抽象为一个实体电话若只是一个数据项则作为员工的属性,电话若需多个属性描述设计成实体。例:员工有多部电话,一个电话属多个员工,电话在不同的地方 1.设计成属性,表结构是:员工=(姓名,性别,职务,号码,地点)这样,查找员工的电话号方便,查找地点也方便,但数据冗余大,姓名,性别,职务随电话增加而冗余。,ER模型设计要点,2.若设计成实体,表结构是:员工=(姓名,性别,职务)电话=(号码,地址)联系电话=(姓名,号码)这样,冗余小了,但查找某员工的电话地点要查两个表。,ER模型设计要点,ER模型设计要点,实体有多方

24、面性质,属性没有,如城市为属性,只一个,为实体,可以多个属性,ER模型设计要点,实体中,多值属性,还要其它若干属性,则将该多值属性定义为另一实体供应商可以供应多种零件,ER模型设计要点,实体集 Vs 联系集,实体与联系:静态与动态,若多个老师开同一门课,则每个老师与该课程的联系都需重复记录很多相同的信息,开课改为实体,与课程是1:N,与教师是N:M,ER模型设计要点,实体与联系:静态与动态,若多个老师开同一门课,则每个老师与该课程的联系都需重复记录很多相同的信息,开课改为实体,与课程是1:N,与教师是N:M,ER模型设计要点,例如,病人,医生,病历,病历作为实体,是四个表,作为联系是三个表,E

25、R模型设计要点,提纲,基本概念及对应的ER模型映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换,概念数据库设计过程,ER方案选择对现实世界概念要作出准确而有效的表达用实体集还是属性用实体集还是联系集用二元联系还是多元联系用强实体集还是弱实体集是否要用概括是否要用聚集,概念数据库设计过程,概念数据库设计过程,概念数据库设计过程-消除冲突,属性冲突属性域的冲突:属性的类型、取值范围不同如不同学校的学号编码方式不同属性取值单位冲突如重量分别采用磅、千克结构冲突同一对象在不同应用中的抽象不同如职工在某应用中是实体,在另一应用中则抽象为属性同一实体在不同E-R图中属

26、性组成不同实体之间的联系在不同E-R图中呈现不同的类型命名冲突同名异义:不同意义的对象具有相同的名字异名同义:同一意义的对象具有不同的名字,概念数据库设计过程,银行系统的ER图,概念数据库设计过程,例:在教学管理系统中,要处理的数据有学生,班级,课程,教师,参考书五部分,联系根据语义说明,本例的语义说明是,每个学生隶属一个班级;每个学生要选修多门课程;每门课程可由多个学生选修,每个学生选修的课程有一个成绩;一门课程可由多个教师开设,并指定多本参考书,而一个教师只能讲授一门课程,一本参考书只用于一门课程,学生中有班级领导。,概念数据库设计过程,例:在工厂管理系统中,需要管理的数据由五部分组成,职

27、工,部门,产品,零件,供应商其属性如下:职工:职工号,姓名,性别,年龄,工种,级别 部门:部门号,部门名,负责人,电话 产品:产品号,产品名,型号,概念数据库设计过程,零件:零件代号,零件名称,规格,价格 供应商:供应商名,地址,联系人,电话 语义说明如下:职工隶属一个部门,每个职工有一个直属领导;一个产品由多个职工生产,由一个职工负责检验;一个产品由多零件组装,一种零件可以组装多种产品;产品和零件既可以由供应商供应,也可以由职工加工。,提纲,基本概念及对应的ER模型映射约束弱实体集扩展ER特性ER模型设计要点概念数据库设计过程ER模型向关系模式的转换,7.6 转换为关系模式,实体 关系属性

28、关系的属性,属性的转换,多值属性 新的关系+所在实体的码,选课(学号,所选课程号),复合属性 将每个组合属性作为复合属性所在实体的属性,学生(学号,姓名,年,月,日),关系模式的转换,弱实体集:所对应的关系的码由弱实体集本身的分辩符再加上所依赖的强实体集的码,产品(产品名,价格,公司名),弱实体集与强实体集之间的联系已经在弱实体集所对应的关系中表示出来了,ER模型向关系模式的转换,ER模型向关系模式的转换,概括:高层实体集和低层实体集分别转为表低层实体集所对应的关系包括高层实体集的码,学生(姓名,学号)本科生(学号,军训)研究生(学号,论文),ER模型向关系模式的转换,如果概括是不相交并且是全

29、部的,即一个高层实体最多并且只能属于一个低层实体集,则可以不为高层实体集建立关系码,低层实体集所对应的关系包括上层实体集的的所有属性,本科生(学号,姓名,军训)研究生(学号,姓名,论文),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

30、,street,city,salary)如果概括是全部的,无须创建person表缺点:地址信息对同时是customer和employee的人存储两次,ER模型向关系模式的转换,聚集:实体集A与B以及它们的联系R被看成实体集C,C与另一实体集D构成联系S,则S所对应的关系的码由R和D的码构成。,使用(职工姓名,项目名称,机器名),ER模型向关系模式的转换,一实体转换强实体集,将每个强实体集直接转换为一个关系,实体的码作为关系的码,实体的属性作为关系的属性。弱实体集,将每个弱实体集直接转换为一个关系,关系中增加强实体集的码。多值属性单独建表超类实体建表,属性包括所有共有属性。,ER模型向关系模式的

31、转换,子类实体建表,属性包括超类的码和子类所独有的属性。如果概括是不相交的且全部的,不为超类建表,只为子类建表。聚集可以单独建表,也可以不建表,用联系对联系表达。二实体间联系的转换 总原则:N:M联系单独建表,其他,增加属性。,ER模型向关系模式的转换,两实体间1:N 的联系。将1方实体的码纳入N方实体对应的关系中,作为N方实体关系的外码。如果联系本身有属性,则将属性也纳入N方实体对应的关系中。例:仓库实体与产品实体为1:N的联系,其中仓号、产品号分别为两实体的码,E-R图如下:转换步骤:(1)实体转换为关系:仓库(仓号,地点,面积,负责人)产品(产品号,名称,价格),ER模型向关系模式的转换

32、,(2)N方增加属性:产品(产品号,名称,价格,仓号,数量,位置)(3)最终转换结果:仓库(仓号,地点,面积,负责人 产品(产品号,名称,价格,仓号,数量,位置),ER模型向关系模式的转换,同一实体间1:N 的联系。在实体对应的关系中增加属性,属性包括:与N个体相联系的1个体的码,以及联系的属性。例:职工实体之间有1:N 的领导联系,其中职工号为码。E-R图如下:转换步骤:(1)实体转换为关系:职工(职工号,姓名,性别,职务),ER模型向关系模式的转换,(2)增加属性:职工(职工号,姓名,性别,职务,领导职工号,评价最终转换结果:职工(职工号,姓名,性别,职务,领导职工号,评价)关系实例:,E

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

34、,学分)选课(学号,课号,成绩,时间),ER模型向关系模式的转换,同一实体间M:N 的联系。联系单独转换为一个关系,属性包括:个体的码、与之有联系的另一个体的码、以及联系的属性。例:零部件实体之间有M:N 的组装联系,其中代号为码。E-R图如下:转换步骤:(1)实体转换为关系:零部件(代号,名称,价格)(2)联系转换为关系:组装(代号,组装件代号,数量,ER模型向关系模式的转换,(3)最终转换结果:零部件(代号,名称,价格)组装(代号,组装件代号,数量)关系实例:零部件代号 名称 价格1 变速箱 50002 轴承 3003 转向器 12004 螺丝 145 垫片 05,ER模型向关系模式的转换

35、,组装代号 组装件代码 数量1 2 21 4 401 5 262 4 82 5 63 2 23 4 10,ER模型向关系模式的转换,多实体间M:N 的联系。联系单独转换为一个关系,属性包括:各实体的码、联系的属性。例:产品、工程、供应商之间有M:N:P 的联系,产品号、工程号、供应商号分别是实体的码,E-R 图如下:转换步骤:(1)实体转换为关系:产品(产品号,名称,类别,价格)工程(工程号,工程名,承接单位)供应商(供应商号,名称,地址),ER模型向关系模式的转换,(2)联系转换为关系:供应(产品号,工程号,供应商号,数量)(3)最终转换结果:产品(产品号,名称,类别,价格)工程(工程号,工

36、程名,承接单位)供应商(供应商号,名称,地址)供应(产品号,工程号,供应商号,数量),ER模型向关系模式的转换,两实体间1:1 的联系。将任一方实体的码纳入另一方实体对应的关系中,作为外码。如果联系本身有属性,则将属性也纳入对方实体对应的关系中。例:厂长实体与工厂实体为1:1的联系,其中职工号、厂号分别为两实体的码,E-R图如下:转换步骤:(1)实体转换为关系:厂长(职工号,姓名,年龄,性别)工厂(厂号,名称,地址),ER模型向关系模式的转换,(2)增加属性:工厂(厂号,名称,地址,职工号,任职时间)或者:厂长(职工号,姓名,年龄,性别,厂号,任职时间)(3)最终转换结果:厂长(职工号,姓名,年龄,性别)工厂(厂号,名称,地址,职工号,任职时间),ER模型向关系模式的转换,或者:厂长(职工号,姓名,年龄,性别,厂号,任职时间)工厂(厂号,名称,地址)(4)也可以将联系单独转换为一关系,如下:厂长(职工号,姓名,年龄,性别)工厂(厂号,名称,地址 管理(厂号,职工号,任职时间),本章要点,作业7.17.157.21,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号