常见错误:用一个实体集的主码作为另一个实体集的属性、将相关实体集的主码属性作为联系集的属性

如果注册信息还与其他实体集相联系,那么上述E-R设计更有效
一般而言,通过创建一个实体集可以将非二元联系集转换为二元联系集
所有的费二元联系集都可以用多个二元联系集来表示,但有时n元的联系集能够更清楚的表示几个参与的实体集之间的联系
考虑我们之前看到的三元联系proj_guide,假设我们要记录某个项目中导师对学生的评价

为不引入冗余,用聚集来表示E-R模型,如下图所示:一个学生在一个指定的项目中由一个指定导师辅导;学生、导师、项目的组合可能有相关联的评价信息




通过E-R图转换得出一组关系模式后
选择1:把一些关系模式合并为更大的关系,例如inst_dept(ID,name,salary,dept_name,building,budget)

如果通过E-R模型转换得出如下的两个关系模式:sec_class(sec_id, building, room_number) and section(course_id, sec_id, semester, year)
那么在逻辑设计中,我们可以将上述两个关系合并为如下关系:section(course_id, sec_id, semester, year, building, room_number),这样的关系模式不会产生数据冗余

无损分解(lossless decomposition)
R
=
(
A
,
B
,
C
)
R=(A,B,C)
R=(A,B,C)的分解:
R
1
=
(
A
,
B
)
,
R
2
=
(
B
,
C
)
R_1=(A,B),\ R_2=(B,C)
R1=(A,B), R2=(B,C)

r = ∏ A , B ( r ) ⋈ ∏ B , C ( r ) r = \prod_{A,B}(r)\bowtie \prod_{B,C}(r) r=∏A,B(r)⋈∏B,C(r)
inst_dept分解为instructor和department关系是无损分解
如果 α → β \alpha\rightarrow\beta α→β及 α → γ \alpha\rightarrow\gamma α→γ,则有 α → β γ \alpha\rightarrow\beta\gamma α→βγ(合并律)
如果 α → β γ \alpha\rightarrow\beta\gamma α→βγ,则有 α → β \alpha\rightarrow\beta α→β及 α → γ \alpha\rightarrow\gamma α→γ(分解律)
如果 α → β \alpha\rightarrow\beta α→β及 γ β → δ \gamma\beta\rightarrow\delta γβ→δ,则有 α γ → δ \alpha\gamma\rightarrow\delta αγ→δ(伪传递律)