我有一个名为 的关系EMPLOYEE
,我的任务是将其转换为第三范式 (3NF)。它有多个属性,但为了这个问题,我们只对以下内容感兴趣:
emp_no (employee number)
office_no (office number)
dep_no (department number)
proj_no (project number)
我知道在第三范式中,主键可以是同一关系中非键属性的唯一决定因素,并且在问题中它指出上面列出的属性必须是全局唯一的。因此,我假设我将为这些属性中的每一个创建一个新关系。
但是,这就是我感到困惑的地方。我在新建关系的时候,把对应的属性设置为旧关系的外键,新关系的主键,对吧?
还有一些其他的东西:
我这样做的顺序有关系吗?例如,我可以让
EMPLOYEE
关系引用新关系OFFICE
,然后让那个引用新DEPARTMENT
关系......但是,我也可以让它去EMPLOYEE->DEPARTMENT->OFFICE
。业务规则确实规定每个员工只能属于一个部门,每个部门只能属于一个办公室。emp_no
我是否正确假设在第三范式中,如果它们不是主键的一部分,我不能与上述任何其他属性一起拥有?我的理由是,如果您知道办公室号码,则可以通过遍历每个关系的外键/主键对来确定(例如)电话号码。
先感谢您!