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. node.js - mongodb查找子對象的名稱為某個值的對象的方法2. docker 17.03 怎么配置 registry mirror ?3. docker 下面創建的IMAGE 他們的 ID 一樣?這個是怎么回事????4. 前端 - @media query 使用出現的問題?5. html5 - datatables 加載不出來數據。6. 運行python程序時出現“應用程序發生異常”的內存錯誤?7. 測試自動化html元素選擇器元素ID或DataAttribute [關閉]8. javascript - QQ第三方登錄的問題9. 利用IPMI遠程安裝centos報錯!10. spring-mvc - spring-session-redis HttpSessionListener失效

網公網安備