# 一、执行模块 ## 表设计 ### 1. 用户表(users) - 存储用户的注册信息、登录凭证和基本资料。 ```sql 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 -- 用户简介 ); ``` ### 2. 作品表(artworks) - 存储用户上传的作品信息。 ```sql 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) -- 关联用户表 ); ``` ### 3. 社区帖子表(posts) - 存储社区中的帖子信息。 ```sql 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) -- 关联用户表 ); ``` ### 4. 帖子评论表(comments) - 存储用户在社区中对帖子进行的评论。 ```sql 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) -- 关联用户表 ); ``` ### 5. 帖子点赞表(post_likes) - 存储用户对帖子进行的点赞。 ```sql 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) -- 关联用户表 ); ``` ### 6. 作品评论表(artwork_comments) - 存储用户对作品进行的评论。 ```sql 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) -- 关联用户表 ); ``` ### 7. 作品点赞表(artwork_likes) - 存储用户对作品进行的点赞。 ```sql 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) -- 关联用户表 ); ``` ### 8. AI 绘画建议表(ai_suggestions) - 存储AI生成的绘画建议。 ```sql 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) -- 关联用户表 ); ``` ### 9. AI 绘画参考表(ai_references) - 存储AI生成的绘画参考图像。 ```sql 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) -- 关联用户表 ); ``` ### 10. 用户邮件验证表(email_verifications) - 存储用户邮箱验证的临时数据。 ```sql 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) -- 关联用户表 ); ``` ### 11. 用户活动日志表(user_activity_logs) - 记录用户的行为日志(如登录、发帖、点赞等)。 ```sql 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) -- 关联用户表 ); ```