-- 系统管理模块 CREATE TABLE user ( user_id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL UNIQUE, role ENUM('guest', 'registered', 'admin') NOT NULL DEFAULT 'guest', status ENUM('active', 'blocked', 'deleted') NOT NULL DEFAULT 'active', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB;

CREATE TABLE user_profile ( profile_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL UNIQUE, full_name VARCHAR(100), address VARCHAR(200), phone VARCHAR(20), avatar VARCHAR(200), bio TEXT, FOREIGN KEY (user_id) REFERENCES user(user_id) ) ENGINE=InnoDB;

CREATE TABLE resource_category ( category_id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL UNIQUE, description TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB;

CREATE TABLE resource ( resource_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, category_id INT NOT NULL, title VARCHAR(200) NOT NULL, description TEXT, file_path VARCHAR(200) NOT NULL, price DECIMAL(10, 2) NOT NULL DEFAULT 0, status ENUM('pending', 'approved', 'rejected') NOT NULL DEFAULT 'pending', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES user(user_id), FOREIGN KEY (category_id) REFERENCES resource_category(category_id) ) ENGINE=InnoDB;

CREATE TABLE contract ( contract_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, resource_id INT NOT NULL, share DECIMAL(5, 2) NOT NULL DEFAULT 0, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES user(user_id), FOREIGN KEY (resource_id) REFERENCES resource(resource_id) ) ENGINE=InnoDB;

CREATE TABLE payment ( payment_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, resource_id INT NOT NULL, amount DECIMAL(10, 2) NOT NULL, status ENUM('pending', 'paid', 'cancelled') NOT NULL DEFAULT 'pending', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES user(user_id), FOREIGN KEY (resource_id) REFERENCES resource(resource_id) ) ENGINE=InnoDB;

CREATE TABLE recommendation ( recommendation_id INT PRIMARY KEY AUTO_INCREMENT, resource_id INT NOT NULL, clicks INT NOT NULL DEFAULT 0, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (resource_id) REFERENCES resource(resource_id) ) ENGINE=InnoDB;

CREATE TABLE announcement ( announcement_id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(200) NOT NULL, content TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB;

CREATE TABLE message ( message_id INT PRIMARY KEY AUTO_INCREMENT, sender_id INT NOT NULL, receiver_id INT NOT NULL, subject VARCHAR(200) NOT NULL, content TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (sender_id) REFERENCES user(user_id), FOREIGN KEY (receiver_id) REFERENCES user(user_id) ) ENGINE=InnoDB;

CREATE TABLE activity ( activity_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, title VARCHAR(200) NOT NULL, description TEXT NOT NULL, start_time DATETIME NOT NULL, end_time DATETIME NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES user(user_id) ) ENGINE=InnoDB;

CREATE TABLE forum_topic ( topic_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, title VARCHAR(200) NOT NULL, description TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES user(user_id) ) ENGINE=InnoDB;

CREATE TABLE forum_post ( post_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, topic_id INT NOT NULL, content TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES user(user_id), FOREIGN KEY (topic_id) REFERENCES forum_topic(topic_id) ) ENGINE=InnoDB;

-- 用户模块 CREATE TABLE poll ( poll_id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(200) NOT NULL, description TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB;

CREATE TABLE poll_option ( option_id INT PRIMARY KEY AUTO_INCREMENT, poll_id INT NOT NULL, name VARCHAR(50) NOT NULL, votes INT NOT NULL DEFAULT 0, FOREIGN KEY (poll_id) REFERENCES poll(poll_id) ) ENGINE=InnoDB;

CREATE TABLE forum_comment ( comment_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, post_id INT NOT NULL, content TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES user(user_id), FOREIGN KEY (post_id) REFERENCES forum_post(post_id) ) ENGINE=InnoDB;

使用mysql设计以下功能生成sql表不需要外键备注字段含义和表的业务意义:1 系统管理模块用户注册、登录包括游客、注册用户和管理员三大类;个人信息查看、修改密码的修改;密码找回:系统根据注册用户提供的资料向注册用户的邮箱发送密码找回邮件;用户管理:管理员可对用户权限进行管理可以封禁或删除用户;资源类别管理:管理员可以增加、修改和删除资源类别;资源内容管理:审核注册用户发布的资源内容;合同管理:注

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

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