【用户管理】(一):业务澄清,数据库设计

用户管理(一):业务澄清,数据库设计

以前写过一次用户管理的项目,但那次时间催的紧又是第一次写用户权限管理,很多东西都没设计好。自我感觉一塌糊涂,所以想重新写一下,顺便记录一下。

业务澄清

  1. 登录:创建token,生成会话并返回。
  2. 登出:注销会话。
  3. 用户管理:用户的增删改查,锁定解锁,批量导入导出,分配角色。
  4. 角色管理:角色的增删改查以及给角色分配权限。
  5. 菜单权限管理:菜单的增删改查,导入。
    一个比较简单的用户管理,不加入部门之类的考虑,就大概是这些需求了。

数据库设计

根据上面的业务需求来看,我们需要的表已经很清晰了。
用户表,角色表,菜单权限表。主要是这三个表,但有一点需要注意的是,这三张表之间的关系都是多对多。所以我们还需要两张中间表:用户-角色关系表,角色-菜单关系表。
表结构设计如下:

  1. 用户表
字段名字段类型约束备注
user_idbigint(20)not null, auto_increment用户ID
user_namevarchar(30)not nul用户账号
nick_namevarchar(30)not null用户昵称
emailvarchar(50)default ‘’用户邮箱
phone_numbervarchar(11)default ‘’手机号码
sexchar(1)default ‘0’用户性别(0男 1女 2未知)
avatarlongblobnull头像
passwordvarchar(100)default ‘’密码
saltvarchar(256)default ‘’盐值
statuschar(1)default ‘0’帐号状态(0正常 1停用)
del_flagchar(1)default ‘0’删除标志(0代表存在 1代表删除)
login_ipvarchar(128)default ‘’最后登录IP
login_datedatetimenull最后登录时间
create_byvarchar(64)default ‘’创建者
create_timedatetime创建时间
update_byvarchar(64)default ‘’更新者
update_timedatetime更新时间
remarkvarchar(500)default ‘’备注
  1. 角色表
字段名字段类型约束备注
role_idbigint(20)not null, auto_increment角色ID
role_namevarchar(30)not null角色名称
role_keyvarchar(100)not null角色权限字符串
role_sortint(4)not null显示顺序
menu_check_strictlytinyint(1)default 1菜单树选择项是否关联显示(0是1否)
del_flagchar(1)default ‘0’删除标志(0代表存在 1代表删除)
create_byvarchar(64)default ‘’创建者
create_timedatetime创建时间
update_byvarchar(64)default ‘’更新者
update_timedatetime更新时间
remarkvarchar(500)default ‘’备注
  1. 菜单权限表
字段名字段类型约束备注
menu_idbigint(20)not null, auto_increment菜单ID
menu_namevarchar(50)not null菜单名称
parent_idbigint(20)default 0父菜单ID
order_numint(4)default 0显示顺序
pathvarchar(200)default ‘’路由地址
componentvarchar(256)null组件路径
queryvarchar(256)null路由参数
menu_typechar(1)default ‘’菜单类型(M目录 C菜单 F按钮)
visiblechar(1)default ‘0’菜单状态(0显示 1隐藏)
statuschar(1)default ‘0’菜单状态(0正常 1停用)
permsvarchar(100)null权限标识
iconvarchar(100)default ‘#’菜单图标
create_byvarchar(64)default ‘’创建者
create_timedatetime创建时间
update_byvarchar(64)default ‘’更新者
update_timedatetime更新时间
remarkvarchar(500)default ‘’备注
  1. 用户角色关联表
字段名字段类型约束备注
user_idbigint(20)not null用户ID
role_idbigint(20)not null角色ID
  1. 角色菜单关联表
字段名字段类型约束备注
role_idbigint(20)not null角色ID
menu_idbigint(20)not null菜单ID

ps:数据库设计参考了若依

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值