2016-12-20 53 views
0

1-1关系和3NF之间是否存在冲突?数据库规范化:1-1关系和3NF

例如,采取如下表:

客户表:

CustomerID (Primary Key) 
CustomerFirstname 
CustomerLastname 
CustomerLoginID 
CustomerLoginPW 

现在让我们假设每个CustomerID只能对应一个CustomerLoginID,反之亦然。所以这是一个1-1的关系。

据说通常1-1关系已经归一化,不需要归一化。

但是,CustomerLoginPW可以由CustomerID确定,但它也可以由CustomerLoginID确定。这打破了3NF,即传递依赖。

因此,上表应该分为两个表,即CustomerLoginIDCustomerLoginPW放在一个单独的表中,即使关系是1-1? 把它留在一张表中,因为很多人认为1-1关系似乎打破了3NF?

+0

阅读“传递依赖”的*定义*。 – philipxy

回答

0

如果任何非素数属性(即不属于候选键的一部分的属性)取决于候选键(3NF的定义对候选键的重要性而不是主键)键)。由于CustomerIDCustomerLoginID都是候选键,因此它们确定了彼此以及所有其他属性,因此没有违反3NF的依赖关系。

所以你不需要拆分表格,因为关系是标准化的。