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. 求大神帮我看看是哪里写错了 感谢细心解答2. javascript - JS设置Video视频对象的currentTime时出现了问题,IE,Edge,火狐,都可以设置,反而chrom却...3. css3 - [CSS] 动画效果 3D翻转bug4. php自学从哪里开始?5. javascript - 数组原声方法中的一段代码6. html - eclipse 标签错误7. 数据库 - MySQL 单表500W+数据,查询超时,如何优化呢?8. 网页爬虫 - python爬虫翻页问题,请问各位大神我这段代码怎样翻页,还有价格要登陆后才能看到,应该怎么解决9. phpstady在win10上运行10. python - from ..xxxx import xxxx到底是什么意思呢?
