python - 個人博客數(shù)據(jù)庫設(shè)計(jì)的問題
問題描述
我需要設(shè)計(jì)一個個人博客,數(shù)據(jù)庫設(shè)計(jì)時遇到困難了。我要實(shí)現(xiàn)的功能是:普通用戶只能評論博客。管理員(就是我)可以登錄,發(fā)布博客,回復(fù)評論。
原本設(shè)計(jì)的是表有 User, Admin,Post, Comment。但是User和Comment是一對多,Admin和Comment也是一對多。這樣就亂掉了。
所以想把User表和Admin表合并成一個表,就叫User,但是管理員是需要有密碼字段的,而普通用戶不需要,管理員只有一個,普通用戶有很多,這樣設(shè)計(jì)就浪費(fèi)了一個字段。
請大家給我點(diǎn)建議吧,應(yīng)該如何設(shè)計(jì)User和Admin表。另外,我想學(xué)習(xí)一下數(shù)據(jù)庫設(shè)計(jì)。請大家推薦一下資料。因?yàn)槲铱吹胶芏鄶?shù)據(jù)庫操作的資料,但是數(shù)據(jù)庫如何設(shè)計(jì)的呢
問題解答
回答1:用戶、角色、功能、三張表分開就好了
用戶對應(yīng)角色、角色對應(yīng)功能、
角色現(xiàn)在就是普通用戶和管理員、那查的時候根據(jù)角色關(guān)聯(lián)一下就知道需不需要判斷密碼了
不同的功能也根據(jù)角色分配、在關(guān)聯(lián)表里面加
回答2:只是個人博客而已,User只需要記錄自己的登錄信息就好,普通用戶既然只能評論,那就不需要有登錄的功能,普通用戶的用戶名或者郵箱就記錄在comment里面就好啦,post跟comment是一對多的關(guān)系,就不需要涉及到跟用戶的關(guān)系啦
回答3:看你的描述,你糾結(jié)的一點(diǎn)是數(shù)據(jù)庫里會因?yàn)槠胀ㄓ脩舨恍枰猵assword而管理員需要password,而管理員只有你一個~~我個人想到的方式就是數(shù)據(jù)庫存儲和設(shè)計(jì)按照一樓“l(fā)iujijans”的方式,不過可以在庫里不用加上password,然后admin的這個password可以設(shè)置為動態(tài)的,比如一個你預(yù)先設(shè)置的前綴+當(dāng)天日期,這樣的密碼安全度還是有的,然后也比較好記,不需要在代碼里刻意的設(shè)置。關(guān)于權(quán)限系統(tǒng)、用戶中心還有實(shí)際的業(yè)務(wù)可以分開來設(shè)計(jì),解耦之后不但靈活,而且業(yè)務(wù)模塊化比較有架構(gòu)性,哈哈,裝逼范兒十足。
相關(guān)文章:
1. mysql - AttributeError: ’module’ object has no attribute ’MatchType’2. php自學(xué)從哪里開始?3. javascript - 百度echarts series數(shù)據(jù)更新問題4. MySQL客戶端吃掉了SQL注解?5. 求大神幫我看看是哪里寫錯了 感謝細(xì)心解答6. javascript - JS設(shè)置Video視頻對象的currentTime時出現(xiàn)了問題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...7. javascript - 圖片能在網(wǎng)站顯示,但控制臺仍舊報(bào)錯403 (Forbidden)8. python小白的基礎(chǔ)問題 關(guān)于while循環(huán)的嵌套9. phpstady在win10上運(yùn)行10. python - Django分頁和查詢參數(shù)的問題
