2016-08-18 50 views
0

我有一個應用程序,我只用他們的電子郵件和密碼註冊用戶。然後,他們填寫他們的個人資料,其中包括他們的個人信息,如數字,地址,他們在一週內的工作時間等。如何最好地規範人事數據庫,給出的表格選項

我很困惑現在是否將所有數據存儲在同一張表中或有以下幾點:

users(認證),persons(用於配置文件),address(爲庵,地址),numbers(你得到的要點)。

我想知道DBA對此的意見。您將如何爲500人的用戶羣設計這個數據庫,給予或承擔。如果我將所有的字段(現在大約30個字段)保存在同一張表中,是否會遇到問題?

+2

在設計中考慮實體關係隱喻可能很明智。一個*用戶*有一個或多個*號碼*,無論他們是什麼? *用戶*可以有多個*地址*嗎?當關系是除1:1之外的任何東西時,則需要單獨的實體:單獨的表。 –

+1

這裏的用戶數量無關緊要 - 您應該正確設計數據庫。規範化你的設計,不要把所有東西都塞進一張表中。 –

回答

1

將現場使用的數據與發票數據分開是一個好主意。

當用戶登錄後顯示主頁時,通常需要顯示用戶名和頭像。此外,您還可以使用電子郵件和其他帳戶信息登錄。這可能是您希望隨時保持方便的一些內容。然後將它移動到一個表中。

地址(發票,送貨等)和電話號碼通常單獨存儲,因爲您只需要下訂單時就可以存儲這些地址。

經驗法則:保持列數在30以下,儘可能少地閱讀表格。當然,你應該正確設計(從不混合實體等),但是這個規則是一個簡單的檢查,你不會創造一些可怕的東西。