這是我正在爲基於投票的網站(overpowered.info)工作的數據庫設計。 http://i57.tinypic.com/2v9925s.png我對用戶和安全性之間的交互感興趣。我需要這個數據庫在3NF,這是我第一次通過規範化過程規範數據庫。起初,我有用戶內的安全問題和安全問題。但是,答案與問題和用戶相關。如果我在USER實體中有USER_ANSWER和QUESTION_ID,並且一起擺脫安全性,它是否還在3NF?我知道對用戶來說安全性是1比1,應該避免這種情況,但我現在最終還是不確定。數據庫設計這是3NF的必需嗎?
2
A
回答
0
是的,它仍然在3NF。事實上,它將解決設計缺陷與安全問題,其中您無法區分回答同一問題的不同用戶的答案。
0
它不能在3nf。首先,答案在功能上取決於question_id,它不是用戶密鑰的任何部分。這裏有一個建議:
我假設問題表包含用戶從選擇的股票的問題清單,然後提供答案的一個選擇。所以安全實現用戶和問題之間的一對多關係。 User_ID字段既是FK到用戶表和PK,所以沒有用戶可以被列出多次。對於每個用戶,還會列出相關問題以及該用戶對該問題的答案。
通知我也感動密碼場到一個單獨的表(用哈希種子一起 - 你是僅存儲最終散列不是密碼的文字,對吧?)。將此視爲「安全範式」(SNF),其中敏感數據(可能包括賬號,SSN等)放置在單獨的表格中。那麼訪問這些表格就會受到嚴格的限制。如果用戶表本身遭到黑客攻擊,敏感數據(包括問題和答案)將不會受到影響。不,在任何有關正常化的教程中都不會找到SNF,但我已經使用了它多年,並且它提高了安全性。限制訪問整個表比表中的特定字段容易得多。
相關問題
- 1. 關聯數據庫設計中的3NF
- 2. 此數據庫設計是否滿足2NF或3NF?
- 3. 這個數據庫設計好嗎?
- 4. 3NF數據庫表
- 5. 這是不好的數據庫設計?
- 6. 這是一個高效的MySQL數據庫設計嗎?
- 7. 這是數據庫設計的不好方法嗎?
- 8. 這是一個很好的數據庫設計實踐嗎?
- 9. 這是一個很好的數據庫設計嗎?
- 10. 核心數據總是必需的嗎?
- 11. 這是多租戶數據庫設計好嗎
- 12. 數據庫表這是在3NF或4NF但不在DKNF
- 13. 這是5NF的設計嗎?
- 14. 這是正確的數據庫設計嗎?爲什麼我不是
- 15. 這個數據庫設計是典型的還是有利的
- 16. 所需的數據庫設計建議
- 17. 我的數據庫設計夠好嗎?
- 18. 新的PostgreSQL數據庫需要5.44 MB。這是正常的嗎?
- 19. 數據庫設計 - 我需要兩個數據庫字段之一嗎?
- 20. 數據庫字段中的XMLSerialized對象。這是好的設計嗎?
- 21. C++ Unicode加密庫必需(是嗎?)
- 22. 3NF中的數據庫關係?
- 23. 關係數據庫中的BCNF/3NF
- 24. 這是一種常見的數據庫設計/ OO Mapping技術嗎?
- 25. 這是我在mongodb的數據庫嗎?
- 26. FuelPHP ORM可以處理這個數據庫設計嗎?
- 27. 圖形數據庫模式設計 - 這適合neo4j嗎?
- 28. 這個設計對數據庫有效嗎?
- 29. 這個數據庫轉儲設計好嗎?
- 30. 我可以採用這種數據庫設計嗎?