2012-03-20 59 views
0

昨天我遇到了關於sql表格設計的採訪問題。 問題是如果表中包含firstName,lastName,Gender等字段(只有這些字段不再有),我們可以選擇哪一個作爲主鍵?sql表格設計

任何暗示將不勝感激 謝謝

+5

嗯...沒有?看到任何這些fieds可以複製.... – 2012-03-20 12:10:58

+2

正確的答案是肯定沒有這些 – YXD 2012-03-20 12:11:06

回答

1

一個PRIMARY KEY必須是唯一的。所以你必須從不會重複的數據構造它。

3

它們在表中都不是唯一的,所以你需要創建一個額外的主鍵字段來自動增加,以保證它們在兩行中永遠不會相同。聽起來像他們得到了你一個技巧問題:)

0

所以主鍵是一個獨特的&非空值。

如果表中包含firstName,lastName,Gender等字段(只有這些字段不再有),我們可以選擇哪一個字段作爲主鍵。

你不能使用上面的列作爲主鍵。

0

這裏是我的2美分(這些規則適用於所有的新表,對於初學者架構設計師)

  • 主鍵不應該是化合物(即,它應該只包含1列)
  • 主鍵列中不應包含任何有意義的數據(它應該是生成並自動分配給新記錄的數字)
  • 主鍵的值不應該改變,並且不應爲空
  • 除主鍵外,應該有另一個獨特的ke y,可能是一個複合鍵,使用有意義的數據字段,以確保您沒有重複的記錄(例如,名字,姓氏,出生日期)
0

您可以用另一個領域,會給你一個主鍵(不是非常值得推薦一個場組合,但可以讓這個字段加一個時間戳字段合併後的主鍵)... ..

+0

我給了同樣的答案,但他非常奇怪地看着我:-) – user964147 2012-03-20 13:27:34