《第二章实体联系模型read课件.ppt》由会员分享,可在线阅读,更多相关《第二章实体联系模型read课件.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、章实体联系模型章实体联系模型次课1数据库设计过程数据库设计过程需求分析需求分析概念数据库设计概念数据库设计逻辑数据库设计逻辑数据库设计确定存储哪些数确定存储哪些数据,建立哪些应据,建立哪些应用,常用的操作用,常用的操作及对象有哪些等。及对象有哪些等。对需求分析所得对需求分析所得到数据的更高层到数据的更高层的抽象描述。的抽象描述。将概念模型所描述将概念模型所描述的数据映射为某个的数据映射为某个特定的模式数据。特定的模式数据。模型模型2基本概念(基本概念()年,提出模型(),用图来描述概念模型。观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。3基本概念(基本概念()实体实体():客
2、观存在并可相互区分的事物叫实体。客观存在并可相互区分的事物叫实体。如学生张三、工人李四、计算机系、数据库概论。如学生张三、工人李四、计算机系、数据库概论。属性属性():实体所具有的某一特性。一个实体可以由若干个实体所具有的某一特性。一个实体可以由若干个属性来刻画。属性来刻画。例如,学生可由学号、姓名、年龄、系、年级等例如,学生可由学号、姓名、年龄、系、年级等组成。组成。域域():属性的取值范围。属性的取值范围。例如,性别的域为(男、女),月份的域为到例如,性别的域为(男、女),月份的域为到的整数。的整数。4基本概念(基本概念()实体型实体型()():实体名与其属性名集合共同构成实体型。实体名与
3、其属性名集合共同构成实体型。例,学生(学号、姓名、年龄、性别、系、年例,学生(学号、姓名、年龄、性别、系、年级)。级)。注意实体型与实体(值)之间的区别,后者是注意实体型与实体(值)之间的区别,后者是前者的一个特例。前者的一个特例。如如(,王平,男,计算机系,王平,男,计算机系,)是一个实体。是一个实体。实体集实体集()():同型实体的集合称为实体集。同型实体的集合称为实体集。如全体学生。如全体学生。5基本概念(基本概念()联系联系()():实体之间的相互关联。实体之间的相互关联。如学生与老师间的授课关系,学生与学生间有如学生与老师间的授课关系,学生与学生间有班长关系。班长关系。联系也可以有属
4、性,如学生与课程之间有选课联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性。联系,每个选课联系都有一个成绩作为其属性。同类联系的集合称为联系集。同类联系的集合称为联系集。元或度():元或度():参与联系的实体集的个数称为联系的元。参与联系的实体集的个数称为联系的元。如学生选修课程是二元联系,供应商向工程供如学生选修课程是二元联系,供应商向工程供应零件则是三元联系。应零件则是三元联系。6基本图要点基本图要点学生学生课程课程选修选修学号学号姓名姓名系别系别课程名课程名先修课先修课主讲老师主讲老师成绩成绩用矩形表示实体集,用矩形表示实体集,在框内写上实体名在框内写上实
5、体名用椭圆表示用椭圆表示实体的属性实体的属性用无向边用无向边把实体与把实体与其属性连其属性连接起来接起来用菱形表示实用菱形表示实体间的联系体间的联系将参与联系的实将参与联系的实体用线段连接体用线段连接例例:学学生生选选修修课课程程7基本概念(基本概念()码码()():能唯一标识实体的属性或属性组称作超码。能唯一标识实体的属性或属性组称作超码。超码的任意超集也是超码。超码的任意超集也是超码。其任意真子集都不能成为超码的最小超码称其任意真子集都不能成为超码的最小超码称为候选码。为候选码。从所有候选码中选定一个用来区别同一实体从所有候选码中选定一个用来区别同一实体集中的不同实体,称作主码。集中的不同
6、实体,称作主码。一个实体集中任意两个实体在主码上的取值一个实体集中任意两个实体在主码上的取值不能相同。不能相同。如学号是学生实体的码。如学号是学生实体的码。通讯录(姓名,邮编,地址,电话,)通讯录(姓名,邮编,地址,电话,)8码在图中的表示码在图中的表示表示要点:表示要点:实体集属性中作为主码的一部分的属性用下划实体集属性中作为主码的一部分的属性用下划线来标明。线来标明。学生学生课程课程选修选修学号学号姓名姓名系别系别课程名课程名先修课先修课 主讲老师主讲老师9基本概念(基本概念()参与():参与():实体集之间的关联称为参与,即实体参与联系。实体集之间的关联称为参与,即实体参与联系。如王军选
7、修如王军选修“数据库基础数据库基础”,表示实体,表示实体“王军王军”与与“数据库基础数据库基础”参与了联系参与了联系“选修选修”。如果实体集中的每个实体都参与到联系集中的如果实体集中的每个实体都参与到联系集中的至少一个联系,则称全部参与。至少一个联系,则称全部参与。如果实体集中只有部分实体参与到联系集的联如果实体集中只有部分实体参与到联系集的联系中,则称部分参与。系中,则称部分参与。如如“职工职工”与与“部门部门”之间的之间的“经理经理”联系,联系,“职工职工”实体集部分参与,而实体集部分参与,而“部门部门”实体集完全参与。实体集完全参与。10基本概念(基本概念()角色():角色():实体在联
8、系中的作用称为实体的角色。实体在联系中的作用称为实体的角色。当同一个实体集不止一次参与一个联系集时,当同一个实体集不止一次参与一个联系集时,为区别各实体的参与联系的方式,需要显式指为区别各实体的参与联系的方式,需要显式指明其角色。明其角色。如学生与学生间的班长关系,职工与职工之间如学生与学生间的班长关系,职工与职工之间的经理关系,课程之间的先修关系。的经理关系,课程之间的先修关系。11角色在图中的表示角色在图中的表示表示要点:表示要点:当需要显式区分角色时,在连接菱形和矩形的当需要显式区分角色时,在连接菱形和矩形的线上加上说明性标注以区别不同的角色。线上加上说明性标注以区别不同的角色。职员职员
9、雇佣雇佣管理管理工作工作12属性的类型(属性的类型()简单属性简单属性:不可再分的属性。不可再分的属性。如学号、年龄、性别。如学号、年龄、性别。复合()属性:复合()属性:可以划分为更小的属性。可以划分为更小的属性。可以把相关属性聚集起来,使模型更清晰。可以把相关属性聚集起来,使模型更清晰。如电话号码区号本地号码如电话号码区号本地号码 出生日年月日出生日年月日 嵌套关系嵌套关系13属性的类型(属性的类型()单值属性:单值属性:每一个特定的实体在该属性上的取值唯一。每一个特定的实体在该属性上的取值唯一。如学生的学号,年龄、性别、系别等。如学生的学号,年龄、性别、系别等。多值属性多值属性:某个特定
10、的实体在该属性上的有多于一个的取某个特定的实体在该属性上的有多于一个的取值。值。如学生(学号,所选课程,联系电话)。如学生(学号,所选课程,联系电话)。14属性的类型(属性的类型()属性属性:表示表示“无意义无意义”,当实体在某个属性上没有值,当实体在某个属性上没有值时设为。时设为。如通讯录(姓名,电话,),若某人没有如通讯录(姓名,电话,),若某人没有地址,则在属性上取值为。地址,则在属性上取值为。表示表示“值未知值未知”,即值存在,但目前没有获得,即值存在,但目前没有获得该信息。该信息。如职工(姓名,部门,工种,身份证),如如职工(姓名,部门,工种,身份证),如果目前不知道职工身份证号码,
11、则设身份证果目前不知道职工身份证号码,则设身份证值为。值为。实体完整性:作为主码的属性上取值不能为。实体完整性:作为主码的属性上取值不能为。15属性的类型(属性的类型()派生()属性与基属性派生()属性与基属性:可以从其他相关的属性或实体派生出来的属性可以从其他相关的属性或实体派生出来的属性值。值。如学生(学号,姓名,平均成绩),选课(学如学生(学号,姓名,平均成绩),选课(学号,课程号,成绩),则平均成绩可由学生所号,课程号,成绩),则平均成绩可由学生所选课程的总成绩除以课程总数来得到。称平均选课程的总成绩除以课程总数来得到。称平均成绩为派生属性,而成绩为基属性,或存储属成绩为派生属性,而成
12、绩为基属性,或存储属性。性。数据库中,一般只存基属性值,而派生属性只数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用到时再从基属性中计存其定义或依赖关系,用到时再从基属性中计算出来。算出来。基本表基本表 视图视图16属性在图中的表示属性在图中的表示表示要点:表示要点:多值属性用双椭圆表示。多值属性用双椭圆表示。派生属性用虚椭圆表示。派生属性用虚椭圆表示。学生学生选修课程选修课程姓名姓名学生学生平均成绩平均成绩姓名姓名系别系别17映射约束映射约束映射的基数映射的基数存在依赖存在依赖18映射的基数(映射的基数()映射的基数(映射的基数():):实体之间的联系的数量,即一个实体通过一个
13、实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数目。联系集能与另一实体集相关联的实体的数目。可以有一对一的(),一对多的(),多对多可以有一对一的(),一对多的(),多对多的()几种情况。的()几种情况。在图中,用箭头或线段来表示联系的映射基数。在图中,用箭头或线段来表示联系的映射基数。多方实体集多方实体集单方实体集单方实体集联系从到是一对联系从到是一对一或多对一的一或多对一的联系从到是多对联系从到是多对多或一对多的多或一对多的19映射的基数(映射的基数()二元联系集的映射基数二元联系集的映射基数设有两个实体集,设有两个实体集,一对一:一对一:中的一个实体与中至多一
14、个实体相联系,并且中的一个实体与中至多一个实体相联系,并且 中的一个实体与中至多一个实体相联系。中的一个实体与中至多一个实体相联系。如如“职工职工”与与“部门部门”之间的之间的“管理管理”联系(假定每联系(假定每个部门只有一个经理,一个职工不能兼任两个个部门只有一个经理,一个职工不能兼任两个部门经理。部门经理。注:一对一不是一一对应。注:一对一不是一一对应。职工职工部门部门管理管理20映射的基数(映射的基数()l一对多:l 中的一个实体与中()个实体相联系,并且l 中的一个实体与中至多一个实体相联系。l如“教师”和“学生”之间的“班主任”联系。教师教师学生学生班主任班主任21映射的基数(映射的
15、基数()l多对多:l 中的一个实体与中()个实体相联系,并且l 中的一个实体与中()一个实体相联系。l如“学生”和“课程”之间的“选修”联系。学生学生课程课程选修选修22映射的基数(映射的基数()一个实体集内的二元联系一个实体集内的二元联系一对一:一对一:,至多存在一个,至多存在一个 ,与之相联,与之相联系(系()。)。如如“职工职工”之间的之间的“配偶配偶”联系。联系。一对多:一对多:如如“职工职工”内部的内部的“领导领导”联系联系多对多:多对多:如如“零件零件”之间的之间的“构成构成”联系联系职工职工配偶配偶职工职工领导领导零件零件构成构成领导领导属下属下丈夫丈夫妻子妻子母零件母零件子零件
16、子零件23映射的基数(映射的基数()多个实体集间联系的情况多个实体集间联系的情况一对多:一对多:设有个实体集设有个实体集,若对于若对于 ,,分别给定实体,分别给定实体,时,至多有一时,至多有一个实体个实体 与之相联系,则称有一个从到与之相联系,则称有一个从到,的一对多联系。的一对多联系。如如“课程课程”,“教员教员”,“参考书参考书”之间的之间的“讲课讲课”联系。联系。教员教员参考书参考书讲课讲课课程课程24存在依赖(存在依赖()存在依赖(存在依赖()如果实体的存在依赖于实体的存在,则称存在如果实体的存在依赖于实体的存在,则称存在依赖于。依赖于。称作支配实体,称作从属实体。称作支配实体,称作从
17、属实体。如果被删除,则也要被删除。如果被删除,则也要被删除。考虑分期付款的例子,对每一个考虑分期付款的例子,对每一个“贷款贷款”实体,实体,有若干个有若干个“还款还款”实体与之关联,实体与之关联,“还款还款”实体存实体存在依赖于在依赖于“贷款贷款”实体。实体。25存在依赖(存在依赖()全部参与与存在依赖全部参与与存在依赖设有设有 ,若存在依赖于,则全部参与联系。,若存在依赖于,则全部参与联系。参照完整性:参照完整性:一个实体集的属性是另一实体集的主码属性,一个实体集的属性是另一实体集的主码属性,26弱实体集(弱实体集()弱实体集(弱实体集()如果一个实体集的所有属性都不足以形成主码,如果一个实
18、体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集。则称这样的实体集为弱实体集。贷款(贷款号,金额),还款(还款号,还款贷款(贷款号,金额),还款(还款号,还款日期,金额),每个日期,金额),每个“贷款贷款”的各个的各个“还款还款”不同,不同,但不同但不同“贷款贷款”之间的之间的“还款还款”却可能相同,因此却可能相同,因此“还款还款”是一个弱实体集。是一个弱实体集。用户名用户名 主机名,如主机名,如 (文件)实体集记录本机用户名及其口令,(文件)实体集记录本机用户名及其口令,用户名在不同主机上可以相同。用户名在不同主机上可以相同。是一个弱实体是一个弱实体集。集。产品(名称,价格),公司
19、(名称,地址,联产品(名称,价格),公司(名称,地址,联系电话),系电话),“产品产品”与与“公司公司”之间有之间有“制造制造”联系,联系,“产品产品”是一个弱实体集。是一个弱实体集。27弱实体集(弱实体集()l弱实体集与其拥有者之间的联系称作标识性联系()。l弱实体集与强实体集之间是一对多的联系。l弱实体集与存在依赖l弱实体集必然存在依赖于强实体集()。l存在依赖并不总会导致一个弱实体集,从属实体集可以有自己的主码。l如实体集信用卡(信用卡号,客户帐号,金额),它存在依赖于客户帐号实体集,但信用卡有自己的主码信用卡号。28弱实体集(弱实体集()分辨符(分辨符():弱实体集中用于区别依赖于某个
20、特定强实体集弱实体集中用于区别依赖于某个特定强实体集的属性集合。也称作部分码(的属性集合。也称作部分码()。如如“还款还款”中的还款号,中的用户名。中的还款号,中的用户名。弱实体集的主码由该弱实体集所存在依赖的强弱实体集的主码由该弱实体集所存在依赖的强实体集的主码和该弱实体集的分辨符组成。实体集的主码和该弱实体集的分辨符组成。如如“还款还款”主码贷款号还款号主码贷款号还款号主码主码 用户名(在所在主机上唯一)用户名(在所在主机上唯一)主机地址主机地址(在全球唯一)。(在全球唯一)。“产品产品”主码主码 产品名称产品名称 公司名称。公司名称。29弱实体集(弱实体集()为什么使用弱实体集?为什么使
21、用弱实体集?通过为弱实体集加上合适的属性,可转变为通过为弱实体集加上合适的属性,可转变为强实体集,为什么还要使用弱实体集?强实体集,为什么还要使用弱实体集?避免数据冗余(强实体集码重复),以及因此避免数据冗余(强实体集码重复),以及因此带来的数据的不一致性。带来的数据的不一致性。弱实体集反映了一个实体对其它实体依赖的逻弱实体集反映了一个实体对其它实体依赖的逻辑结构。辑结构。弱实体集可以随它们的强实体集的删除而自动弱实体集可以随它们的强实体集的删除而自动删除。删除。弱实体集可以物理地随它们的强实体集存储。弱实体集可以物理地随它们的强实体集存储。30弱实体集(弱实体集()弱实体集的引入弱实体集的引
22、入作为层次结构的一部分。作为层次结构的一部分。实体集的一些多值、复合属性可以抽取出来作实体集的一些多值、复合属性可以抽取出来作为弱实体集。为弱实体集。如果弱实体集不但参与和强实体集之间的标识如果弱实体集不但参与和强实体集之间的标识性联系,而且参与和其它实体集的联系,或者性联系,而且参与和其它实体集的联系,或者弱实体集本身含有很多属性,则将其表述为弱弱实体集本身含有很多属性,则将其表述为弱实体集。实体集。如果弱实体集只参与和强实体集之间的标识性如果弱实体集只参与和强实体集之间的标识性联系,或者弱实体集本身属性不多,则将其表联系,或者弱实体集本身属性不多,则将其表述为属性。述为属性。31弱实体集(
23、弱实体集()弱实体集在图中的表示弱实体集在图中的表示弱实体集以双边框的矩形表示。弱实体集以双边框的矩形表示。标识性联系以双边框的菱形表示。标识性联系以双边框的菱形表示。从联系集用双线(全部参与)连接弱实体集,从联系集用双线(全部参与)连接弱实体集,用箭头(一对多联系)指向强实体集。用箭头(一对多联系)指向强实体集。弱实体集的分辨符用下划虚线标明。弱实体集的分辨符用下划虚线标明。32弱实体集(弱实体集()用户名用户名名称名称33弱实体集(弱实体集()还款还款贷款贷款隶属隶属还款号还款号贷款号贷款号还款金额还款金额贷款金额贷款金额34弱实体集(弱实体集()产品产品公司公司制造制造产品名产品名地址地
24、址价格价格公司名公司名联系电话联系电话35扩展特性扩展特性特殊化()特殊化()概括()概括()属性继承(属性继承()聚集()聚集()36扩展特性扩展特性特殊化(特殊化()特殊化:特殊化:实体集中某些子集具有区别于该实体集内其它实体集中某些子集具有区别于该实体集内其它实体的特性,可以根据这些差异特性对实体集实体的特性,可以根据这些差异特性对实体集进行分组,这一分组的过程称作特殊化。进行分组,这一分组的过程称作特殊化。自顶向下、逐步求精。自顶向下、逐步求精。父类父类 子类。子类。子类特例更小的实体集更多的属性。子类特例更小的实体集更多的属性。一个银行帐号可以有存款帐号、贷款帐号。一个银行帐号可以有
25、存款帐号、贷款帐号。学生可以有研究生、本科生。学生可以有研究生、本科生。37扩展特性扩展特性特殊化(特殊化()特殊化在图中的表示:特殊化在图中的表示:特殊化用标记为的三角形来表示。特殊化用标记为的三角形来表示。“”,表示高层实体和低层实体之间的,表示高层实体和低层实体之间的“父类父类子类子类”联系。联系。本科生本科生研究生研究生学生学生硕士硕士博士博士姓名姓名学号学号军训军训38扩展特性扩展特性概括概括概括:概括:各个实体集根据共有的性质,合成一个较高层各个实体集根据共有的性质,合成一个较高层的实体集。概括是一个高层实体集与若干个低的实体集。概括是一个高层实体集与若干个低层实体集之间的包含关系
26、。层实体集之间的包含关系。自底向上、逐步合成。自底向上、逐步合成。概括概括 特殊化特殊化概括与特殊化是个互逆的过程,在图中的表示概括与特殊化是个互逆的过程,在图中的表示方法是相同的。方法是相同的。特殊化强调同一实体集内不同实体之间的差异,特殊化强调同一实体集内不同实体之间的差异,概括强调不同实体集之间的相似性。概括强调不同实体集之间的相似性。反映了数据库设计的不同方法。反映了数据库设计的不同方法。39扩展特性扩展特性属性继承(属性继承()属性继承属性继承高层实体集的属性被低层实体集自动继承。高层实体集的属性被低层实体集自动继承。低层实体集特有的性质仅适用于某个特定的低低层实体集特有的性质仅适用
27、于某个特定的低层实体集。层实体集。如如“”属性只适用于属性只适用于“研究生研究生”实体集。实体集。层次结构()层次结构()实体集作为低层实体集只能参与到一个联系中。实体集作为低层实体集只能参与到一个联系中。格结构()格结构()低层实体集可以参与到多个联系中。低层实体集可以参与到多个联系中。如如“博士博士”算参加工作,会继承算参加工作,会继承“职工职工”实体集的实体集的一些属性。一些属性。40扩展特性扩展特性属性继承(属性继承()“博士”继承了“研究生”与“职工”的所有属性。如果“研究生”与“职工”有相同名称的属性,如“姓名”,则在“博士”中用“研究生.姓名”,“职工.姓名”区别开来。本科生本科
28、生研究生研究生学生学生硕士硕士博士博士姓名姓名学号学号军训军训职工职工姓名姓名工龄工龄41扩展特性扩展特性约束设计(约束设计()成员资格:成员资格:确定哪些实体能成为给定低层实体集的成员。确定哪些实体能成为给定低层实体集的成员。条件定义的条件定义的():一个实体成员资格的确定基于该实体是否满足一个实体成员资格的确定基于该实体是否满足一个显式的条件或谓词。一个显式的条件或谓词。假定假定“学生学生”实体集具有属性实体集具有属性“学生类型学生类型”,则所,则所有的学生实体根据有的学生实体根据“学生类型学生类型”进行成员资格认进行成员资格认定,如一个学生的定,如一个学生的“学生类型学生类型”“本科生本
29、科生”,则他,则他就可以归入低层就可以归入低层“本科生本科生”实体集中。实体集中。系统可以自动检查条件定义的约束。系统可以自动检查条件定义的约束。用户定义的用户定义的():由数据库用户来指定一个实体归入哪个低层实由数据库用户来指定一个实体归入哪个低层实体集。体集。如一个学生被老师分配到某个项目组。如一个学生被老师分配到某个项目组。42扩展特性扩展特性约束设计(约束设计()成员身份成员身份 同一个概括中,一个实体是否可以属于多个同一个概括中,一个实体是否可以属于多个不同低层实体集。不同低层实体集。不相交的不相交的():一个实体至多属于一个低层实体集。一个实体至多属于一个低层实体集。如一个学生只能
30、参加一个项目组。如一个学生只能参加一个项目组。有重叠的有重叠的():同一实体可以同时属于同一概括的多个低层实同一实体可以同时属于同一概括的多个低层实体集。体集。如一个老师可以参加多个项目组。如一个老师可以参加多个项目组。43扩展特性扩展特性约束设计(约束设计()全部性约束:全部性约束:确定高层实体集中的一个实体是否必须属于确定高层实体集中的一个实体是否必须属于某个概括的至少一个低层实体集。某个概括的至少一个低层实体集。全部的全部的():每个高层实体必须属于一个低层实体集。每个高层实体必须属于一个低层实体集。如学生必须属于如学生必须属于“本科生本科生”或或“研究生研究生”的一种。的一种。部分的部
31、分的():允许一些高层实体不属于任何低层实体集。允许一些高层实体不属于任何低层实体集。如学生可以不属于任何项目组。如学生可以不属于任何项目组。44扩展特性扩展特性聚集(聚集()聚集聚集如何表达联系之间的联系?如何表达联系之间的联系?实例:职工参加项目,并在此过程中使用若干实例:职工参加项目,并在此过程中使用若干机器。机器。职工职工项目项目参加参加姓名姓名 工种工种名称名称类型类型工时工时机器名机器名型号型号方案方案职工职工项目项目参加参加姓名姓名 工种工种名称名称类型类型机器名机器名型号型号方案方案工时工时使用使用机器机器45扩展特性扩展特性聚集(聚集()l聚集是一种抽象,通过它联系被作为高层
32、实体集。实体集与以及它们的联系可被看成另一实体集。职工职工项目项目参加参加姓名姓名 工种工种名称名称类型类型机器名机器名型号型号工时工时使用使用机器机器46扩展特性扩展特性聚集(聚集()制造商制造商批发商批发商联营联营名称名称 地址地址名称名称地址地址产品名产品名价格价格时间时间分送分送产品产品47模型设计要点(模型设计要点()实体集实体集 属性属性职工职工电话电话姓名姓名职工职工电话电话联系联系电话电话姓名姓名号码号码地址地址适于一个员适于一个员工只有一部工只有一部电话的情况电话的情况适于多个员工共有适于多个员工共有一部电话,一个员一部电话,一个员工多个电话,电话工多个电话,电话本身具有多个
33、属性本身具有多个属性的情况。的情况。48模型设计要点(模型设计要点()l实体有多方面性质,属性没有。项目项目城市城市位于位于项目项目城市城市名称名称名称名称名称名称面积面积人口人口49模型设计要点(模型设计要点()l若实体中除了多值属性之外还有其它若干属性,则将该多值属性定义为另一实体。l供应商可以供应多种零件供应商供应商零件零件姓名姓名零件零件供应供应名称名称供应商供应商姓名姓名地址地址电话电话供应商除零件属性供应商除零件属性外只有一个作为主外只有一个作为主码的姓名属性码的姓名属性供应商除零件供应商除零件属性外另有其属性外另有其它很多属性它很多属性50模型设计要点(模型设计要点()实体集实体
34、集 联系集联系集教师教师课程课程开课开课姓名姓名名称名称单纯表示单纯表示“教师教师”实实体与体与“课程课程”实体之实体之间的行为联系间的行为联系51模型设计要点(模型设计要点()l实体与联系:静态与动态教师教师课程课程开课开课姓名姓名名称名称开课开课地点地点时间时间人数人数地点地点时间时间人数人数弊端:若多个老师弊端:若多个老师开同一门课,则每开同一门课,则每个老师与该课程的个老师与该课程的联系都需重复记录联系都需重复记录很多相同的信息。很多相同的信息。52模型设计要点(模型设计要点()二元二元 多元多元方式:方式:新构建一个实体集,若有属性,则将其赋新构建一个实体集,若有属性,则将其赋予,为
35、添加一个标识属性作为主码,构造予,为添加一个标识属性作为主码,构造三个新联系集三个新联系集 ,,对每个,对每个(,),在中,在中创建一个新实体创建一个新实体,然后在,然后在 ,中分别加入中分别加入联系联系(,),(,),(,)。53模型设计要点(模型设计要点()l缺点:l浪费存储空间。l语义不清晰,难于体现参与联系的各方。54模型设计要点(模型设计要点()上述转换会有信息丢失()?55概念数据库设计实例(概念数据库设计实例()方案选择方案选择对现实世界概念要作出准确而有效的表达。对现实世界概念要作出准确而有效的表达。用实体集还是属性。用实体集还是属性。用实体集还是联系集。用实体集还是联系集。用二元联系还是多元联系。用二元联系还是多元联系。用强实体集还是弱实体集。用强实体集还是弱实体集。是否要用概括。是否要用概括。是否要用聚集。是否要用聚集。56概念数据库设计实例(概念数据库设计实例()实例:实例:为医院建图,包括病人和医生,病人有病历记为医院建图,包括病人和医生,病人有病历记录。录。病人病人医生医生门诊记录门诊记录姓名姓名 保险号保险号 身份证号身份证号治疗治疗姓名姓名专长专长病历病历名称名称日期日期结果结果57课堂练习课堂练习学生学生课程课程选修选修助教助教学生学生课程课程选修选修助教助教学生学生课程课程哪一个更合适?哪一个更合适?E-R 1E-R 258
限制150内