2016-12-20 64 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的依賴關係。

所以你不需要拆分表格,因爲關係是標準化的。