日志 - 数据库设计中后台管理用户和app前台用户是否应设计在一张表里

查看:1138
本文介绍了日志 - 数据库设计中后台管理用户和app前台用户是否应设计在一张表里的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

o2o项目中,有以下几种用户类型,前端app用户,后台商户用户,管理员web管理端用户。
首先,分为3个表肯定是不合理。
是否应把app端和web管理端分开建表,譬如,table_admin_users,table_app_users(table_app_users里包含商户user和用户user),
如何分开,那么操作日志,势必要分开,否则必须要规定web用户和app用户不能重复,要不然log表的user用户就不能做到唯一性。

如果不分开,用2张日志表,那么看起来十分的别扭和违反数据库的设计规范。

请教高玩遇到这种情况一般如何设计?

解决方案

这两种场景都是可以的

  • 只有一个user表,使用role,perm表区分用户权限和角色,这个大部分网站都是这样,
    这样只需要制作一套登录逻辑,一个cookie、session的用户认证,然后用权限就可以控制用户的行为

  • 分开设计,后台,前台用户区分成多个表,对于需要记录日志的,无需分开,比如结构为:

    id
    from_table   来源表
    from_id      来源ID
    event
    created_at

但是log表非常大,建议使用 MySQL - 分区表 以增加操作效率

腾讯等公司,都是用的一个账号体系,就是QQ

这篇关于日志 - 数据库设计中后台管理用户和app前台用户是否应设计在一张表里的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆