数据库ER图

ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐均可以做为一个数据对象,用长方体来表示,每一个实体都有本身的实体成员(entity member)或者说实体对象(entity instance),例如学生实体里包括张3、李四等,实体成员(entity member)不须要出如今ER图中。spa

ER图的属性(attribute)即数据对象所具备的属性(所具备的列),例如学生具备姓名、学号、年级等属性,用椭圆形表示,属性分为惟一属性(unique attribute)和非惟一属性,惟一属性(主键)指的是惟一可用来标识该实体实例或者成员的属性,用下划线表示,通常来说实体都至少有一个惟一属性。.net

ER图的关系/联系(relationship)用来表现数据对象与数据对象之间的联系,例如学生的实体和成绩表的实体之间有必定的联系,每一个学生都有本身的成绩表,这就是一种关系,关系用菱形来表示。对象

ER图中关联关系有三种:blog

1对1(1:1) :1对1关系是指对于实体集A与实体集B,A中的每个实体至多与B中一个实体有关系;反之,在实体集B中的每一个实体至多与实体集A中一个实体有关系ip


1对多(1:N) :1对多关系是指实体集A与实体集B中至少有N(N>0)个实体有关系;而且实体集B中每个实体至多与实体集A中一个实体有关系。get

 

多对多(M:N) :多对多关系是指实体集A中的每个实体与实体集B中至少有M(M>0)个实体有关系,而且实体集B中的每个实体与实体集A中的至少N(N>0)个实体有关系。it

 

ER的实体还会细分为弱实体和复合实体:io

弱实体:一个实体必须依赖于另外一个实体存在,那么前者是弱实体,后者是强实体,弱实体必须依赖强实体存在,例如上图的学生实体和成绩单实体,成绩单依赖于学生实体而存在,所以学生是强实体,而成绩单是弱实体。class

 

弱实体和强实体的联系必然只有1:N或者1:1,这是因为弱实体彻底依赖于强实体,强实体不存在,那么弱实体就不存在,因此弱实体是彻底参与联系的,所以弱实体与联系之间的联系也是用的双线菱形。im

复合实体:复合实体也称联合实体或桥接实体,经常用于实现两个或多个实体间的M:N联系,它由每一个关联实体的主码组成,用长方体内加一个菱形来表示。

 

下图就是一个典型的复合实体,由于只是举例,相对粗糙,用户和商品两个实体是M:N的关系,中间有订单这个实体联系,所以订单这个实体是一个复合实体,同时若是用户 实体不存在,就没有订单实体的存在,所以对于用户实体来说订单是弱实体,同理商品实体若是不存在,一样不存在订单实体,所以对商品实体而言订单是弱实体,具体如图:

 

ER图的属性还可分为(了解更多请点击下面的参考连接)

复合属性:……

多值属性:……

派生属性:……

可选属性:……

联系属性:……

 

参考连接:

http://www.javashuo.com/article/p-ocfowyhn-km.html