[英]An Unique Constrained ID for a Good Login System Database Design?
當我看到許多登錄系統的數據庫都安排了一系列約束ID的字段時,這使我想到了登錄系統數據庫設計的問題,這是必須的。
問題是,假設有一個注冊系統,當用戶注冊一個帳戶時,該account name
已經是唯一的,因為系統會警告您輸入不可用的account name
,因為它們會在數據庫中重復出現。 那么,對於每個成功的寄存器,我們都需要約束ID的安排嗎? 即使允許重復的account name
,我們也不能只使用用戶的ID card no.
作為獨特的領域?
或假設沒有注冊系統,管理員分配帳戶,我們仍然可以使用其ID card no.
作為獨特的領域。
並非會有搜索效率或組織良好的數據結構。 我們不是通過安排來記錄身份,而是唯一的字段。 如果已經存在另一個“唯一”字段,那么也將存在冗余。
到目前為止,我的登錄系統要求使用MemberID
和Password
進行登錄, MemberID
是系統分配的受約束的ID安排,這讓我認為應該讓用戶創建其完整的account name
或ID card no.
並刪除MemberID
。
我是否誤解了它們的用法? 還是有原因嗎? 好的數據設計是否需要這樣受約束的唯一ID?
通常,我們為方便用戶而提供帳戶或用戶名。 對於他們來說,記住帳戶“ JohnSmith”要容易得多,而不是記住一組數字。 通常,我們向用戶隱藏諸如代理鍵值之類的詳細信息-他們完全不需要知道這些信息。 面對現實,我們的工作是使用戶的生活更輕松。 如果那使我們的工作更加困難(通常確實如此),那就這樣吧。 我們在這里是為了他們的利益,而不是相反。
因此,為了您的用戶的方便,請務必提供受約束的文本標識符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.