思考我的下一個網絡應用程序的數據庫設計,並考慮爲用戶帳戶信息(如用戶名,密碼等)和個人信息(如姓名,地址等)分開表格,這是個好主意,或者這兩者真的無關緊要?我應該將帳戶與數據庫中的個人信息分開嗎?
1
A
回答
0
我會建議將數據保存在一張表中。
- 您可能經常需要加入具有1-1關係的兩個表,有利於PERF的問題
- 我不明白爲什麼拆分表會比保持所有數據在一個較好的任何安全理由。
1
它可能是一個好主意,如果你要實現數據庫加密。例如,如果您要加密用戶信息表中的密碼列,但您的數據庫僅支持全表加密,則可以將要加密的數據拆分爲單獨的表以最大限度地降低開銷。 (我並不主張數據庫加密本身,你也應該看看應用程序管理的encrpytion取決於你的需要。)
0
我能想到的唯一的好理由是如果你打算有共享相同地址的多個用戶。
但是,我認爲避免數據重複的好處被使用單個表的性能和簡單性好處所抵消。兩個用戶擁有相同的地址可能很少見。
1
這真的沒有關係,除非應用程序的體系結構挑起這樣的要求。通常,在現在應用於大多數Web應用程序的MVC中,表格的結構應反映出模型的設置方式。這就是說,數據的組織方式應反映模型(對象)之間的關係。如果每個用戶只有一個用戶名,密碼等,抽象用戶的所有信息都應該放在一個表中。除非你跑到類似@pelazem描述的位置,但我並不是全數據庫加密的忠實粉絲。
相關問題
- 1. 我應該將root帳戶留在mysql數據庫的用戶表中嗎?
- 2. 我應該分開數據庫中的冗餘數據嗎?
- 3. 我應該在遷移中更新數據庫信息嗎?
- 4. 用戶的帳戶信息和個人資料信息
- 5. 我應該存儲關於數據庫中的數字記錄的信息嗎?
- 6. 我應該將Firebase與我的數據庫一起使用嗎?
- 7. Google帳戶信息與oauth
- 8. 應該將asp.net會話狀態存儲在與應用程序數據分開的數據庫中嗎?
- 9. 我應該從我的用戶混淆數據庫ID嗎?
- 10. 我應該爲不同的查詢類型分開SQL帳戶嗎?
- 11. 我應該分開我的桌子嗎?
- 12. 將用戶表與關係數據庫中的人員表分開
- 13. 我可以使用一個開發人員帳戶與多個admob帳戶?
- 14. 網頁API 2個人帳戶:與現有數據庫
- 15. 我應該如何將統計信息保存到數據庫中
- 16. 我應該將我的網站的ASP.NET身份數據庫與我的網站的「其他數據」數據庫分開嗎?
- 17. 我應該如何顯示動態數據庫信息?
- 18. 我應該將版本控制(git)與項目分開嗎?
- 19. 我應該在其數據庫中存儲其他實體的用戶特定信息嗎?
- 20. 多個應用程序與一個Apple開發人員帳戶
- 21. 我應該將此數據庫數據合併到一個表中嗎?
- 22. 使用Mongo進行建模時,我應該將用戶帳戶分爲獨立的集合還是數據庫?
- 23. 我應該將文件信息存儲在基於php的文件管理器的數據庫中嗎?
- 24. 我有個人iOS開發人員帳戶,可以爲我的客戶發佈移動應用程序嗎?
- 25. 我應該使用消息而不是數據庫嗎
- 26. 分享蘋果個人開發者。與團隊成員帳戶
- 27. 將密碼和信息存儲在數據庫中時用戶名應該散列嗎?
- 28. 我應該將圖片網址保存在數據庫中嗎?
- 29. 我應該將掩碼值保存在數據庫中嗎?
- 30. 我應該將位圖存儲在SQLITE數據庫中嗎
嗯......這裏好點,如果用戶有多個地址?家庭,工作,或者也許是度假屋,學校等 – pelazem
這確實是一個很好的理由使用單獨的表 – wadesworld
每個用戶多個地址是*添加表*來存儲每個用戶多個地址的好理由。但共享一個地址的多個用戶不需要多個表。多個用戶都不會分享一個姓氏。 –