2、博客数据库编写 [木字楠博客]

2022-11-15 17:03:56 浏览数 (1)

文章目录
  • 1、系统部分数据库
    • 1.1、登陆日志表
    • 1.2、操作日志表
    • 1.3、网站配制表
  • 2、权限安全部分数据库
    • 2.1、角色表
    • 2.2、菜单表
    • 2.3、菜单角色关联表
    • 2.4、用户权限表
    • 2.5、用户信息表
  • 3、博客部分数据库
    • 3.1、 文章表
    • 3.2、标签表
    • 3.3、文章标签关联表
    • 3.4、分类表
    • 3.5、文章浏览关联表

1、系统部分数据库

1.1、登陆日志表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = login_log   */
/******************************************/
CREATE TABLE `login_log` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `username` varchar(64) NOT NULL DEFAULT '' COMMENT '用户名',
  `ip_address` varchar(64) NOT NULL DEFAULT '' COMMENT 'ip地址',
  `ip_source` varchar(64) NOT NULL DEFAULT '' COMMENT 'ip来源地址',
  `brower` varchar(32) NOT NULL DEFAULT '' COMMENT '浏览器',
  `os` varchar(32) NOT NULL DEFAULT '' COMMENT '操作系统',
  `login_status` tinyint NOT NULL DEFAULT '0' COMMENT '登陆状态(0->失败 1->成功)',
  `response_message` varchar(32) NOT NULL DEFAULT '' COMMENT '响应数据',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=97 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='登陆日志表'
;

1.2、操作日志表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = operate_log   */
/******************************************/
CREATE TABLE `operate_log` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `operate_url` varchar(128) NOT NULL DEFAULT '' COMMENT '操作url',
  `operate_moudle` varchar(30) NOT NULL DEFAULT '' COMMENT '操作模块',
  `operate_type` tinyint NOT NULL DEFAULT '-1' COMMENT '操作类型',
  `operate_method` varchar(256) NOT NULL DEFAULT '' COMMENT '操作方法全路径',
  `operate_description` varchar(256) NOT NULL COMMENT '操作方法描述',
  `request_type` varchar(30) NOT NULL DEFAULT '' COMMENT '请求类型',
  `request_params` longtext COMMENT '请求参数',
  `response_data` longtext COMMENT '响应数据',
  `user_id` varchar(64) NOT NULL DEFAULT '' COMMENT '用户id',
  `username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户昵称',
  `operate_ip_address` varchar(64) NOT NULL DEFAULT '' COMMENT '操作ip地址',
  `operate_ip_source` varchar(64) NOT NULL DEFAULT '' COMMENT '操作ip来源位置',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='操作日志表';

1.3、网站配制表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = website_config   */
/******************************************/
CREATE TABLE `website_config` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `website_config` text NOT NULL COMMENT '网站配制信息',
  `website_moudle` varchar(50) NOT NULL COMMENT '网站配制模块',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '网站配制创建时间',
  `gmt_update` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '网站配制更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='网站配制表'
;

2、权限安全部分数据库

2.1、角色表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = role   */
/******************************************/
CREATE TABLE `role` (
  `id` varchar(64) NOT NULL COMMENT '角色主键id',
  `role_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色名称',
  `role_label` varchar(32) NOT NULL COMMENT '角色标识',
  `role_secret` varchar(32) DEFAULT NULL COMMENT '角色秘钥',
  `order_num` int DEFAULT '1',
  `is_disabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否禁用 (0 正常  1禁用)',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色表信息'
;

2.2、菜单表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = menu   */
/******************************************/
CREATE TABLE `menu` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单主键id',
  `name` varchar(32) DEFAULT NULL COMMENT '菜单名称',
  `path` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '#' COMMENT '菜单路由',
  `component` varchar(64) NOT NULL DEFAULT '#' COMMENT '菜单组件',
  `icon` varchar(32) NOT NULL DEFAULT '#' COMMENT '菜单图标',
  `menu_type` varchar(1) DEFAULT NULL COMMENT '菜单类型(菜单 M   目录 C  按钮 B)',
  `perm` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '#',
  `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '父菜单id',
  `order_num` int DEFAULT NULL COMMENT '菜单排序',
  `is_hidden` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否隐藏(0 不隐藏   1 隐藏)',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除 (0 正常  1 删除)',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '菜单更新时间',
  `remark` varchar(100) DEFAULT NULL COMMENT '注释信息',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单表'
;

2.3、菜单角色关联表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = role_menu   */
/******************************************/
CREATE TABLE `role_menu` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '关联主键id',
  `role_id` varchar(64) NOT NULL COMMENT '角色id',
  `menu_id` bigint NOT NULL COMMENT '菜单id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=262 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色菜单关联表'
;

2.4、用户权限表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = user_auth   */
/******************************************/
CREATE TABLE `user_auth` (
  `id` varchar(64) NOT NULL COMMENT '用户主键',
  `username` varchar(128) NOT NULL COMMENT '用户名/OpenId',
  `password` varchar(64) DEFAULT NULL COMMENT '用户密码',
  `user_info_id` bigint NOT NULL COMMENT '用户信息id',
  `user_role_id` varchar(64) NOT NULL COMMENT '用户角色id',
  `login_type` tinyint(1) DEFAULT NULL COMMENT '用户登录方式(1 用户名  2 邮箱  3 QQ  4 微信)',
  `email_login` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否开启邮箱登录(0 否  1是)',
  `is_disabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否禁用(0 正常  1禁用)',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除(0 正常  1 禁用)',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户权限表'
;

2.5、用户信息表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = user_info   */
/******************************************/
CREATE TABLE `user_info` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户信息主键',
  `nickname` varchar(32) NOT NULL COMMENT '用户名',
  `avatar` varchar(1024) DEFAULT NULL COMMENT '用户头像',
  `gender` tinyint(1) NOT NULL DEFAULT '-1' COMMENT '用户性别(-1 未知  0 仙女  1帅哥)',
  `email` varchar(64) DEFAULT NULL COMMENT '用户邮箱',
  `person_intro` varchar(500) DEFAULT NULL COMMENT '用户个人简介',
  `ip_address` varchar(64) DEFAULT NULL COMMENT 'ip地址',
  `ip_source` varchar(64) DEFAULT NULL COMMENT 'ip来源地',
  `gmt_create` datetime DEFAULT NULL COMMENT '用户创建时间',
  `gmt_update` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '用户信息更新时间',
  `last_login_time` datetime DEFAULT NULL COMMENT '用户最近一次登录时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户信息表'
;

3、博客部分数据库

3.1、 文章表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = article   */
/******************************************/
CREATE TABLE `article` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '文章主键',
  `article_title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文章标题',
  `article_cover` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文章首图',
  `article_intro` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文章简介',
  `article_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文章内容',
  `category_id` bigint NOT NULL DEFAULT '-1' COMMENT '文章分类',
  `article_status` tinyint NOT NULL DEFAULT '1' COMMENT '文章状态(1 草稿  2 发布  3 私密 4 评论可见  5付费文章)',
  `article_type` tinyint NOT NULL DEFAULT '1' COMMENT '文章类型(1 原创  2 转载  3 翻译)',
  `original_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '原文链接',
  `is_pass` tinyint NOT NULL DEFAULT '0' COMMENT '是否通过审核(-1 未通过 0 待审核 1已通过)',
  `is_top` tinyint NOT NULL COMMENT '文章是否置顶(0 否    1 是)',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除(0 正常 1删除)',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='文章表'
;

3.2、标签表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = tag   */
/******************************************/
CREATE TABLE `tag` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '标签主键',
  `tag_name` varchar(32) NOT NULL DEFAULT '' COMMENT '标签名称',
  `tag_intro` varchar(128) NOT NULL DEFAULT '' COMMENT '标签简介',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='标签表'
;

3.3、文章标签关联表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = article_tag   */
/******************************************/
CREATE TABLE `article_tag` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '关联表id',
  `article_id` bigint NOT NULL COMMENT '文章id',
  `tag_id` bigint NOT NULL COMMENT '标签id',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3 COMMENT='文章标签关联表'
;

3.4、分类表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = category   */
/******************************************/
CREATE TABLE `category` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '分类主键',
  `category_name` varchar(32) NOT NULL DEFAULT '' COMMENT '分类名称',
  `category_intro` varchar(128) NOT NULL DEFAULT '' COMMENT '分类简介',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='分类表'
;

3.5、文章浏览关联表

代码语言:javascript复制
/******************************************/
/*   DatabaseName = blog   */
/*   TableName = article_view   */
/******************************************/
CREATE TABLE `article_view` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `article_id` bigint NOT NULL DEFAULT '-1' COMMENT '文章id',
  `view_count` bigint NOT NULL DEFAULT '0' COMMENT '浏览量',
  `rank_count` bigint NOT NULL DEFAULT '0' COMMENT '点赞量',
  `comment_count` bigint NOT NULL DEFAULT '0' COMMENT '评论数量',
  `collect_count` bigint NOT NULL DEFAULT '0' COMMENT '收藏量',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3 COMMENT='文章浏览数据表'
;

0 人点赞