美文网首页
2020-01-06

2020-01-06

作者: donnie0918 | 来源:发表于2020-01-06 10:43 被阅读0次

    设计规范:

    1.字段尽量定义为 not null 这样建索引的时候,能够更加快速

    2.数据库字段统一小写,单词之间使用下划线分割

    原则:数据库里面就单纯的

    头子表:一般都是自关联的表

    子表:一般都绑定到头表上面关联头表

    中间表:一般多对多的时候,都是关联中间表

    Bean里面直接用集合关联-数据库查询的时候用中间表关联去查

    sys_dept(部门表):自关联的表,一般都会有个层级

    DROP TABLE IF EXISTS `sys_dept`;

    CREATE TABLE `sys_dept` (

      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '部门id',

      `name` varchar(20) NOT NULL DEFAULT '' COMMENT '部门名称',

      `parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '上级部门id',

      `level` varchar(200) NOT NULL DEFAULT '' COMMENT '部门层级',

      `seq` int(11) NOT NULL DEFAULT '0' COMMENT '部门在当前层级下的顺序,由小到大',

      `remark` varchar(200) DEFAULT '' COMMENT '备注',

      `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者',

      `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次操作时间',

      `operate_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后一次更新操作者的ip地址',

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4;

    sys_user(用户表)

    DROP TABLE IF EXISTS `sys_user`;

    CREATE TABLE `sys_user` (

      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',

      `username` varchar(20) NOT NULL DEFAULT '' COMMENT '用户名称',

      `telephone` varchar(13) NOT NULL DEFAULT '' COMMENT '手机号',

      `mail` varchar(20) NOT NULL DEFAULT '' COMMENT '邮箱',

      `password` varchar(40) NOT NULL DEFAULT '' COMMENT '加密后的密码',

      `dept_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户所在部门的id',

      `status` int(11) NOT NULL DEFAULT '1' COMMENT '状态,1:正常,0:冻结状态,2:删除',

      `remark` varchar(200) DEFAULT '' COMMENT '备注',

      `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者',

      `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次更新时间',

      `operate_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后一次更新者的ip地址',

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;

    sys_acl_module(权限模块表):上下级的关系-第几级,状态,操作记录

    DROP TABLE IF EXISTS `sys_acl_module`;

    CREATE TABLE `sys_acl_module` (

      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '权限模块id',

      `name` varchar(20) NOT NULL DEFAULT '' COMMENT '权限模块名称',

      `parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '上级权限模块id',

      `level` varchar(200) NOT NULL DEFAULT '' COMMENT '权限模块层级',

      `seq` int(11) NOT NULL DEFAULT '0' COMMENT '权限模块在当前层级下的顺序,由小到大',

      `status` int(11) NOT NULL DEFAULT '1' COMMENT '状态,1:正常,0:冻结',

      `remark` varchar(200) DEFAULT '' COMMENT '备注',

      `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者',

      `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次操作时间',

      `operate_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后一次更新操作者的ip地址',

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;

    sys_acl(权限表)

    DROP TABLE IF EXISTS `sys_acl`;

    CREATE TABLE `sys_acl` (

      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '权限id',

      `code` varchar(20) NOT NULL DEFAULT '' COMMENT '权限码',

      `name` varchar(20) NOT NULL DEFAULT '' COMMENT '权限名称',

      `acl_module_id` int(11) NOT NULL DEFAULT '0' COMMENT '权限所在的权限模块id',

      `url` varchar(100) NOT NULL DEFAULT '' COMMENT '请求的url, 可以填正则表达式',

      `type` int(11) NOT NULL DEFAULT '3' COMMENT '类型,1:菜单,2:按钮,3:其他',

      `status` int(11) NOT NULL DEFAULT '1' COMMENT '状态,1:正常,0:冻结',

      `seq` int(11) NOT NULL DEFAULT '0' COMMENT '权限在当前模块下的顺序,由小到大',

      `remark` varchar(200) DEFAULT '' COMMENT '备注',

      `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者',

      `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次更新时间',

      `operate_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后一个更新者的ip地址',

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4;

    sys_role(角色表)

    DROP TABLE IF EXISTS `sys_role`;

    CREATE TABLE `sys_role` (

      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '角色id',

      `name` varchar(20) NOT NULL,

      `type` int(11) NOT NULL DEFAULT '1' COMMENT '角色的类型,1:管理员角色,2:其他',

      `status` int(11) NOT NULL DEFAULT '1' COMMENT '状态,1:可用,0:冻结',

      `remark` varchar(200) DEFAULT '' COMMENT '备注',

      `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者',

      `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次更新的时间',

      `operate_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后一次更新者的ip地址',

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;

    sys_role_user(角色用户表)

    DROP TABLE IF EXISTS `sys_role_user`;

    CREATE TABLE `sys_role_user` (

      `id` int(11) NOT NULL AUTO_INCREMENT,

      `role_id` int(11) NOT NULL COMMENT '角色id',

      `user_id` int(11) NOT NULL COMMENT '用户id',

      `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者',

      `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次更新的时间',

      `operate_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后一次更新者的ip地址',

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4;

    sys_role_acl(角色权限表)

    DROP TABLE IF EXISTS `sys_role_acl`;

    CREATE TABLE `sys_role_acl` (

      `id` int(11) NOT NULL AUTO_INCREMENT,

      `role_id` int(11) NOT NULL COMMENT '角色id',

      `acl_id` int(11) NOT NULL COMMENT '权限id',

      `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者',

      `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次更新的时间',

      `operate_ip` varchar(200) NOT NULL DEFAULT '' COMMENT '最后一次更新者的ip',

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4;

    sys_log(日志表)

    DROP TABLE IF EXISTS `sys_log`;

    CREATE TABLE `sys_log` (

      `id` int(11) NOT NULL AUTO_INCREMENT,

      `type` int(11) NOT NULL DEFAULT '0' COMMENT '权限更新的类型,1:部门,2:用户,3:权限模块,4:权限,5:角色,6:角色用户关系,7:角色权限关系',

      `target_id` int(11) NOT NULL COMMENT '基于type后指定的对象id,比如用户、权限、角色等表的主键',

      `old_value` text COMMENT '旧值',

      `new_value` text COMMENT '新值',

      `operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者',

      `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次更新的时间',

      `operate_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最后一次更新者的ip地址',

      `status` int(11) NOT NULL DEFAULT '0' COMMENT '当前是否复原过,0:没有,1:复原过',

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4;

    相关文章

      网友评论

          本文标题:2020-01-06

          本文链接:https://www.haomeiwen.com/subject/zwwhactx.html