您的位置:首页技术文章
文章详情页

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

【字号: 日期:2022-06-27 16:02:42浏览:26作者:猪猪

问题描述

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

原本设计的是表有 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可以设置为动态的,比如一个你预先设置的前缀+当天日期,这样的密码安全度还是有的,然后也比较好记,不需要在代码里刻意的设置。关于权限系统、用户中心还有实际的业务可以分开来设计,解耦之后不但灵活,而且业务模块化比较有架构性,哈哈,装逼范儿十足。

标签: Python 编程
相关文章: