上述是一对一,多对一和多对多的实体集
这两个ER关系图是不同的。
绝对不能画成多个实体
转化为如下:
将实体的联系转化为实体
我们必须对每一个实体设置一个主码
子类的主码不能独立存在,必须是父类的主码
弱实体集:
一个弱实体集可以有一个或多个联系。但并不是都需要一个强实体集的关联,所以可以有单菱形。双菱形会有一个,他是弱实体集的一个属性加上一个强实体集的属性。
原则:
1.faithful
设计应该反映实际上数据之间的关系
2.avoid redundancy
冗余会导致数据不一致性和浪费空间
3.limit the use of weak entity set
当遇到弱实体集时可以相应规则转化
4.Don't use entity set if can use attribute
如果能使用属性就不要使用实体
厂家出现冗余,一个是作为属性,一个是作为实体
很多啤酒的厂家可能都是一个,所以厂家地址那个属性就会出现大量的冗余