1.实体
实体(Entity): 一个“实体”表示一个现实和抽象事物的集合,这些事物必须具有相同的属性和特征。这个集合的一个元素就是该实体的一个实例。
实体被区分为独立实体和从属实体;
独立实体:一个实体的实例都被唯一的标识而不决定于它与其他实体的联系
从属实体:一个实体的实例的唯一标识需要依赖于该实体与其他实体的联系
IDEF1x规范中的区别:如下图所示
- 独立实体用直角方形框,从属实体用圆角方形框表示
- 实体用实体名/实体号标识
- 独立实体的主关键字没有外键,从属实体的主关键字含有外键
- 从属实体的实例依赖于独立实体实例存在而存在
一个实体应有一个或多个能唯一标识实体每一个实例的属性, 即应有一个主关键字及若干次关键字(0或多个)
如果一个完全外来关键字是一个实体主关键字的全部或部分, 那么该实体就是从属实体。相反,如果仅一部分或根本没有外来关键字属性用作一个实体的主关键字,那么,这个实体就是独立实体
2. 联系
联系(Relationship): 是实体之间的一种连接关系
联系大致可以分为四种
联系 | 定义 |
---|---|
标定联系 | 父实体的主关键字是子实体主关键字的一部分 |
非标定联系 | 父实体的主关键字不是子实体的主关键字 |
分类联系 | 一个实体实例是由一个一般实体实例及多个分类实体实例构成的 |
非确定联系 | 一句话,即多对多关系 |
具体定义:
标定联系:子实体的实例都是由它与父实体的联系而确定。父实体的主关键字是子实体主关键字的一部分
非标定联系:子实体的实例能够被唯一标识而无需依赖与其实体的联系。父实体的主关键字不是子实体的主关键字。
工程化要求:
- 标定联系用实直线表示,非标定联系用虚直线表示
- 在子实体一侧有圆圈,联系名标注在直线旁
- 父实体一个实例可与子实体的0个、1个或多个实例相联系,具体情况由
特定基数而定。在子实体端标注P(1或大于1)/Z(0或1)/n(确定数目)/<省
略> (0,1或大于1)
非确定联系:多对多关系中,需要引入相交实体来分解
为若干个一对多的联系来表达
确定性联系通过属性继承实现两实体之间的联系,而非确定性联系通过引入相交实体实现两实体的联系
分类联系:由一个一般实体实例和多个分类实体实例构成的
零件可以分为自制件和外购件,自制件和外购件不仅具有相同的属性,而且还各自具有不同的属性,如自制件需有工艺信息等。
完全分类联系与非完全分类联系:
如果只能是分类之一此分类是分类完全集,还可能有部件/部套还有组合件等此分类是分类非完全集
工程化要求:
- 一圆圈带两横线:完全分类联系
- 一圆圈带一横线:非完全分类联系
泛化:
若干个实体根据共有的性质,可以合成一个较高层的实体。泛化是一个高层 实体与若干个低层实体之间的包含关系
具体化和泛化在E-R图中用标记为ISA的三角形来表示
一个IDEF的例子:
例子2: