2010-01-11 69 views
3

我想問一個小問題,但我真的不知道這個問題的答案是什麼。爲什麼我們使用表中的ID列如果我們有一個唯一的值

我有有

用戶名一筆賬表|密碼

的用戶名是主鍵,所以它的獨特

因此是否有必要把一個ID列的表?如果是的話,那有什麼好處?

感謝

+3

它被稱爲代理鍵。例如,它將您從用戶名變更中隔離出來,其中用戶名被引用爲外鍵。 – 2010-01-11 03:58:06

回答

2

通過數字鍵搜索速度稍快(從一個DB的不同而不同)。另外,如果您有很多對用戶表的引用,那麼通過將數字ID作爲外鍵來保存一些數據庫空間,而不是字符串名稱。

+0

我沒有任何其他相關表,所以沒有主 - 外關係。 我正在使用MYSQL – trrrrrrm 2010-01-11 03:58:48

+0

沒有?你甚至不記錄這些用戶的操作? – cgp 2010-01-11 04:03:02

2

它會使其他事情變得更容易,主要是來自其他表的外鍵關係。而且它允許您根據需要更改用戶名 - 主鍵不易更改。

+0

但我的項目不允許用戶更改其用戶名 – trrrrrrm 2010-01-11 04:01:03

+0

@ From.Me.to.YOU:請確保在一個足夠大的項目中,您可能需要在某個時間點更改某人的用戶名。示例:如果用戶名是從他們的真實姓名生成的,並且輸入了錯誤名稱。 – 2010-01-11 04:03:35

+0

或者當人們結婚時。 – 2010-01-11 06:29:18

0
  • Faster在指標
  • 消耗更少的磁盤空間(並再次更快)的外鍵
  • ,在使用時,提到了很多次,你可以更改用戶名,而無需修改的主機其他表格。
相關問題