一些比较实用的软件教材

ER模型学习

1.实体(entity)就是具有公共性质的可区别的现实世界对象的集合。例如CAP数据库

中的客户,代理商、产品都为实体。分别表示不同对象的集合。数学表述中通常用一个

大写字母代表实体,一个实体E由一个现实世界对象的集合构成,使用小写字母加下标

表示这些对象:E={e1,e2,....,en}.

2.属性(attribute)是描述实体或者联系的性质的数据项,在实体的定义中说,属于一个实体

的所有实体实例具有共同性质,这些性质就是属性。在一个实体中,能够唯一标识实体的实例

的属性或属性集合称为实体标识符(主键)。属性域是属性的可能取值范围,也称为属性的值域。

属性的分类

基本属性和复合属性

基本属性石不可再分割的属性,复合属性石可再分解为其他属性的属性。例如性别,年龄,为基本属性;

地址属性为复合属性,因为地址可以分解为邮编、省(市)、县(区)、街道等子属性。

单值属性和多值属性

单值属性指的是同一实体的属性只能取一个值,多值属性指同一实体的某些属性可能取多个值,例如

年龄属性只能取一个值,是单值属性;学位是多值属性,可以去学士、硕士、博士多个值,爱好也是多

值属性。

导出属性和空值属性

通过具有相互依赖的属性推导而产生的属性称为导出属性,例如:年龄可以由出生年份导出;当实体的实例

在某个属性上没有值时,应使用空值(NULL),NULL还可以用以值未知,可以使用null的属性称为空值属性;

 3.联系(relationship):给定m个实体的有序列表:E1,E2,.....Em(列表中同一实体可以出现多次),

一个联系R定义了这些实体实例之间的对应规则。联系表示一个或多个实体之间的关联关系,联系是实体之间的

一种行为,一般用动词(英语用动名词)来命名联系。

联系的元数

  一个联系涉及到的实体个数,称为该联系的元数或度数。同一个实体的实例之间的联系称为一元联系,也称为递归联系;

两个不同实体的实例之间的联系称为二元联系;三个不同实体实例之间的联系称为三元联系;以此类推。

 联系的属性

联系也可以有附加的属性。经常先不考虑ER图中的的联系的属性。集中精力考虑实体的联系、

联系中实体的基数

两个有联系R的实体E和F,E中每个实例可能与F中的实例联系,(联系实例数目大于0),也可能没有与F中的实例联系(联系实例数目等于0)

E中每个实例与F中有联系实例数目的最小值和最大值,称为E的基数。记作mincard(E,R)和maxcard(E,R)。同理有mincard(F,R)和

maxcard(F,R)。

联系中实体的基数

例如学生实体E和课程实体F有选修联系R,每位学生至少选1门课,最多选10门课;每门课程最多100人选,至少可以没人选。则有:

      mincard(E,R)=1,maxcard(E,R)=10。

      mincard(E,R)=0,maxcard(F,R) = 100。

一个实体E参与联系R,并且mincard(E,R)=x,maxcard(E,R)=y,那么在ER图中,E和R之间的连接线可以用标记:card(E,R)=(x,y)表示

实体的基数。

联系的方式

 联系涉及到实体之间实例的对应方式,二元联系的联系方式有四种:1:1,1:N,M:N,M:1。由于M:1是1:N的反面,通常不单独提及。

如果实体E和F在联系R中有maxcard(E,R)=1,maxcard(F,R)=1,那么E和F联系是1:1的。

如果实体E和F在联系R中有maxcard(E,R)=N,maxcard(F,R)=1,那么E和F联系是1:N的。

如果实体E和F在联系R中有maxcard(E,R)=M,maxcard(F,R)=N,那么E和F联系是M:N的。

当一个联系R中的实体E具有mincard(E,R)=1时,E称为强制参与R(mandatory participation),或简称E在R中

是强制的,一个实体F在R中不是强制的,则称为可选的(optional participation)。

类似地,可以给出一元联系,三元联系的一对一,一对多,多对多定义,特别注意多元联系的多对多联系方式。

例子:

posted @ 2012-04-17 18:40  子灏  阅读(5841)  评论(0编辑  收藏  举报

传说中的阿里云服务