2013-05-27 42 views
0

我做了一個應用程序,我有一個服務器端的sql數據庫來存儲所有用戶的用戶設置。我不知道如何讓每個用戶都是唯一的,以便數據庫知道誰是誰。 數據庫正在存儲每行的這些用戶數據:id,電子郵件,縣,年齡和性別。 所以我想最好的方法是使用戶唯一的他/她的電子郵件 - 這是唯一的 - 以便更新或輸出設置時,SQL知道要獲取的行。如何將所有用戶設置存儲在一個唯一的ID數據庫中

我應該如何處理這個問題? 然後我將如何輸出正確的數據給正確的用戶?

回答

1

數據庫中的實體應該有一個主鍵。我明白,在你的設計中,id字段將成爲主鍵。通常這是一個自動生成的整數。這稱爲surrogate key在這種情況下,您需要告訴表格該電子郵件字段也必須是唯一的。您可以通過爲該字段創建唯一索引來完成此操作。唯一索引將阻止使用同一電子郵件創建兩個不同的用戶。採用這種方法,您可以查詢表格,檢查idemail

另一種方法是有natural key。在這種情況下,電子郵件將是您的表的主鍵,所以您不會有id字段。採用這種方法,您可以查詢表格,檢查是否爲每個用戶的唯一標識符email

+0

感謝您的意見nakosspy。 我無法弄清楚應用程序將如何知道要查詢哪些電子郵件? –

+0

你會選擇哪種設計,使用代理或自然鑰匙? – nakosspy

+0

好吧,現在我的數據庫就像代理人一樣建立起來 - 所以我認爲這是一個:) –

相關問題