› 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 · 4771 views
    This topic created in 2171 days ago, the information mentioned may be changed or developed.

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

    WaldenHorizon
        1
    WaldenHorizon  
       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   ·   Privacy   ·   Solana   ·   2470 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 03:53 · PVG 11:53 · LAX 20:53 · JFK 23:53
    ♥ Do have faith in what you're doing.