Files
IM/docs/数据字典.md
T
nanxun d429560511 Revert "提交"
This reverts commit b96d895809.
2026-02-12 21:59:08 +08:00

21 KiB
Raw Blame History

数据字典

表名:Users

表说明:储存用户个人信息

字段名 数据类型 是否必填 默认值 主/外键 约束/索引 字段说明 示例值
Id INT / 主键 索引 主键自增 1
Username VARCHAR(50) / / 唯一 唯一用户名 admin
Avatar VARCHAR(255) / / / 用户头像 https://baidu.com/1.png
Password VARCHAR(50) / / / 用户密码 123456
NickName VARCHAR(50) / / / 用户昵称 /
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
RemarkName VARCHAR(20) / / / 好友备注 小王
Avatar VARCHAR(255) / / / 好友头像 https://baidu.com/1.png
Status TINYINT 0 / / 当前好友关系状态
(0:待通过,1:已添加,2:已拒绝,3:已拉黑)
0
Created DATETIME 1970/1/1 / / 好友关系创建时间 2025/9/29

表名:Groups

表说明:群聊

字段名 数据类型 是否必填 默认值 主/外键 约束/索引 字段说明 示例值
Id INT / 主键 索引 主键自增 1
Name VARCHAT20 / / / 群聊名称 测试群聊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 / / / 消息内容 /
Sender INT / 外键(Users.Id) 索引 发送者 /
Recipient INT / / / 接收者(私聊为用户ID,群聊为群聊ID) /
State TINYINT 0 / / 消息状态(0:已发送,1:已撤回) /
Created DATETIME 1970/1/1 / / 发送时间

表名: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,3Pad,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 索引 权限 /