存储用户的注册信息、登录凭证和基本资料。
CREATE TABLE users (
user_id INT PRIMARY KEY AUTO_INCREMENT, -- 用户唯一标识
username VARCHAR(50) NOT NULL, -- 用户名
password VARCHAR(255) NOT NULL, -- 密码(加密存储)
email VARCHAR(100) NOT NULL, -- 用户邮箱
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 注册时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 更新日期
is_verified BOOLEAN DEFAULT FALSE, -- 邮箱是否已验证
profile_picture_url VARCHAR(255), -- 头像URL
bio TEXT -- 用户简介
);
存储用户上传的作品信息。
CREATE TABLE artworks (
artwork_id INT PRIMARY KEY AUTO_INCREMENT, -- 作品唯一标识
user_id INT NOT NULL, -- 外键,关联用户表
title VARCHAR(255) NOT NULL, -- 作品标题
description TEXT, -- 作品描述
tags VARCHAR(255), -- 标签
file_url VARCHAR(255) NOT NULL, -- 作品文件URL
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 上传时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 更新时间
FOREIGN KEY (user_id) REFERENCES users(user_id) -- 关联用户表
);
存储社区中的帖子信息。
CREATE TABLE posts (
post_id INT PRIMARY KEY AUTO_INCREMENT, -- 帖子唯一标识
user_id INT NOT NULL, -- 外键,关联用户表
title VARCHAR(255) 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 users(user_id) -- 关联用户表
);
存储用户在社区中对帖子进行的评论。
CREATE TABLE comments (
comment_id INT PRIMARY KEY AUTO_INCREMENT, -- 评论唯一标识
post_id INT NOT NULL, -- 外键,关联帖子表
user_id INT NOT NULL, -- 外键,关联用户表
content TEXT NOT NULL, -- 评论内容
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 评论时间
FOREIGN KEY (post_id) REFERENCES posts(post_id), -- 关联帖子表
FOREIGN KEY (user_id) REFERENCES users(user_id) -- 关联用户表
);
存储用户对帖子进行的点赞。
CREATE TABLE post_likes (
like_id INT PRIMARY KEY AUTO_INCREMENT, -- 点赞唯一标识
post_id INT NOT NULL, -- 外键,关联帖子表
user_id INT NOT NULL, -- 外键,关联用户表
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 点赞时间
FOREIGN KEY (post_id) REFERENCES posts(post_id), -- 关联帖子表
FOREIGN KEY (user_id) REFERENCES users(user_id) -- 关联用户表
);
存储用户对作品进行的评论。
CREATE TABLE artwork_comments (
comment_id INT PRIMARY KEY AUTO_INCREMENT, -- 评论唯一标识
artwork_id INT NOT NULL, -- 外键,关联作品表
user_id INT NOT NULL, -- 外键,关联用户表
content TEXT NOT NULL, -- 评论内容
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 评论时间
FOREIGN KEY (artwork_id) REFERENCES artworks(artwork_id), -- 关联作品表
FOREIGN KEY (user_id) REFERENCES users(user_id) -- 关联用户表
);
存储用户对作品进行的点赞。
CREATE TABLE artwork_likes (
like_id INT PRIMARY KEY AUTO_INCREMENT, -- 点赞唯一标识
artwork_id INT NOT NULL, -- 外键,关联作品表
user_id INT NOT NULL, -- 外键,关联用户表
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 点赞时间
FOREIGN KEY (artwork_id) REFERENCES artworks(artwork_id), -- 关联作品表
FOREIGN KEY (user_id) REFERENCES users(user_id) -- 关联用户表
);
存储AI生成的绘画建议。
CREATE TABLE ai_suggestions (
suggestion_id INT PRIMARY KEY AUTO_INCREMENT, -- 建议唯一标识
artwork_id INT NOT NULL, -- 外键,关联作品表
user_id INT NOT NULL, -- 外键,关联用户表
suggestion TEXT NOT NULL, -- AI生成的建议内容
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 建议生成时间
FOREIGN KEY (artwork_id) REFERENCES artworks(artwork_id), -- 关联作品表
FOREIGN KEY (user_id) REFERENCES users(user_id) -- 关联用户表
);
存储AI生成的绘画参考图像。
CREATE TABLE ai_references (
reference_id INT PRIMARY KEY AUTO_INCREMENT, -- 参考唯一标识
user_id INT NOT NULL, -- 外键,关联用户表
theme VARCHAR(255), -- 绘制的主题或风格
image_url VARCHAR(255) NOT NULL, -- 参考图像URL
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 参考生成时间
FOREIGN KEY (user_id) REFERENCES users(user_id) -- 关联用户表
);
存储用户邮箱验证的临时数据。
CREATE TABLE email_verifications (
verification_id INT PRIMARY KEY AUTO_INCREMENT, -- 验证记录唯一标识
user_id INT NOT NULL, -- 外键,关联用户表
verification_token VARCHAR(255) NOT NULL, -- 验证码或token
expiration TIMESTAMP NOT NULL, -- 过期时间
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 记录创建时间
FOREIGN KEY (user_id) REFERENCES users(user_id) -- 关联用户表
);
记录用户的行为日志(如登录、发帖、点赞等)。
CREATE TABLE user_activity_logs (
log_id INT PRIMARY KEY AUTO_INCREMENT, -- 日志唯一标识
user_id INT NOT NULL, -- 外键,关联用户表
action VARCHAR(255) NOT NULL, -- 用户行为(例如登录、发帖、点赞等)
action_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 行为发生时间
FOREIGN KEY (user_id) REFERENCES users(user_id) -- 关联用户表
);