From bfdef592fd325991e064acc3996b5f5cc341c288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E8=A1=97=E9=95=BF=E5=AE=89?= Date: Sun, 12 Oct 2025 19:51:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ER图.drawio | 68 +++++++++++++---- 数据字典.md | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 267 insertions(+), 16 deletions(-) create mode 100644 数据字典.md diff --git a/ER图.drawio b/ER图.drawio index 04fdb2d..5ca828b 100644 --- a/ER图.drawio +++ b/ER图.drawio @@ -1,6 +1,6 @@ - + @@ -539,9 +539,6 @@ - - - @@ -566,12 +563,6 @@ - - - - - - @@ -639,7 +630,7 @@ - + @@ -1031,18 +1022,63 @@ - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/数据字典.md b/数据字典.md new file mode 100644 index 0000000..8fa2f74 --- /dev/null +++ b/数据字典.md @@ -0,0 +1,215 @@ +# 数据字典 + +### 表名:Users + +#### 表说明:储存用户个人信息 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ----------- | ----------- | -------- | -------- | ------- | --------- | ------------------------------------------------ | --------- | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| Username | VARCHAR(50) | 是 | / | / | 唯一 | 唯一用户名 | admin | +| Password | VARCHAR(50) | 是 | / | / | / | 用户密码 | 123456 | +| OlineStatus | TINYINT | 是 | 0 | / | / | 用户在线状态
0(默认):不在线
1:在线 | 0 | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 账户创建时间 | 2025/9/29 | +| Updated | DATETIME | 否 | / | / | / | 账户修改时间 | 2024/9/29 | +| Status | TINYINT | 是 | 1 | / | / | 账户状态
(0:未激活,1:正常,2:封禁) | 1 | +| IsDeleted | TINYINT | 是 | 0 | / | / | 软删除标识
0:账号正常
1:账号已删除 | 0 | + +### 表名:Friends + +#### 表说明:好友关系映射 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| -------- | -------- | -------- | -------- | ---------------- | --------- | ------------------------------------------------------------ | --------- | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| UserId | INT | 是 | / | 外键(Users.Id) | 索引 | 用户ID | 1 | +| FriendId | INT | 是 | / | 外键(Users.Id) | 索引 | 用户2ID | 2 | +| Status | TINYINT | 是 | 0 | / | / | 当前好友关系状态
(0:待通过,1:已添加,2:已拒绝,3:已拉黑) | 0 | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 好友关系创建时间 | 2025/9/29 | + +### 表名:Groups + +#### 表说明:群聊 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ---------------- | ------------- | -------- | -------- | ---------------- | --------- | ------------------------------------------------------------ | ------------------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| Name | VARCHAT(20) | 是 | / | / | / | 群聊名称 | 测试群聊1 | +| GroupMaster | INT | 是 | / | 外键(Users.Id) | 索引 | 群主 | 1 | +| Auhority | TINYINT | 是 | 0 | / | / | 群权限
(0:需管理员同意,1:任意人可加群,2:不允许任何人加入) | 0 | +| AllMembersBanned | TINYINT | 是 | 0 | / | / | 全员禁言(0允许发言,2全员禁言) | 0 | +| Status | TINYINT | 是 | 1 | / | / | 群聊状态
(1:正常,2:封禁) | 1 | +| Announcement | TEXT | 否 | null | / | / | 群公告 | 这是一条测试群公告 | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 群聊创建时间 | 2025/9/29 | + +### 表名:GroupMember + +#### 表说明:群成员 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ------- | -------- | -------- | -------- | --------------- | --------- | -------------------------------------- | -------- | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| UserId | INT | 是 | / | 外键(Users.Id) | 索引 | 用户编号 | 1 | +| GroupId | INT | 是 | / | 外键(Groups.Id) | 索引 | 群聊编号 | 1 | +| Role | TINYINT | 是 | 0 | / | / | 成员角色(0:普通成员,1:管理员,2:群主) | 1 | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 加入群聊时间 | 1970/1/1 | + +### 表名:GroupInvite + +#### 表说明:群聊邀请 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ----------- | -------- | -------- | -------- | --------------- | --------- | ------------------------------------------------ | -------- | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| GroupId | INT | 是 | / | 外键(Groups.Id) | 索引 | 群聊编号 | 1 | +| InvitedUser | INT | 是 | / | 外键(Users.Id) | 索引 | 被邀请用户 | 1 | +| InviteUser | INT | 是 | / | 外键(Users.Id) | 索引 | 邀请用户 | 1 | +| State | TINYINT | 是 | 0 | / | / | 当前状态(0:待被邀请人同意
1:被邀请人已同意) | 1 | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | 1970/1/1 | + +### 表名:GroupRequest + +#### 表说明:群聊入群申请 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ----------- | -------- | -------- | --------------- | --------------- | --------- | --------------------------------------------- | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| GroupId | INT | 是 | / | 外键(Groups.Id) | 索引 | 群聊编号 | 1 | +| UserId | INT | 是 | / | 外键(Users.Id) | 索引 | 申请人 | 1 | +| State | TINYINT | 是 | 0 | / | / | 申请状态(0:待管理员同意,1:已拒绝,2:已同意) | 1 | +| Description | TEXT | 是 | xxx申请加入群聊 | / | / | 入群附言 | / | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | / | + +### 表名:Messages + +#### 表说明:用户消息 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| -------- | -------- | -------- | ------ | ------- | --------- | ------------------------------------------------------------ | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| ChatType | TINYINT | 是 | 0 | / | / | 聊天类型
(0:私聊,1:群聊) | 0 | +| MsgType | TINYINT | 是 | 0 | / | / | 消息类型
(0:文本,1:图片,2:语音,3:视频,4:文件,5:语音聊天,6:视频聊天) | 0 | +| Content | TEXT | 否 | / | | | | | + +### 表名:Files + +#### 表说明:文件 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| --------- | ------------ | -------- | -------- | ------------------- | --------- | -------------------- | ----------------------- | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| Name | VARCHAR(50) | 是 | / | / | / | 文件名 | 测试文件.txt | +| URL | VARCHAR(100) | 是 | / | / | / | 文件储存URL | https://baidu.com/1.txt | +| Size | INT | 是 | / | / | / | 文件大小(单位:KB) | 1024 | +| Type | VARCHAT(10) | 是 | / | / | / | 文件类型 | txt | +| MessageId | INT | 是 | / | 外键(Messages.Id) | 索引 | 关联消息ID | 1 | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | 2025/9/29 | + +### 表名:Notifications + +#### 表说明:系统通知消息 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ------- | ------------ | -------- | -------- | -------------- | --------- | ------------------------ | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| UserId | INT | 否 | / | 外键(Users.Id) | 索引 | 接收人(为空为全体通知) | 1 | +| NType | TINYINT | 是 | 0 | / | / | 通知类型(0:文本) | 0 | +| Title | NVARCHAR(20) | 是 | / | / | / | 通知标题 | 1 | +| Content | TEXT | 是 | / | / | / | 通知内容 | 1 | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | / | + +### 表名:Conversations + +#### 表说明:用户会话 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ------------- | -------- | -------- | ------ | ----------------- | --------- | ------------------------------------ | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| UserId | INT | 是 | / | 外键(Users.Id) | 索引 | 用户 | 1 | +| TargetId | INT | 是 | / | / | / | 对方ID(群聊为群聊ID,单聊为单聊ID) | 1 | +| MsgType | INT | 是 | / | / | / | 消息类型(同Messages.MsgType) | / | +| lastMessageId | INT | 是 | / | 外键(Messages.Id) | 索引 | 最后一条消息ID | 1 | +| unreadCount | INT | 是 | / | / | / | 未读消息数 | / | + +### 表名:FriendRequest + +#### 表说明:好友申请 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ------------ | -------- | -------- | ------------------- | ---------------- | --------- | ------------------------------------------- | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| RequestUser | INT | 是 | / | 外键(Users.Id) | 索引 | 申请人 | / | +| ResponseUser | INT | 是 | / | 外键(Users.Id) | 索引 | 被申请人 | / | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 申请时间 | / | +| Description | TEXT | 否 | xxx申请添加你为好友 | / | / | 申请附言 | / | +| State | TINYINT | 是 | 0 | / | / | 申请状态(0:待通过,1:拒绝,2:同意,3:拉黑) | / | + +### 表名:Devices + +#### 表说明:用户设备 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| --------- | -------- | -------- | -------- | -------------- | --------- | ---------------------------------------------------- | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| UserId | INT | 是 | / | 外键(Users.Id) | 索引 | 设备所属用户 | / | +| DType | TINYINT | 是 | / | / | / | 设备类型(
0:Android,1:Ios,2:PC,3:Pad,4:未知) | 0 | +| LastLogin | DATETIME | 是 | 1970/1/1 | / | / | 最后一次登录 | / | + +### 表名:Login_Log + +#### 表说明:登录日志 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ------- | -------- | -------- | -------- | -------------- | --------- | ---------------------------------------- | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| DType | TINYINT | 是 | / | / | / | 设备类型(通Devices/DType) | / | +| Logined | DATETIME | 是 | 1970/1/1 | / | / | 登录时间 | / | +| UserId | INT | 是 | / | 外键(Users.Id) | / | 登录用户 | / | +| State | TINYINT | 是 | 0 | / | / | 登录状态(0:登陆成功,1:未验证,2:已被拒绝) | / | + +### 表名:Admins + +#### 表说明:系统管理员 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| -------- | ----------- | -------- | -------- | ---------------- | --------- | ----------------------- | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| Username | VARCHAR(50) | 是 | / | / | / | 用户名 | / | +| Password | VARCHAR(50) | 是 | / | / | / | 密码 | / | +| RoleId | INT | 是 | / | 外键(Roles.Id) | 索引 | 角色 | / | +| State | TINYINT | 是 | 0 | / | / | 状态(0:正常,2:封禁) | / | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | / | +| Updated | DATETIME | 是 | 1970/1/1 | / | / | 更新时间 | / | + +### 表名:Roles + +#### 表说明:角色 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ----------- | ----------- | -------- | -------- | ------- | --------- | -------- | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| Name | VARCHAR(20) | 是 | / | / | / | 角色名称 | / | +| Description | TEXT | 是 | 空字符串 | / | / | 角色描述 | / | +| Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | / | + +### 表名:Permissions + +#### 表说明:权限 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ------- | ----------- | -------- | ------ | ------- | --------- | ----------------------------- | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| PType | INT | 是 | 0 | / | / | 权限类型(0:增,1:删,2:改,3:查) | / | +| Name | VARCHAR(50) | 是 | / | / | / | 权限名称 | / | +| Code | INT | 是 | / | / | / | 权限编码 | / | +| Created | DATETIME | 是 | / | / | / | 创建时间 | / | + +### 表名:PermissionARole + +#### 表说明:权限角色关联 + +| 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | +| ------------ | -------- | -------- | ------ | ---------------------- | --------- | -------- | ------ | +| Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | +| RoleId | INT | 是 | / | 外键(Roles.Id) | 索引 | 角色 | / | +| PermissionId | INT | 是 | / | 外键(Permissions.Id) | 索引 | 权限 | / | \ No newline at end of file