聊天系统 数据库功能表结构如何设计?

User(--用户表
              
字段    字段类型    字段描述    备注
U_ID    Int        主键、自增
U_LoginID    Varchar(20)    (登陆账号)    
U_NickName    Varchar(20)    (昵称)    
U_PassWord    Varchar(20)    (密码)    
U_SignaTure    Varchar(150)    (个性签名)    Null
U_Sex    Bit    (性别)    Null
U_Birthday    Datetime    (生日)    Null
U_Telephone    Varchar(30)    (电话)    Null
U_Name    Varchar(30)    (真实姓名)    Null
U_Email    Varchar(50)    (邮箱)    Null
U_Intro    Varchar(300)    (简介)    Null
U_HeadPortrait     Varchar(100)    (头像)    
U_ShengXiao    Char(2)    生肖    Null
U_Age    Int    年龄    Null
U_Constellation    Char(6)    星座    Null
U_BloodType    Varchar(10)    血型    Null
U_SchoolTag    Varchar(50)    毕业学校    Null
U_Vocation    Varchar(30)    (职业)    Null
U_NationID    Int    (国家ID)    外键
U_ProvinceID    Int    (省份ID)    外键
U_CityID    Int    (城市ID)    外键
U_FriendshipPolicyID    Int    好友策略ID    外键
U_UserStateID    Int    (用户状态ID)    外键
U_FriendPolicyQuestion    Varchar(30)    好友策略问题    Null
U_FriendPolicyAnswer    Varchar(30)    好友策略答案    Null
U_FriendPolicyPassword    Varchar(30)    好友策略密码    Null
)
UserState(--用户状态表
字段    字段类型    字段描述    备注
US_ID    Int    (ID)    主键
US _Name    Varchar(10)    (状态名字)    
            
)

Friends(--好友表
字段    字段类型    字段描述    备注
F_ID    Int    主键ID    主键
F_FirendID    Int    朋友的ID    外键
F_UserID    Int    自己的ID    外键
F_Name    Varchar(30)    备注昵称    Null
F_FriendTypeID    Int    (好友类型)    外键
F_FriendGroupsID    Int    (所属分组ID)    外键   
) 
User_FriendshipPolicy(--添加好友策略
字段    字段类型    字段描述    备注
U_FP_ID主键    Int    策略ID    主键
U_FriendshipPolicy    varchar    好友添加方式    
)
FriendGroups(--好友分组表
字段    字段类型    字段描述    备注
FG_ID    Int    (分组ID)    主键
FG_Name    Varchar    (分组名字)    
FG_UserID    Int    用户ID    外键
)
FriendType (--好友类型
字段    字段类型    字段描述    备注
FT_ID    Int    (类型ID)    主键
FT_Name    Varchar(20)    (类型名称)    
)

Messages(--聊天记录表
字段    字段类型    字段描述    备注
M_ID    Int    (消息ID)    主键,自增
M_PostMessages    Text    (消息内容)    
M_ status    Bit    (接收状态)    
M_Time    Datetime    (发送时间)    默认值
M_MessagesTypeID    Int    (消息类型ID)    外键
M_ FromUserID     Int    (发送者ID)指向用户表    外键
M_ToUserID     Int    (接收者ID)指向用户表    外键
)

MessagesType(--消息类型

字段    字段类型    字段描述    备注
MT_ID    Int    (类型ID)    主键
MT_Name    Varchar(20)    类型名称    

) 

Nation (--国家
字段    字段类型    字段描述    备注
N_ID    Int    (国家ID)    主键
N_Name    Varchar(30)    (名字)    
)
Province (--省份
字段    字段类型    字段描述    备注
P_ID    Int    (省份ID)    
P_Name    Varchar(30)    (名字)    
P_NationID    Int    所属国家ID    外键
)

City (--城市
字段    字段类型    字段描述    备注
C_ID    Int    (城市ID)    
C_Name    Varchar(30)    (名字)    
C_ProvinceID    Int    所属省份ID    外键
)

User_Groups(--用户群表
字段    字段类型    字段描述    备注
UG_ID    Int    群ID    主键
UG_Name    Varchar(30)    群名称    
UG_CreateTime    Datetime    创建时间    默认值
UG_AdminID    Int    群主ID(指向用户表)    
UG_ICon    Varchar(30)    群图标    
UG_Notice    Varchar(200)    群公告    
UG_Intro    Varchar(200)    群简介    
)

User_GroupsToUser(--群用户关联表
字段    字段类型    字段描述    备注
UG_ID    Int    ID    主键
UG _UserID    Int    用户ID    外键
UG _GroupID    Int    群ID    外键
UG _CreateTime    Datetime    发送时间    Null
UG _GroupNick    Varchar(15)    群内用户昵称    Null
)

User_GroupsMSGContent(--群消息内容表
字段    字段类型    字段描述    备注
GM _ID    Int    群消息ID    主键
GM _Content    Text    消息内容    
GM _FromID    Int    发送者ID    
GM _FromUName    Varchar(30)    发送者昵称    
GM _CreateTime    Datetime    发送时间    
            
)
User_GroupsMSGToUser(--群消息关联表
字段    字段类型    字段描述    备注
GM_ID    Int    ID    主键
GM _UserID    Int    接收者ID    
GM _GroupMessageID    Int    群消息ID    外键
GM _State    Bit    接收状态    
GM _CreateTime    Datetime    发送时间    
            
)
User_GroupsMSGUserToUser(--群内私聊消息关联表
字段    字段类型    字段描述    备注
GM _ID    Int    ID    主键
GM _FromUserID    Int    发送者ID    
GM _FromUserName    Varchar(30)    发送者昵称    
GM _ToUserID    Int    接收者ID    
GM _MSGContent    Varchar(300)    消息内容    
GM _State    Bit    接收状态    
GM _CreateTime    Datetime    发送时间    
GM_ UserGroupID    Int    所属群ID    
)

参考:

http://www.zuidaima.com/question/2261153871498240.htm

  • 14
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为人工智能语言模型,我的能力主要在于生成文本,无法实际进行编码和开发。但是,我可以为您提供一些参考资料,希望能对您有所帮助。 1. 数据库结构 在实现聊天通信功能时,涉及到的数据库结构应该包括以下信息: - 用户:用户的基本信息,例如用户名、密码、昵称等; - 消息:保存用户之间发送的消息,包括发送者、接收者、发送时间、消息内容等。 可以根据具体的需求设计结构,一般使用MySQL或者MongoDB等关系型或非关系型数据库。 2. 后端代码 使用Spring Boot实现聊天通信功能,需要创建以下类: - UserController:用户注册、登录等操作; - MessageController:发送、接收消息等操作; - UserService:对用户信息进行业务处理,比如注册、登录、查询等; - MessageService:对消息信息进行业务处理,比如发送、接收、查询等; - User:用户实体类,包括用户名、密码、昵称等属性; - Message:消息实体类,包括发送者、接收者、发送时间、消息内容等属性。 下面是一个简单示例: UserController类: @RestController public class UserController { @Autowired private UserService userService; @PostMapping("/register") public String register(@RequestBody User user) { if (userService.register(user)) { return "注册成功"; } else { return "注册失败"; } } @PostMapping("/login") public String login(@RequestBody User user) { if (userService.login(user)) { return "登录成功"; } else { return "登录失败"; } } } MessageController类: @RestController public class MessageController { @Autowired private MessageService messageService; @PostMapping("/send") public String send(@RequestBody Message message) { if (messageService.send(message)) { return "发送成功"; } else { return "发送失败"; } } @GetMapping("/receive") public List<Message> receive(@RequestParam("username") String username) { return messageService.receive(username); } } UserService类: @Service public class UserService { @Autowired private UserDao userDao; public boolean register(User user) { if (userDao.findByUsername(user.getUsername()) != null) { // 用户名已存在 return false; } else { // 没有重名的用户,可以注册 userDao.save(user); return true; } } public boolean login(User user) { User u = userDao.findByUsernameAndPassword(user.getUsername(), user.getPassword()); if (u != null) { // 登录成功 return true; } else { // 登录失败 return false; } } } MessageService类: @Service public class MessageService { @Autowired private MessageDao messageDao; public boolean send(Message message) { message.setSendTime(new Date()); messageDao.save(message); return true; } public List<Message> receive(String username) { // 查询用户发送给自己的消息 return messageDao.findByReceiverOrderBySendTime(username); } } User类: @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String username; private String password; private String nickname; // getters and setters } Message类: @Entity public class Message { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String sender; private String receiver; private Date sendTime; private String content; // getters and setters } 3. 前端代码 前端代码可以使用Vue.js等框架来实现。根据具体需求设计Web页面,在页面中集成相关API,绑定用户界面操作事件,并发送相关数据到后端进行处理。在此不逐个展开示例。 总之,使用Spring Boot实现聊天通信功能,需要综合运用多种编程技术,包括Java编码、Web开发、数据库设计等,同时对前端和后端的相关技术和框架进行深入理解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值