【SQL】E-R模型(实体-联系模型)
目录
一、介绍
1、实体集
定义和性质
属性
E-R图表示
2. 联系集
定义和性质
属性
E-R图表示
一、介绍
实体-联系数据模型(E-R数据模型)被开发来方便数据库的设计,它是通过允许定义代表数据库全局逻辑结构的企业模式(enterprise schema)来做到的。
E-R模型采用了三个基本概念:实体集、联系集和属性。
E-R模型还有一种相关联的图形表示:E-R图。
1、实体集
一个实体(entity)是现实世界中可区别与所有其他对象中的一个“事物”或“对象”。
例如,大学中的每个人都是一个实体。实体也可以是抽象的,比如课程或者航班预定。
定义和性质
实体集(entity set)是共享相同性质或属性、具有相同类型的实体的集合。
例如,一所给定大学的所有教师的集合可定义为instructor实体集,而不是指某个个别实体的特定集合。
实体集的外延(extension)指 属于实体集的实体的实际集合。因此,大学中教师的实际集合构成了instructor实体集的外延。
实体集不必互不相交。比如一个person实体可以是student实体,可以是instuctor实体。
属性
实体通过一组属性(attribute)来表示。
属性是实体集中每个成员所拥有的描述性性质。
为实体集设计一个属性表明数据库存储关于该实体集中每个实体的类似信息,但每个实体在每个属性上可以有它自己的值。
例如,instructor实体集可能具有的属性是ID、name,dept_name和salary.
在此,我们只考虑简单的属性---那些不能划分为子部分的属性。
每个实体在它的每个属性上都有一个值(value)。
E-R图表示
实体集在E-R图中用一个矩形表示,该矩阵分为两部分:实体集的名称,实体集所有属性的名称。
如图,E-R图显示的instructor和student实体集。
2. 联系集
定义和性质
联系(relationship)是多个实体间的相互关联。
比如,教师和学生的联系。
联系集(relationship set)是相同类型联系的集合。
联系集是在n>=2个(可能相同的)实体集上的数学关系。如果(E1,E2,....En)为实体集,那么联系集R是
{(e1,e2,...,en)| e1∈E1, e2∈E2,...., en∈En }
的一个子集,其中(e1,e2,...,en)是一个联系实例。
$$$ 实体集之间的关联被称为参与,即实体集(E1,E2,....En)参与(participate)联系集R。
属性
联系也可以具有被称作描述性属性(descriptive attribute)的属性。
E-R图表示
联系集在E-R图中用菱形表示,菱形通过线条连接到多个不同的实体集(矩形)。
显示advisor联系集的E-R图
联系集的属性在E-R图中通过未分割的矩形来表示。我们用虚线将此矩形与表示该联系集的菱形相连接。
将一个属性附加到联系集的E-R图