第九次冲刺(4.27)
第九天冲刺任务目标与规划
任务目标:
- 设计后端数据库表。
遇到的问题:
- 无。
1. 设计后端数据库表
1.1 分析数据需求
首先,确定应用所需的数据和关系。根据之前的开发内容,可能需要以下几张主要的表:
- 用户表(Users)
- 个人主页表(Profiles)
- 帖子表(Posts)
- 评论表(Comments)
1.2 数据库表设计
用户表 (Users)
CREATE TABLE Users (
user_id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
个人主页表 (Profiles)
CREATE TABLE Profiles (
profile_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
avatar_url VARCHAR(255),
bio TEXT,
FOREIGN KEY (user_id) REFERENCES Users(user_id) ON DELETE CASCADE
);
帖子表 (Posts)
CREATE TABLE Posts (
post_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES Users(user_id) ON DELETE CASCADE
);
评论表 (Comments)
CREATE TABLE Comments (
comment_id INT PRIMARY KEY AUTO_INCREMENT,
post_id INT,
user_id INT,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (post_id) REFERENCES Posts(post_id) ON DELETE CASCADE,
FOREIGN KEY (user_id) REFERENCES Users(user_id) ON DELETE CASCADE
);
2. 创建数据库并导入表
2.1 连接到数据库
使用MySQL或PostgreSQL等数据库管理工具连接到你的数据库实例。
2.2 创建数据库
CREATE DATABASE my_application;
USE my_application;
2.3 导入表结构
将上述SQL脚本运行在数据库管理工具中,创建所需的表。
3. 测试数据库表设计
3.1 插入测试数据
在各个表中插入一些测试数据,确保表结构和关系正常工作。
INSERT INTO Users (username, email, password_hash) VALUES ('testuser', 'test@example.com', 'hashedpassword');
INSERT INTO Profiles (user_id, avatar_url, bio) VALUES (1, 'https://example.com/avatar.jpg', 'This is a bio');
INSERT INTO Posts (user_id, content) VALUES (1, 'This is a test post');
INSERT INTO Comments (post_id, user_id, content) VALUES (1, 1, 'This is a test comment');
3.2 验证数据
使用SELECT语句验证数据插入是否正确。
SELECT * FROM Users;
SELECT * FROM Profiles;
SELECT * FROM Posts;
SELECT * FROM Comments;