数据库系统工程师-02实体-联系模型
- 格式:doc
- 大小:75.00 KB
- 文档页数:6
实体-联系模型(简称E-R模型)是由P.P.Chen于1976年⾸先提出的。
它提供不受任何DBMS约束的⾯向⽤户的表达⽅法,在数据库设计中被⼴泛⽤作数据建模的⼯具。
E-R数据模型问世后,经历了许多修改和扩充,这⼉仅介绍基本的E-R数据模型。
1.2.2.1 E-R模型的结构 E-R模型的构成成分是实体集、属性和联系集,其表⽰⽅法如下: (1)实体集⽤矩形框表⽰,矩形框内写上实体名。
(2)实体的属性⽤椭圆框表⽰,框内写上属性名,并⽤⽆向边与其实体集相连。
(3)实体间的联系⽤菱形框表⽰,联系以适当的含义命名,名字写在菱形框中,⽤⽆向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—M或M—M。
因此,E-R模型也称为E-R图。
例如系、学⽣和课程的联系的E-R模型系、学⽣和课程作为实体集;⼀个系有多个学⽣,⽽⼀个学⽣仅属于⼀个系,所以系和课程之间是⼀对多的联系;⼀个学⽣可以选修多门课程,⽽⼀门课程有多个学⽣选修,所以学⽣和课程之间是多对多的联系。
1.2.2.2 E-R模型对⼏种特殊的实体联系的表⽰ E-R模型在表⽰复杂实体和实体之间的复杂联系⽅⾯有较强的能⼒。
除了可以明确表⽰⼆个实体集之间1—1、1—M或M —M的联系。
还可以: (1)表⽰三个以上的实体集之间的联系。
例如,⼀个售货员(Salesperson)可以将多种商品(Goods)售给⼀个顾客(Customer),⽽⼀个售货员也可以将⼀种商品售给多个顾客;⼀个顾客的⼀种商品可以由多个售货员经售。
售货员、商品和顾客三个实体集之间的联系是多对多的三元联系,其E-R模型表(2)表⽰⼀个实体集内部的联系 例如,雇员(EMP)这个实体集中,总经理下设多个部门经理,⽽部门经理下⾯有多个雇员。
因此,雇员这个实体集中实体之间存在⼀对多的联系,其E-R模型如图1.12所⽰。
(3)表⽰⼆个实体集之间的多种联系 例如,雇员(EMP)和设备(EQUIP)之间可以有多种联系,⼀种联系是⼀个设备可以由多个雇员操作(operation),另⼀种联系是⼀个雇员可以维修(maintain)多个设备,其E-R模型 1.2.2.3 作E-R图的步骤 (1)确定实体和实体的属性 (2)确定实体之间的联系及联系的类型 (3)给实体和联系加上属性 如何划分实体及其属性有两个原 则可作参考:⼀是作为实体属性的事物本⾝没有再需要刻画的特征⽽且和其它实体没有联系。
2. 1数据库设计过程数据库运行与维护阶段2. 2基本概念2. 2. 1 1976年,P.P.S.Chen 提出 E-R 模型(Entity-Relationship Model),用E-R 图来描述概念模型。
观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。
2. 2. 2基本概念(1) 实体(En tity):客观存在并可相互区分的事物叫实体。
如学生张三、 工人李四、计算机系、数据库概论。
(2) 属性(Attribute):实体所具有的某一特性。
一个实体可以由若干个属 性来刻画。
例如,学生可由学号、姓名、年龄、系、年级等组成。
(4) 域(Domain):属性的取值范围。
例如,性别的域为(男、女),月份的需求分析ER 莫型ODL/确定存储哪些数据,、 建立哪些应用,常用 的操作及对象有哪些 等。
概念数据库设计逻辑数据库设计'对需求分析所得到、 数据的更高层的抽 象描述。
'■将概念模型所描述的数、据映射为某个特定的 DBM 模式数据。
将E-R 模 型转换为关系模型。
物理设计阶段确定物理结构,选定 DBMS 。
数据库实施阶段建立实际数据库结 〈"构。
调试及运行。
/域为1到12的整数。
(5)实体型(Entity Type):实体名与其属性名集合共同构成实体型。
例,学生(学号、姓名、年龄、性别、系、年级)。
注意实体型与实体(值)之间的区别,后者是前者的一个特例。
如学生(9808100,王平,21,男,计算机系,2)是一个实体。
(6)实体集(Entity Set):同型实体的集合称为实体集。
如全体学生。
联系(Relatio nship):实体之间的相互关联。
如学生与老师间的授课关系,学生与学生间有班长关系。
联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性。
同类联系的集合称为联系集。
(7)元或度(Degree):参与联系的实体集的个数称为联系的元。
实体联系模型实体-联系模型基本概念实体:实体是有别于其他对象的⼀个事物,⽐如⼈,教师,学⽣,课程,专业。
实体集:⼀系列实体组成的集合,在数据库中对应的就是⼀个表。
属性:⼀组属性构成⼀个实体,⽐如学⽣可能具有学号,姓名,年龄等属性。
每个实体中的属性都有⼀个值。
所以⼀个数据库中包含若⼲个实体集,每个实体集中有若⼲个实体,每个实体中有⼀些属性。
联系:多个实体之间相互关联,⽐如教师Katz 和学⽣Shankar 可能存在⼀个联系advisor ,表⽰Katz 是Shankar 的⽼师联系集:相同类型联系的集合。
如果E 1,E 2,E 3,...,E n 是实体集,联系集R 是如下集合的⼀个⼦集,n >=2,(e 1,e 2,...,e n )是其中的⼀个联系。
(e 1,e 2,...,e n )|e 1∈E 1,e 2∈E 2,...,e n ∈E n 说⽩了,联系集就是咱们⽤数据库时建的那些⽤来联系两个表的表,⽐如选课表⽤来联系学⽣和课程之间的⼀个关系。
⽽这个联系⽤数学表⽰就是(student _id ,course _id ),所有这些元组就组成了联系集{(student _id ,course _id )|student _id ∈student ,course _id ∈course },也就是选课表。
参与:实体集之间的关联称为参与,⽐如⼀个学⽣Shankar 和⼀门课程Comp. Sci.共同参与到选课这个联系中。
联系实例:两个实体集中的实体参与到⼀个联系中时,就构成了⼀个联系实例,⽐如学⽣Shankar 选了Comp. Sci.课程,那么它们就构成了选课联系中的⼀个联系实例。
⾓⾊:实体在联系中充当的功能。
描述性属性:联系中可以具有⼀些描述性属性,⽐如通过⼀个date 来记录学⽣在何时选了⼀门课。
联系集的度:参与联系集的实体集个数,⼀般情况下联系集的度为2,称为⼆元联系集。
属性简单属性和复合属性之前的属性都是简单属性,就是只有⼀个值的属性,复合属性可以继续划分称更⼩的属性。
数据库设计中的实体和关系模型一、引言数据库设计是构建和管理数据的有效工具的过程。
在设计数据库之前,我们需要考虑数据的组织和结构。
实体和关系模型是数据库设计的核心概念,对于合理组织数据起着重要的作用。
二、实体模型1. 定义和概念实体模型是数据库设计中对现实世界中对象的抽象。
实体是一个具体存在、具有独立存在能力并能被区分出的事物。
在数据库设计中,实体常常用表来表示,表的每一行表示一个实体。
2. 实体属性每个实体都有一组属性来描述它的特点和状态。
属性通常包括实体的名称、类型、大小、取值范围等。
属性一般对应表中的列。
3. 实体间的关系实体间的关系是描述实体之间的联系以及相互依赖的方式。
常见的关系有一对一关系、一对多关系和多对多关系。
- 一对一关系:一个实体实例只能与另一个实体实例相对应。
- 一对多关系:一个实体实例可以与多个实体实例相对应。
- 多对多关系:多个实体实例可以与多个实体实例相对应。
4. 示例比如我们设计一个图书管理系统的数据库,其中包含实体图书、作者和出版社,它们之间的关系可以表示为:- 一本书只能有一个作者,一个作者可以写多本书,这是一个一对多关系。
- 一本书只能属于一个出版社,一个出版社可以出版多本书,也是一个一对多关系。
- 多本书可以由多个作者共同完成,这是一个多对多关系。
三、关系模型1. 定义和概念关系模型是基于关系代数的数学模型,用来描述实体、关系和约束之间的关系。
关系模型以表的形式表示数据,并通过表间的关系来描述数据的逻辑结构。
在关系模型中,我们常用主键和外键来表示表间的关联,主键是唯一标识一条记录的字段,外键是关联到其他表的字段。
2. 关系操作关系模型通过一些操作来查询和操作数据,并保证数据的完整性和一致性。
- 选择操作:根据条件选择满足要求的记录。
- 投影操作:提取表中某些列的数据。
- 连接操作:基于两个或多个表之间的关联,获得满足条件的组合数据。
- 更新操作:修改表中的数据。
数据库设计中的实体关系模型数据库设计是计算机科学领域中十分重要的一个方向,涉及到大量的理论知识和实践操作。
其中实体关系模型是数据库设计中的一个核心概念,它是数据库中实体之间的联系的一种抽象和描述。
实体关系模型不仅在数据库设计中有着重要作用,还在其他方面得到了广泛应用。
本文将着重探讨实体关系模型的原理和应用。
一、实体关系模型的原理实体关系模型(Entity-Relationship Model)是研究关系数据库的一种模型,它是由彼得·陈(Peter Chen)教授在20世纪70年代提出的一种建模方法。
实体关系模型将现实世界中的实体,以及实体之间的关系通过图形的方式描述出来,形成了一种抽象和形式化的表示方式。
它是数据库设计的主要基础和理论支撑。
1. 实体实体(Entity)是指现实世界中某一个客观存在的事物,可以是具体的物品,比如人、汽车、书籍等,也可以是抽象的概念,比如客户、订单、学生等。
在设计实体时需要考虑该实体具有什么属性,比如人的属性可以包括姓名、性别、年龄等。
一个实体可以对应多条记录,每一条记录具有自己的主键,用于在表格中唯一标识该记录。
2. 属性属性(Attribute)是指实体所具有的特征、性质和特征。
比如人的属性可以包括姓名、性别、年龄等,属性可以是单值的,也可以是多值的,也可以是派生的。
派生属性是指不能直接在实体中表示出来的属性,但是可以通过计算等方式得到。
3. 关系关系(Relationship)是指多个实体之间存在的关联或交互,描述实体之间的相互依存关系。
关系分为一对一、一对多和多对多三种类型。
一对一关系是指一个实体只能对应另一个实体,比如一个人只有一个配偶。
一对多关系是指一个实体可以对应多个实体,比如一个班级可以有多个学生,但一个学生只能属于一个班级。
多对多关系是指多个实体之间没有明显的单向约束关系,比如一家公司可以有多个员工,而一个员工也可以在多家公司工作。
4. 实体关系模型的表示方式实体关系模型可以通过E-R图(Entity-Relationship Diagram)来表示。
数据库工程师软考知识点总结一、数据库基础概念。
1. 数据模型。
- 概念数据模型:如E - R模型(实体 - 联系模型),包括实体、属性、联系的概念。
实体是现实世界中可区别于其他对象的“事物”或“对象”;属性是实体所具有的某一特性;联系反映实体之间的关联关系,有一对一、一对多、多对多等类型。
- 逻辑数据模型:- 层次模型:以树形结构表示数据间的层次关系,有且只有一个根节点,根节点以外的节点有且只有一个父节点。
- 网状模型:用有向图结构表示实体和实体之间的联系,节点之间可以有多种联系。
- 关系模型:以二维表(关系)的形式组织数据,表中的行称为元组,列称为属性。
关系模型具有数据结构简单、操作方便等优点,是目前主流的数据库模型。
2. 数据库系统结构。
- 三级模式结构。
- 外模式:也称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
- 模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式描述的是数据的全局逻辑结构,外模式通常是模式的子集。
- 内模式:也称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述,包括数据的组织和存储方法、索引的组织和管理、数据压缩、加密等。
- 二级映像。
- 外模式/模式映像:定义了外模式与模式之间的对应关系。
当模式改变时(如增加新的关系、改变关系的属性等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。
- 模式/内模式映像:定义了数据库全局逻辑结构与存储结构之间的对应关系。
当数据库的存储结构改变时(如选用了另一种存储结构),由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必修改,保证了数据的物理独立性。
一· 数据库设计过程概念阶段逻辑阶段实现阶段8. 联系的种类在ER图中的表示10. 一元联系的种类11. 联系的势三· 扩展ER表达1. 弱实体集如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集4. 弱实体集与存在依赖的关系弱实体集必然存在依赖于强实体集(Strong Entity Set)存在依赖并不总会导致一个弱实体集,从属实体集可以有自己的主码6. 概括:自底向上、逐步合成的数据库设计过程概括中的属性继承:如“博士”算参加工作,会继承“职工”的属性7.聚集聚集是一种抽象,通过它联系被抽象为高层实体集实体集A与B以及它们的联系可被看成实体集,然后与另一实体集C发生联系 8. ER符号汇总9. 选择困难症四· 概念数据库设计过程五·ER模型向关系模式的转换1.实体向关系模式的转换2.复合属性向关系模式的转换3.多值属性向关系模式的转换4. 一对多联系向关系模式的转换5. 多对多联系向关系模式的转换将联系定义为新的关系,属性为参与双方的码6. 一对一联系向关系模式的转换若联系一方全部参与,则将联系另一方的码作为全部参与一方的属性7. 弱实体向关系模式的转换弱实体集所对应的关系的码由弱实体集本身的分辩符再加上所依赖的强实体集的码8. 概括向关系模式的转化高层实体集和底层实体集分别转化为表,低层实体集所对应的关系包括高层实体集的码如果概括是不相交并且是全部的,即一个高层实体最多并且只能属于一个低层实体集,则可以不为高层实体集建立关系,低层实体集所对应的关系包括上层实体集的的所有属性9. 聚集向关系模式的转换实体集A与B以及它们的联系R被看成实体集C,C与另一实体集D构成联系S,则S所对应的关系的码由R和D的码构成。
简述实体联系模型
实体联系模型(EntityRelationshipModel),简称ER模型,是一种用于描述现实世界中各种实体之间关系的数据模型。
它是一种图形化的工具,通过图形符号的组合来表示实体、属性和它们之间的关系。
在ER模型中,实体是指现实世界中具有独立存在和可区分性的对象,例如人、机器、事物等。
每个实体都具有一组属性,用于描述其特征和属性值,例如人的姓名、年龄、性别等。
实体之间的联系主要包括三种类型:一对一、一对多和多对多。
一对一联系是指两个实体之间存在唯一的对应关系,例如一个人只有一个身份证号码;一对多联系是指一个实体与多个其他实体之间存在关联,例如一个学生可以报读多门课程;多对多联系是指多个实体之间相互关联,例如多个学生可以选修同一门课程。
为了更好地描述实体之间的联系,ER模型中引入了关系模型,用于表示两个实体之间的关联。
关系模型包括三个要素:关系名、实体集合和联系类型。
其中,关系名是指关系的名称,实体集合是指参与关系的实体集合,联系类型是指关系的类型。
在ER模型中,实体用矩形表示,属性用圆角矩形表示,联系用菱形表示。
实体之间的联系用线段连接,线段上标注联系类型表示关系的类型。
通过ER模型,可以清晰地描述现实世界中各种实体之间的关系,为数据库设计提供了重要的参考。
- 1 -。
数据库设计中的实体关系模型与图解析技巧在数据库设计的过程中,实体关系模型(Entity-Relationship Model)是一种用来描述现实世界中数据存储需求的方法。
它利用实体、属性以及实体之间的关系来描述数据之间的联系,从而实现数据库设计的有效性和合理性。
本文将探讨实体关系模型以及应用图解析技巧进行数据库设计的方法。
实体关系模型(ERM)使用实体(Entity)、属性(Attribute)和关系(Relationship)来描述数据模型。
实体是指现实世界中的一个具体事物,如学生、课程、教师等。
属性是描述实体特征的特性,如学生的姓名、年龄等;而关系用于描述实体之间的连接,如学生和课程之间的选修关系。
在实体关系模型中,我们使用实体属性图、关系图以及实体关系图来表示数据模型。
实体属性图用于表示实体与其属性之间的联系,通过圆圈来表示实体,使用椭圆形的属性框表示实体的属性。
关系图用于表示实体之间的联系,使用菱形来表示关系。
实体关系图综合了实体和关系的图示,通过线条将实体和关系联系起来。
在进行数据库设计时,可以按照以下步骤进行实体关系模型的构建:1. 初步确定实体:根据需求分析,初步确定现实世界中的实体,如学生、课程、教师等。
2. 识别实体属性:对于每个实体,识别和描述其相关属性。
例如,对于学生实体,属性包括学号、姓名、年龄等。
3. 建立实体之间的关系:确定实体之间的关系,并在实体关系图中用菱形表示。
例如,学生和课程之间的关系为选修。
4. 完善实体关系图:在实体关系图中绘制实体和关系的联系线,并确保每个关系都与实体正确连接。
5. 重复上述步骤:根据实际需求,重复以上步骤来添加、修改和完善实体关系图,直至满足数据库设计的要求。
当有一定规模的实体关系图需要解析时,图解析技巧可以帮助我们更好地理解和分析数据模型。
以下是一些常用的图解析技巧:1. 简化图形元素:对于大型实体关系图,我们可以通过简化图形元素来提高可读性。
第二章实体-联系模型( 概念数据库设计)2.1数据库设计过程2.2基本概念2.2.11976年, P.P.S.Chen提出E-R模型( Entity-RelationshipModel) , 用E-R图来描述概念模型。
观点: 世界是由一组称作实体的基本对象和这些对象之间的联系构成的。
2.2.2基本概念( 1) 实体(Entity): 客观存在并可相互区分的事物叫实体。
如学生张三、工人李四、计算机系、数据库概论。
( 2) 属性(Attribute): 实体所具有的某一特性。
一个实体能够由若干个属性来刻画。
例如, 学生可由学号、姓名、年龄、系、年级等组成。
( 4) 域(Domain): 属性的取值范围。
例如, 性别的域为( 男、女) , 月份的域为1到12的整数。
( 5) 实体型(EntityType): 实体名与其属性名集合共同构成实体型。
例, 学生( 学号、姓名、年龄、性别、系、年级) 。
注意实体型与实体( 值) 之间的区别, 后者是前者的一个特例。
如学生(9808100, 王平, 21, 男, 计算机系, 2)是一个实体。
( 6) 实体集(EntitySet): 同型实体的集合称为实体集。
如全体学生。
联系(Relationship): 实体之间的相互关联。
如学生与老师间的授课关系, 学生与学生间有班长关系。
联系也能够有属性, 如学生与课程之间有选课联系, 每个选课联系都有一个成绩作为其属性。
同类联系的集合称为联系集。
( 7) 元或度( Degree) : 参与联系的实体集的个数称为联系的元。
如学生选修课程是二元联系, 供应商向工程供应零件则是三元联系。
( 8) 码(Key):A、候选码: 关系中的某一属性或属性组的值能唯一地标识一个元组, 称该属性或属性组为候选码。
B、主码: 一个关系有多个候选码, 从中选定一个用来区别同一实体集中的不同实体, 称作主码。
一个实体集中任意两个实体在主码上的取值不能相同。
第二章实体-联系模型(概念数据库设计)
2.1 数据库设计过程
2.2 基本概念
2.2.1 1976年,P.P.S.Chen提出E-R模型(Entity-Relationship Model),用E-R图来描述概念模型。
观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。
2.2.2 基本概念
(1)实体(Entity):客观存在并可相互区分的事物叫实体。
如学生X三、工人李四、计算机系、数据库概论。
(2)属性(Attribute):实体所具有的某一特性。
一个实体可以由若干个属性来刻画。
例如,学生可由学号、XX、年龄、系、年级等组成。
(4)域(Domain):属性的取值X围。
例如,性别的域为(男、女),月份的
域为1到12的整数。
(5)实体型(Entity Type):实体名与其属性名集合共同构成实体型。
例,学生(学号、XX、年龄、性别、系、年级)。
注意实体型与实体(值)之间的区别,后者是前者的一个特例。
如学生(9808100,王平,21,男,计算机系,2)是一个实体。
(6)实体集(Entity Set):同型实体的集合称为实体集。
如全体学生。
联系(Relationship):实体之间的相互关联。
如学生与老师间的授课关系,学生与学生间有班长关系。
联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性。
同类联系的集合称为联系集。
(7)元或度(Degree):参与联系的实体集的个数称为联系的元。
如学生选修课程是二元联系,供应商向工程供应零件则是三元联系。
(8)码(Key):
A、候选码:关系中的某一属性或属性组的值能唯一地标识一个元组,称该属性或属性组为候选码。
B、主码:一个关系有多个候选码,从中选定一个用来区别同一实体集中的不同实体,称作主码。
一个实体集中任意两个实体在主码上的取值不能相同。
如学号是学生实体的码。
通讯录(XX,邮编,地址,,Email,BP)
C、外码:
D、全码:关系模型中所有属性组是这个关系模式的候选码,称为全码。
(9)参与(Participation):实体集之间的关联称为参与,即实体参与联系。
如王军选修“数据库基础”,表示实体“王军”与“数据库基础”参与了联系“选修”。
如果实体集E中的每个实体都参与到联系集R中的至少一个联系,则称E全部参与R。
如果实体集E中只有部分实体参与到联系集R的联系中,则称E部分参与R。
如“职工”与“部门”之间的“管理”联系,“职工”实体集部分参与,而“部门”实体集完全参与。
(10)角色(Role):实体在联系中的作用称为实体的角色。
当同一个实体集不止一次参与一个联系集时,为区别各实体的参与联系的方式,需要显式指明其角色。
如学生与班长关系,职工与职工之间的经理关系,课程之间的先修关系。
2.2.3 属性类型
(1)简单属性:不可再分的属性。
如学号、年龄、性别。
(2)复合(posite)属性:可以划分为更小的属性。
可以把相关属性聚集起来,使模型更清晰。
如=区号+本地
(3)单值属性:每一个特定的实体在该属性上的取值唯一。
如学生的学号,年龄、性别、系别等。
(4)多值属性:某个特定的实体在该属性上的有多于一个的取值。
如学生(学号,所选课程,联系),的“所选课程”,“联系”。
(5)NULL属性:Null表示“无意义”,当实体在某个属性上没有值时设为Null。
如通讯录(XX,email,,BP),若某人没有email地址,则在email属性上取值为null。
null表示“值未知”,即值存在,但目前没有获得该信息。
如职工(XX,部门,工种,XX),如果目前不知道职工XX,则设XX值为null。
实体完整性:作为主码的属性上取值不能为null。
(6)派生(Derived)属性与基属性:可以从其他相关的属性或实体派生出来的属性值。
如学生(学号,XX,平均成绩),选课(学号,课程号,成绩),则平均成绩可由学生所选课程的总成绩除以课程总数来得到。
称平均成绩为派生属性,而成绩为基属性,或存储属性。
数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用到时再从基属性中计算出来。
基本表 VS 视图
多值属性用双椭圆表示,或用双线与实体相连。
派生属性用虚椭圆表示,或用虚线与实体相连
2.3 映射约束
2.3.1 映射的基数(Mapping Cardinalities ):
实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数目。
可以有一对一的(1:1),一对多的(1:m ),多对多的(m:n )几种情况。
在E-R 图中,用箭头或线段来表示联系的映射基数。
(1)二元联系集的映射基数:一对一、一对多、多对多
(2)一个实体集内的二元联系:一对一、一对多、多对多
(3
)多个实体集间联系的情况
2.3.2存在依赖(Existence Dependency )
如果实体x 的存在依赖于实体y 的存在,则称x 存在依赖于y 。
y 称作支配实体,x 称作从属实体。
如果y 被删除,则x 也要被删除。
考虑员工亲属的例子
2.3.3 弱实体集(Weak Entity Set )
如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集。
弱实体集与其拥有者之间的联系称作标识性联系(identifying relationship)。
弱实体集与强实体集之间是一对多的联系。
弱实体集必然存在依赖于强实体集(Strong Entity Set)。
存在依赖并不总会导致一个弱实体集,从属实体集可以有自己的主码。
如实体集信用卡(信用卡号,客户XX ,金额),它存在依赖于客户XX 实体集,但信用卡有自己的主码信用卡号。
2.3.4为什么使用弱实体集
通过为弱实体集加上合适的属性,可转变为强实体集,为什么还要使用弱实体集?
(1)避免数据冗余(强实体集码重复),以及因此带来的数据的不一致性。
(2)弱实体集反映了一个实体对其它实体依赖的逻辑结构。
(3)弱实体集可以随它们的强实体集的删除而自动删除。
(4)弱实体集可以物理地随它们的强实体集存储。
2.3.5 复合实体
复合实体的主码一般由两个(或两个以上)联系
2.3.
6 实体的超类与子类
举例:飞行员工与普通员工。
2.4 数据抽象与E-R 模型设计步骤
(1)数据抽象
(2)设计局部E-R 模型
(3)设计全局E-R 模型
A 、合并局部E-R 图,生成初步E-R 图:可能发生的问题,属性冲突,名称冲突,结构冲突。
B 、消除冗余生成E-R 图
2.5 将E-R 模型转换成数据库一般规则
(1)将每一个实体转换成一个关系。
(2)所有主码必须定义非空。
(3)对于二元联系,按照规则定义外码。
A、一对多:将“一”表中的主码作为外码放在“多”表中,外码总是在“多”的一方。
B、弱实体:将父表的主码作为外码放在弱实体中。
弱实体的主码由父表的主码与弱实体本身的候选码组成。
也可以为弱实体建立新的独立的标识符ID。
C、一对一:将一个表的主码作为外码放在另一个表中,外码通常是放在操作比较频繁的表中。
也可以将两个实体合并成一个实体。
D、多对多:建立复合实体,复合实体的主码由两个父实体的主码复合组成。
复合实体的主码也是外码。