第九次冲刺(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;

 

posted @ 2024-06-19 18:55  痛苦代码源  阅读(2)  评论(0编辑  收藏  举报