首页  >  问答  >  正文

python - 个人博客数据库设计的问题

我需要设计一个个人博客,数据库设计时遇到困难了。
我要实现的功能是:普通用户只能评论博客。管理员(就是我)可以登录,发布博客,回复评论。

原本设计的是表有 User, Admin,Post, Comment。
但是User和Comment是一对多,Admin和Comment也是一对多。这样就乱掉了。

所以想把User表和Admin表合并成一个表,就叫User,但是管理员是需要有密码字段的,而普通用户不需要,管理员只有一个,普通用户有很多,这样设计就浪费了一个字段。

请大家给我点建议吧,应该如何设计User和Admin表。
另外,我想学习一下数据库设计。请大家推荐一下资料。因为我看到很多数据库操作的资料,但是数据库如何设计的呢

typechotypecho2694 天前836

全部回复(3)我来回复

  • 迷茫

    迷茫2017-06-28 09:25:13

    用户、角色、功能、三张表分开就好了

    用户对应角色、角色对应功能、

    角色现在就是普通用户和管理员、那查的时候根据角色关联一下就知道需不需要判断密码了

    不同的功能也根据角色分配、在关联表里面加

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-28 09:25:13

    只是个人博客而已,User只需要记录自己的登录信息就好,普通用户既然只能评论,那就不需要有登录的功能,普通用户的用户名或者邮箱就记录在comment里面就好啦,post跟comment是一对多的关系,就不需要涉及到跟用户的关系啦

    回复
    0
  • 天蓬老师

    天蓬老师2017-06-28 09:25:13

    看你的描述,你纠结的一点是数据库里会因为普通用户不需要password而管理员需要password,而管理员只有你一个~~我个人想到的方式就是数据库存储和设计按照一楼“liujijans”的方式,不过可以在库里不用加上password,然后admin的这个password可以设置为动态的,比如一个你预先设置的前缀+当天日期,这样的密码安全度还是有的,然后也比较好记,不需要在代码里刻意的设置。关于权限系统、用户中心还有实际的业务可以分开来设计,解耦之后不但灵活,而且业务模块化比较有架构性,哈哈,装逼范儿十足。

    回复
    0
  • 取消回复