表中主鍵的最佳實踐是什么?在設計表格時,我養成了一種習慣,就是有一列是唯一的,我做主鍵。實現這一目標的方式有三種,視需要而定:自動遞增的標識整數列。唯一標識符(GUID)一個短字符(X)或整數(或其他相對較小的數字類型)列,可用作行標識符列。數字3將用于相當小的查找,大多數是讀取表,這些表可能具有唯一的靜態長度字符串代碼,或數字值(如年份或其他數字)。在大多數情況下,所有其他表都將具有自動遞增整數或唯一標識符主鍵。問題:-)我最近已經開始使用沒有一致行標識符的數據庫,并且主鍵當前聚集在不同的列中。一些例子:日期時間/字符日期時間/整數日期時間/varcharChar/nvarchar/nvarchar這有正當理由嗎?我會一直為這些情況定義標識或唯一標識符列。此外,還有許多表根本沒有主鍵。這樣做的有效理由(如果有的話)是什么?我試著去理解為什么桌子是按原來的設計的,對我來說,這似乎是一堆亂七八糟的東西,但也許這是有充分理由的。第三個問題可以幫助我破譯答案:在使用多個列組成復合主鍵的情況下,這種方法相對于代理/人工密鑰有什么特殊的優勢嗎?我主要考慮的是性能、維護、管理等?
表中主鍵的最佳實踐是什么?
拉風的咖菲貓
2019-07-09 16:47:30