V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xoxo419
V2EX  ›  程序员

用户表的设计及用户类型

  •  
  •   xoxo419 · 2017-08-04 11:38:59 +08:00 · 3000 次点击
    这是一个创建于 2663 天前的主题,其中的信息可能已经有所发展或是发生改变。

    后台管理用户,普通用户,商户,其它用户

    假设目前有 4 种用户类型,以后还可以增加, 数据表如何设计更好些? [MySQL]

    一些简单设计

    方式一: 通过增加表字段 usertype 1 => 后台管理用户 2=> 普通用户 3=> 商户 以此类推增加

    方式二: 通过权限表分组的方式, 不同的用户归纳到对应的组中.

    方式三: 每种用户类型建立一张表

    还有其它更好的方式么?

    8 条回复    2017-08-04 13:37:49 +08:00
    kekeones
        1
    kekeones  
       2017-08-04 12:42:54 +08:00 via iPhone
    一张主表包含基础信息。不同用户类型,不同副表
    jarlyyn
        2
    jarlyyn  
       2017-08-04 12:44:42 +08:00
    后台用户为什么要和普通用户放在一起……

    普通用户为什么要和商户放在一起……

    明显都没什么共通点啊-____-
    rocksolid
        3
    rocksolid  
       2017-08-04 13:17:35 +08:00
    不是应该方式二么,都是用户只是权限不同?
    debye
        4
    debye  
       2017-08-04 13:18:15 +08:00
    @kekeones
    +1
    如果有部分共同的属性就先建立一个基础信息表,这样可以使用公共的登陆功能等
    然后其他不同的再分别建立不同的表
    xoxo419
        5
    xoxo419  
    OP
       2017-08-04 13:21:53 +08:00
    @jarlyyn #2 用户名 密码 这两点
    noNOno
        6
    noNOno  
       2017-08-04 13:26:31 +08:00
    分出事实表和维度表,用户类型放在维度表里
    jarlyyn
        7
    jarlyyn  
       2017-08-04 13:36:06 +08:00
    @xoxo419

    用户名和密码我都不放在用户表里的-______-

    用户又不一定只有一个用户名,前台用户也不一定用密码来访问的,可能是通过第三方登录。
    yulitian888
        8
    yulitian888  
       2017-08-04 13:37:49 +08:00
    单独的账户系统,负责登录,一张表,都放在一起也没什么问题
    在做相应的子系统,各有专属的表来分别存储用户,商户,其它的信息
    简单来说,认证、授权,分开实现
    这么说比较好理解了吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1220 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:24 · PVG 02:24 · LAX 10:24 · JFK 13:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.