V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
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 · Oct 15, 2020 · 4274 views
    This topic created in 2022 days ago, the information mentioned may be changed or developed.

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

    wangritian
        1
    wangritian  
       Oct 15, 2020
    你的方案没问题,如果高级 /超级会员的附加属性没有搜索需求,也可以丢 user 表的一个 json 字段
    MIUIOS
        2
    MIUIOS  
    OP
       Oct 15, 2020
    @wangritian 有附加搜索需求的, 我想的是在建一个用户类型表,user 包含类型 Id 然后查询的时候连表带上需要的字段 但感觉有点繁琐
    hytex
        3
    hytex  
       Oct 15, 2020
    是否还要考虑会员失效,其他表也要对应删除的情况呢。特定属性如果不多的话,我个人比较喜欢放在一张表里
    teddy2725
        4
    teddy2725  
       Oct 15, 2020
    把 user 和 profile 分开,普通会员 高级会员 和超级会员用 role 区分
    MIUIOS
        5
    MIUIOS  
    OP
       Oct 15, 2020
    @hytex 对 我想到的就是这个 如果放其他表 那用户被删掉的时候 其他表也要做相应操作 不过目前是实现的是软删除 所以应该不会涉及到其他表
    1010011010
        6
    1010011010  
       Oct 15, 2020
    多个 1 对 1 我是分多个子表,子表主键不自增用主表主键,主表做状态标识
    vate32
        7
    vate32  
       Oct 15, 2020
    经典五张表:用户表,角色表,权限表,用户与角色关联表,角色与权限关联表
    MIUIOS
        8
    MIUIOS  
    OP
       Oct 15, 2020
    @vate32 这里不是权限的问题 而是用户类型包含的属性的问题
    armoni
        9
    armoni  
       Oct 15, 2020
    都做到一张表里,根据不同的权限提取不同的字段
    dk7952638
        10
    dk7952638  
       Oct 15, 2020
    如果只是多几个字段不要分表,如果区别很大再考虑
    如无必要,勿增实体
    libracloud
        11
    libracloud  
       Oct 15, 2020
    我是直接一个表,附加信息用 json 保存的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3182 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 13:39 · PVG 21:39 · LAX 06:39 · JFK 09:39
    ♥ Do have faith in what you're doing.