前台多用户类型该如何设计数据库呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
MIUIOS
V2EX    MySQL

前台多用户类型该如何设计数据库呢?

  •  1
     
  •   MIUIOS 2020-10-15 11:09:06 +08:00 3985 次点击
    这是一个创建于 1872 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前前台用户共有 3 个角色类型,以下我们统称为普通会员,高级会员,超级会员
    他们共有几个相同的字段:账号,手机号,性别等等,但其中一些角色拥有自己特定的属性
    所以我现在想要不要分表设计,统一用 user 表存全部用户,包括他们的角色类型,然后在建两个高级会员和超级会员的信息表去做其他属性保存
    求做过的大佬给个好点的设计方案

    wangritian
        1
    wangritian  
       2020-10-15 11:17:09 +08:00
    你的方案没问题,如果高级 /超级会员的附加属性没有搜索需求,也可以丢 user 表的一个 json 字段
    MIUIOS
        2
    MIUIOS  
    OP
       2020-10-15 11:26:04 +08:00
    @wangritian 有附加搜索需求的, 我想的是在建一个用户类型表,user 包含类型 Id 然后查询的时候连表带上需要的字段 但感觉有点繁琐
    hytex
        3
    hytex  
       2020-10-15 11:29:01 +08:00
    是否还要考虑会员失效,其他表也要对应删除的情况呢。特定属性如果不多的话,我个人比较喜欢放在一张表里
    teddy2725
        4
    teddy2725  
       2020-10-15 11:30:34 +08:00
    把 user 和 profile 分开,普通会员 高级会员 和超级会员用 role 区分
    MIUIOS
        5
    MIUIOS  
    OP
       2020-10-15 11:31:54 +08:00
    @hytex 对 我想到的就是这个 如果放其他表 那用户被删掉的时候 其他表也要做相应操作 不过目前是实现的是软删除 所以应该不会涉及到其他表
    1010011010
        6
    1010011010  
       2020-10-15 11:42:59 +08:00
    多个 1 对 1 我是分多个子表,子表主键不自增用主表主键,主表做状态标识
    vate32
        7
    vate32  
       2020-10-15 12:18:02 +08:00
    经典五张表:用户表,角色表,权限表,用户与角色关联表,角色与权限关联表
    MIUIOS
        8
    MIUIOS  
    OP
       2020-10-15 12:23:21 +08:00
    @vate32 这里不是权限的问题 而是用户类型包含的属性的问题
    armoni
        9
    armoni  
       2020-10-15 12:45:34 +08:00
    都做到一张表里,根据不同的权限提取不同的字段
    dk7952638
        10
    dk7952638  
       2020-10-15 13:52:24 +08:00
    如果只是多几个字段不要分表,如果区别很大再考虑
    如无必要,勿增实体
    libracloud
        11
    libracloud  
       2020-10-15 13:57:34 +08:00
    我是直接一个表,附加信息用 json 保存的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     831 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 22:07 PVG 06:07 LAX 14:07 JFK 17:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86