python - 個人博客數據庫設計的問題
問題描述
我需要設計一個個人博客,數據庫設計時遇到困難了。我要實現的功能是:普通用戶只能評論博客。管理員(就是我)可以登錄,發布博客,回復評論。
原本設計的是表有 User, Admin,Post, Comment。但是User和Comment是一對多,Admin和Comment也是一對多。這樣就亂掉了。
所以想把User表和Admin表合并成一個表,就叫User,但是管理員是需要有密碼字段的,而普通用戶不需要,管理員只有一個,普通用戶有很多,這樣設計就浪費了一個字段。
請大家給我點建議吧,應該如何設計User和Admin表。另外,我想學習一下數據庫設計。請大家推薦一下資料。因為我看到很多數據庫操作的資料,但是數據庫如何設計的呢
問題解答
回答1:用戶、角色、功能、三張表分開就好了
用戶對應角色、角色對應功能、
角色現在就是普通用戶和管理員、那查的時候根據角色關聯一下就知道需不需要判斷密碼了
不同的功能也根據角色分配、在關聯表里面加
回答2:只是個人博客而已,User只需要記錄自己的登錄信息就好,普通用戶既然只能評論,那就不需要有登錄的功能,普通用戶的用戶名或者郵箱就記錄在comment里面就好啦,post跟comment是一對多的關系,就不需要涉及到跟用戶的關系啦
回答3:看你的描述,你糾結的一點是數據庫里會因為普通用戶不需要password而管理員需要password,而管理員只有你一個~~我個人想到的方式就是數據庫存儲和設計按照一樓“liujijans”的方式,不過可以在庫里不用加上password,然后admin的這個password可以設置為動態的,比如一個你預先設置的前綴+當天日期,這樣的密碼安全度還是有的,然后也比較好記,不需要在代碼里刻意的設置。關于權限系統、用戶中心還有實際的業務可以分開來設計,解耦之后不但靈活,而且業務模塊化比較有架構性,哈哈,裝逼范兒十足。
相關文章:
1. python - beautifulsoup獲取網頁內容的問題2. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題3. docker鏡像push報錯4. docker - 如何修改運行中容器的配置5. docker-machine添加一個已有的docker主機問題6. Android "1"=="1" 到底是true還是false7. fragment - android webView 返回后怎么禁止重新渲染?8. angular.js - 在終端中用yeoman啟用angular-generator報錯,求解?9. java - 請問在main方法中寫成對象名.屬性()并賦值,與直接參參數賦值輸錯誤是什么原因?10. docker不顯示端口映射呢?
