技术开发 频道

利用UML进行实体关系建模

    ER 建模中的简单约束

    ER 模型中的实体、关系和属性建立了一些定义企业结构的限制。该结构受被称为"约束"的规则所限制。比如,一个雇员不可能与 100 多位客户打交道。或者说,每个雇员必须与某一个恰当的部门关联。

    基数(Cardinality)

    每个指定的关系类型都定义了在所有参与实体之间建立关系的可能性。大多数情况下,这不是必需的。比如,并非所有 Employee 都拥有全部 Product。

    关系是双向的,连接了两种实体类型(Employees 和 Products)或者扮演两个不同角色(作为经理的 Employee 和作为下属的 Employee)的同一实体类型。关系还可以是多向的,连接两个以上的实体类型。连接一个雇员、一个客户和两部话机的一次电话呼叫就是多向关系的一个例子。不管是哪种情况,每个实体类型都指定了针对该关系类型的基数。

    通过每个实体最大的关系数目指定了最简单的基数。如果只有一个部门参与和一个雇员关联的关系,那么我们在连接器上写一个 1。这意味着 Joe Ward 必须与一个并且只能是一个部门关联。

    其他的基数还有 Not Specified 或 Specified By a Variable。Not Specified 基数没有限制。基数 Specified By a Variable (大部分为M 或N)同样没有基数限制。

    当一个关系中的参与实体的上限和下限不同时,我们为上限和下限指定一对值,用括号括起来,之间用逗号分开,如(M,N)。根据上限的不同,可选的关系可以用(0,1)或(0,N)表示。

    比如,足球队和球员的关系为(11,18)。实体 Redmond Lions 足球队与实体类型球员之间建立了一种关系,它由 Joe Coplen、David Archer、John Good、Kevin Hale、Ivan Komashinsky、Steven Cooper、Andrew Bliven、Art Lounsbery、Chad Beery、Randall DuBois、Ron Baghai、Lance Delo、Tito Magobet、Curtis Hrischuk 和 Ian Leslie 组成。

    图 5 足球队和球员之间的关系规定这种关系只有在球队球员在 11 到 18 之间时才有效

    图 6 有效的关系是 Redmond Lions 足球俱乐部和 15 名球员之间的队员

0
相关文章