请教各位大佬几个问题,不同用户类型,比如前台和后台用户、商家、供应商之类的,是每个用户单独一张表,还是公用一张用户表、只是用户表只存储认证相关字段、每个用户类型额外一张用户信息表?
谢谢!
我的话,这样设计表结构
用户表: id,username,email,type_id,isactive // type_id作为外键关联用户类型
示例:
1 张三 [email protected] 1
2 李四 [email protected] 2
3 王五 [email protected] 3
4 赵六 [email protected] 4
用户类型表:id,usertype
示例:
1 前台
2 后台
3 商家
4 供应商
将用户类型抽取出来,用户信息共用一张表
这个其实是sql设计的要符合的范式要求。
简单说说,
如果每个用户类型的用户设计一张表,现在4个类型,那就是4张表,只要增加一个用户类型,那么就要增加一张表,表中的大部分属性也就是字段是相同,想想也能明白这样做很不妥。
相反如果将用户类型从中抽取出来,做用户类型表,用户信息作为一张表,那么就不会有这样的麻烦。
增加一个用户类型,也只是在用户类型表中增加一条记录,用户信息表用外键关联即可