2017-12-03 205 views

回答

0

在Microsoft SQL Server數據庫有一個PRIMARY KEY約束和非空列UNIQUE約束之間沒有顯著差異。主鍵基本上只是語法糖。公約和個人偏好是使用PRIMARY KEY約束的最常見原因。

在任何DBMS中,真正重要的是您擁有哪些密鑰以及如何使用它們,而不是您指定爲「主」的那些密鑰。

0

理論上數據建模的,兩種解決方案都是正確的。

但在實踐中:最好使用第二種解決方案。
採用新的自動遞增ID並將其設置爲主鍵並將兩個傳輸的外鍵設置爲唯一(一起)。

優點:
數據的冗餘: 假設我們有一個名爲兩個表和B型和AB是新創建的中間表(因爲很多一對多的關係)。
現在如果AB與C有一個新的關係(一對多)。我們應該將AB的Primary-Key作爲外鍵傳遞給C.所以最好轉換ID而不是兩個屬性。如果C與D具有新的關係(一對多),那麼也是如此,等等。

缺點:
訪問性能,以標識:雖然在第一個解決方案的冗餘,但有一個性能的訪問標識,而無需使用任何連接。 (假設在表C中,我們想要訪問A和B的ID。)但是,訪問只有到ID沒有太多的用處。

相關問題