Tables(数据库表结构)

数据库表结构

数据库表

1. 用户表(Users)

字段名

数据类型

是否为空

主键

外键

默认值

说明

Id

BIGINT UNSIGNED

自增

Username

VARCHAR(255)

用户名,只能设置一次

Nickname

TEXT

用户昵称

Avatar

VARCHAR(255)

用户头像

Email

VARCHAR(255)

用户邮箱

PasswordHash

VARCHAR(255)

用户密码的哈希值,使用sha256加密,结果为16进制

Role

VARCHAR(20)

'user'

用户角色(admin/user)

CreatedAt

DATETIME

当前时间

创建时间

Status

INT

0

0:未认证,1:已认证,2:封禁


2. 帖子表(Posts)

字段名

数据类型

是否为空

主键

外键

默认值

说明

Id

BIGINT UNSIGNED

自增

UserId

BIGINT UNSIGNED

外键(Users)

发帖用户 ID

Title

TEXT

帖子标题

Content

TEXT

帖子内容

CreatedAt

DATETIME

当前时间

创建时间

Status

INT

0

0:正常,1:结束


3. 评论表(Comments)

字段名

数据类型

是否为空

主键

外键

默认值

说明

Id

BIGINT UNSIGNED

自增

PostId

BIGINT UNSIGNED

外键(Posts)

所属帖子 ID

UserId

BIGINT UNSIGNED

外键(Users)

评论用户 ID

Content

TEXT

评论内容

CreatedAt

DATETIME

当前时间

创建时间


4. 点赞表(Likes)

字段名

数据类型

是否为空

主键

外键

默认值

说明

Id

BIGINT UNSIGNED

自增

UserId

BIGINT UNSIGNED

外键(Users)

点赞用户 ID

PostId

BIGINT UNSIGNED

外键(Posts)

点赞的帖子 ID

CommentId

BIGINT UNSIGNED

外键(Comments)

点赞的评论 ID

CreatedAt

DATETIME

当前时间

点赞时间

备注

  • 对于 PostIdCommentId,只有一个字段能有值,用于区分是给帖子点赞还是评论点赞。


5. 图片表(Images)

字段名

数据类型

是否为空

主键

外键

默认值

说明

Id

BIGINT UNSIGNED

自增

PostId

BIGINT UNSIGNED

外键(Posts)

所属帖子 ID

Url

TEXT

图片的存储路径

CreatedAt

DATETIME

当前时间

创建时间


6. 分类表(Categories)

字段名

数据类型

是否为空

主键

外键

默认值

说明

Id

BIGINT UNSIGNED

自增

分类唯一标识

Name

VARCHAR(50)

分类名称

Description

VARCHAR(255)

分类描述


7. 帖子分类关联表(PostCategories)

字段名

数据类型

是否为空

主键

外键

默认值

说明

PostId

BIGINT UNSIGNED

外键(Posts)

帖子 ID

CategoryId

BIGINT UNSIGNED

外键(Categories)

分类 ID


8. 收藏表(Favorites)

字段名

数据类型

是否为空

主键

外键

默认值

说明

Id

BIGINT UNSIGNED

自增

UserId

BIGINT UNSIGNED

外键(Users)

收藏用户 ID

PostId

BIGINT UNSIGNED

外键(Posts)

收藏的帖子 ID

CreatedAt

DATETIME

当前时间

收藏时间

9.消息表(Messages)

字段名

数据类型

是否为空

主键

外键

默认值

说明

Id

BIGINT UNSIGNED

自增

SenderId

BIGINT UNSIGNED

外键(Users)

发送者id

ReceiverId

BIGINT UNSIGNED

外键(Users)

接收者id

Content

TEXT

消息内容

CreatedAt

DATETIME

当前时间

发送时间


外键约束

  • Likes.UserIdUsers.Id

  • Likes.PostIdPosts.Id

  • Likes.CommentIdComments.Id

  • Posts.UserIdUsers.Id

  • Comments.PostIdPosts.Id

  • Comments.UserIdUsers.Id

  • Images.PostIdPosts.Id

  • PostCategories.PostIdPosts.Id

  • PostCategories.CategoryIdCategories.Id

  • Favorites.UserIdUsers.Id

  • Favorites.PostIdPosts.Id

  • Messages.SenderIdUsers.Id

  • Messages.ReceiveIdUsers.Id

Last updated