1. 系统管理模块

用户表 (user):

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `username` varchar(50) NOT NULL COMMENT '用户名',
  `password` varchar(50) NOT NULL COMMENT '密码',
  `email` varchar(50) NOT NULL COMMENT '邮箱',
  `role` enum('tourist', 'registered', 'admin') NOT NULL COMMENT '用户角色',
  `status` enum('normal', 'banned', 'deleted') NOT NULL DEFAULT 'normal' COMMENT '用户状态',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

个人信息表 (user_profile):

CREATE TABLE `user_profile` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户资料ID',
  `user_id` int(11) NOT NULL COMMENT '用户ID',
  `realname` varchar(50) DEFAULT NULL COMMENT '真实姓名',
  `gender` enum('male', 'female') DEFAULT NULL COMMENT '性别',
  `birthday` date DEFAULT NULL COMMENT '生日',
  `phone` varchar(20) DEFAULT NULL COMMENT '电话',
  `address` varchar(200) DEFAULT NULL COMMENT '地址',
  PRIMARY KEY (`id`),
  KEY `fk_user_id` (`user_id`),
  CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户资料表';

资源类别表 (resource_category):

CREATE TABLE `resource_category` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '资源类别ID',
  `name` varchar(50) NOT NULL COMMENT '资源类别名称',
  `description` varchar(200) DEFAULT NULL COMMENT '资源类别描述',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='资源类别表';

资源内容表 (resource):

CREATE TABLE `resource` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '资源ID',
  `user_id` int(11) NOT NULL COMMENT '发布用户ID',
  `category_id` int(11) NOT NULL COMMENT '资源类别ID',
  `title` varchar(200) NOT NULL COMMENT '资源标题',
  `description` varchar(1000) DEFAULT NULL COMMENT '资源描述',
  `content` text NOT NULL COMMENT '资源内容',
  `price` decimal(10, 2) DEFAULT NULL COMMENT '资源价格',
  `status` enum('pending', 'approved', 'rejected') NOT NULL DEFAULT 'pending' COMMENT '资源状态',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `fk_user_id` (`user_id`),
  KEY `fk_category_id` (`category_id`),
  CONSTRAINT `fk_category_id` FOREIGN KEY (`category_id`) REFERENCES `resource_category` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='资源内容表';

合同表 (contract):

CREATE TABLE `contract` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '合同ID',
  `user_id` int(11) NOT NULL COMMENT '用户ID',
  `resource_id` int(11) NOT NULL COMMENT '资源ID',
  `percentage` int(11) NOT NULL COMMENT '网站收费百分比',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `fk_user_id` (`user_id`),
  KEY `fk_resource_id` (`resource_id`),
  CONSTRAINT `fk_resource_id` FOREIGN KEY (`resource_id`) REFERENCES `resource` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='合同表';

消息公告表 (notification):

CREATE TABLE `notification` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '消息公告ID',
  `title` varchar(200) NOT NULL COMMENT '消息公告标题',
  `content` text NOT NULL COMMENT '消息公告内容',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息公告表';

活动表 (activity):

CREATE TABLE `activity` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '活动ID',
  `user_id` int(11) NOT NULL COMMENT '发布用户ID',
  `title` varchar(200) NOT NULL COMMENT '活动标题',
  `description` varchar(1000) DEFAULT NULL COMMENT '活动描述',
  `start_time` datetime NOT NULL COMMENT '开始时间',
  `end_time` datetime NOT NULL COMMENT '结束时间',
  `status` enum('draft', 'published', 'closed') NOT NULL DEFAULT 'draft' COMMENT '活动状态',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `fk_user_id` (`user_id`),
  CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='活动表';

论坛帖子表 (post):

CREATE TABLE `post` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '帖子ID',
  `user_id` int(11) NOT NULL COMMENT '发布用户ID',
  `title` varchar(200) NOT NULL COMMENT '帖子标题',
  `content` text NOT NULL COMMENT '帖子内容',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `fk_user_id` (`user_id`),
  CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='论坛帖子表';

论坛回帖表 (reply):

CREATE TABLE `reply` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '回帖ID',
  `post_id` int(11) NOT NULL COMMENT '帖子ID',
  `user_id` int(11) NOT NULL COMMENT '回帖用户ID',
  `content` text NOT NULL COMMENT '回帖内容',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `fk_post_id` (`post_id`),
  KEY `fk_user_id` (`user_id`),
  CONSTRAINT `fk_post_id` FOREIGN KEY (`post_id`) REFERENCES `post` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='论坛回帖表';

2. 用户模块

用户表 (user):

同系统管理模块的用户表。

个人信息表 (user_profile):

同系统管理模块的个人信息表。

资源类别表 (resource_category):

同系统管理模块的资源类别表。

资源内容表 (resource):

同系统管理模块的资源内容表。

合同表 (contract):

同系统管理模块的合同表。

活动表 (activity):

同系统管理模块的活动表。

论坛帖子表 (post):

同系统管理模块的论坛帖子表。

论坛回帖表 (reply):

同系统管理模块的论坛回帖表。

用户权限表 (user_permission):

CREATE TABLE `user_permission` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户权限ID',
  `user_id` int(11) NOT NULL COMMENT '用户ID',
  `permission` varchar(50) NOT NULL COMMENT '权限',
  PRIMARY KEY (`id`),
  KEY `fk_user_id` (`user_id`),
  CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户权限表';

购买记录表 (purchase_history):

CREATE TABLE `purchase_history` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '购买记录ID',
  `user_id` int(11) NOT NULL COMMENT '用户ID',
  `resource_id` int(11) NOT NULL COMMENT '资源ID',
  `price` decimal(10, 2) NOT NULL COMMENT '购买价格',
  `create_time` datetime NOT NULL COMMENT '购买时间',
  PRIMARY KEY (`id`),
  KEY `fk_user_id` (`user_id`),
  KEY `fk_resource_id` (`resource_id`),
  CONSTRAINT `fk_resource_id` FOREIGN KEY (`resource_id`) REFERENCES `resource` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='购买记录表';
MySQL 数据库设计:网站系统管理和用户模块功能实现

原文地址: https://www.cveoy.top/t/topic/mXUW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录