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

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

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