请教各位大佬几个问题,不同用户类型,比如前台和后台用户、商家、供应商之类的,是每个用户单独一张表,还是公用一张用户表、只是用户表只存储认证相关字段、每个用户类型额外一张用户信息表?谢谢!
我的话,这样设计表结构
用户表: 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张表,只要增加一个用户类型,那么就要增加一张表,表中的大部分属性也就是字段是相同,想想也能明白这样做很不妥。相反如果将用户类型从中抽取出来,做用户类型表,用户信息作为一张表,那么就不会有这样的麻烦。增加一个用户类型,也只是在用户类型表中增加一条记录,用户信息表用外键关联即可
2.1m questions
2.1m answers
60 comments
57.0k users