用户 权限 mysql 设计_关于用户信息的权限控制的数据库设计问题 曾经终败给现在 2022-11-01 15:00 174阅读 0赞 ![89267b21b7ff2676320e38b76ac270b1.png][] 就像博客园的个人设置一样,对每个用户信息字段都有,任何人,朋友,自己三个权限,那么这样的数据库该怎么设计呢? 我个人想到的方案有两种: 1.每个属性是一个单独的表 user(id, nikename); --用户信息主表 permission(id, level); --权限表 name(id,user\_id,permission\_id); --用户名名称属性表 address(id,user\_id,permission\_id); --用户地址属性表 .....这样一次类推,每个属性是一张单独的表. 这样设计的好处是逻辑控制比较好做,但坏处是没加载一次用户信息都要把所有的属性表查询一次,这样至少也要查询10多张表,肯定不行. 2.以属性名为标识,控制权限 user(id, nikename,name,address,.......); --用户信息主表 permission(id, infoname,permission); --权限表 数据示例: 1, name, public 2, address, private 这样的设计方便的表的查询,但不好的地方在于不符合数据库设计规范,如果主表中的name,address名称改变,将会导致权限表对应不到 本人已经想不到还有什么好的的办法可以解决这个问题了,请各位大虾指点一二. [89267b21b7ff2676320e38b76ac270b1.png]: /images/20221024/834c2693c08648cf9becf7975b1da9e9.png
还没有评论,来说两句吧...