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爬蟲如何爬取span和span中間的內容并分別存入字典里?2. mysql - 把一個表中的數據count更新到另一個表里?3. 請教使用PDO連接MSSQL數據庫插入是亂碼問題?4. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處5. visual-studio - Python OpenCV: 奇怪的自動補全問題6. 視頻文件不能播放,怎么辦?7. mysql 查詢身份證號字段值有效的數據8. linux - Ubuntu下編譯Vim8(+python)無數次編譯失敗9. node.js - nodejs開發中常用的連接mysql的庫10. python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題
