我有一个名为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
以及任何其他上述属性?我的理由是,如果您通过遍历每个关系的外键/主键对来了解办公室号码,可以确定(例如)电话号码。
提前谢谢!