PowerDesignerER建模-概念模型转化为逻辑模型的规律
二元联系
1对多
强-强实体:
联系无属性:一方的主关键字进入多方,作为其外部关键字
联系有属性:属性放入多方,其他同上
强-弱实体:
弱实体(依赖方)为多方,强实体不可为多方:
联系无属性:一方的主关键字进入多方,作为其主关键字和外部关键字
联系有属性:没有这种情况
1对1
强-强实体:
特殊情况:未设置支配方(父实体),两方互为对方的支配方,其主关键字分别做对方的外部关键字
(1)双方强制参与:将联系中的两个实体合并到一个关系里,并选择原实体的一个主关键字作为新关系的主关键字,其他的作为可替换关键字。如果联系有属性也应该包含在合并以后的关系里。
(2)一方强制参与:设显示约束为1,1方为支配方,支配方的主关键字作为被支配方的外部关键字。如果有属性的联系,那么联系的属性合并到被支配方
(3)双方可选参与:设受强制约束更多的一方作为支配方,支配方的主关键字作为被支配方的外部关键字。比如分公司和职员,分公司不能没有职员管理,职员可以不受公司管理,分公司更受约束,职员为支配方。
强-弱实体:
特殊情况:未设置支配方,强实体作为支配方,支配方的主关键字作为被支配方的外部关键字和主关键字
(1)双方可选参与:无此种情况
(2)双方强制参与:合并联系两边实体作为一个实体,属性都放入新实体中,强实体主关键字作为新关系主关键字,其他为候选关键字
(3)一方强制参与:强实体显示约束为1,1,弱实体0,1.
不合并强弱实体,强实体的主关键字做弱实体的外部关键字和主关键字
多对多:
多对多的联系,必须建立新的关系以描述这种联系。关系中包含了多对多二元联系中的所有属性以及参与这个联系的实体的主关键字属性的副本,主关键字属性的副本作为外部关键字,这些外部关键字可能直接构成新关系的主关键字,也可能与联系自身的某些属性作为新关系的主关键字。
强-强实体:
联系无属性:关联的双方的主键进入联系作为主关键字和外部关键字
联系有属性:关联的双方的主键进入联系作为主关键字和外部关键字
强-弱实体:只有强强实体才可以设置多对多关系
递归关系
所有的递归关系中,强弱都不行。
1对多:
只有强强:
联系无属性:还是一个实体,主关键字是原主关键字,新增重命名后的原实体主关键字副本
1对1:
双方强制参与:【不存在这种情况!】
一方强制参与:【不存在这种情况!】
双方可选参与:还是一个实体,主关键字是原主关键字,新增重命名后的原实体主关键字副本。
多对多:
强强:
建立一个新的关系,关联的双方的主键进入联系作为主关键字和外部关键字。
三元及多元联系
只能是强强
为每一个复杂联系都创建一个关系,该关系包含了属于这个联系的所有属性,并将参与该联系的实体的主关键字也复制到这个关系中,作为关系的外部关键字。新关系的外部关键字可能成为主关键字,也可能和其他属性一起后成主关键字。
超子类
强制:A=B+C,A只能分为A,B 只要是强制的,超类和子类合并
可选:A>=B+C 超类和子类不合并
相交:子类有重合部分 子类之间合并,不相交的不合并
属性继承:超类的属性进入子类;若子类无主关键字,超类的主关键字做子类的主关键字
超子类处理后再和别的实体转换,然后考虑支配方的主关键字进入多方,轮替考虑
强制相交
子实体的全部属性——>父实体,去除子实体,只要父实体,父实体:增加了两个属性,鉴别子实体是1还是2
强制不相交
父实体的主关键字进入子实体成为主关键字+外部关键字
父实体的其他属性——>子实体
去除父实体,只要子实体
可选不相交
父实体的主关键字——>子实体:主关键字+外部关键字,不合并
可选相交
子实体合并为一个,父实体保留,子实体的属性合并到新实体,父实体的主关键字——>新的子实体:主关键字+外部关键字
新的子实体:增加了两个属性,鉴别子实体1还是2
复杂属性
组合属性:再设置一个实体,如果是1:1就并入原实体,变成简单属性
多值属性:再设置一个实体,一般应该是1:*的情况,不能合并