# 2.4:数据库表结构设计

作者:小傅哥
博客:https://bugstack.cn (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!

# 一、前言

阅读到这篇文章的小伙伴,或多或少都是使用过关系型数据库的,或者是 Mysql、或者是 Oracle 等等,这些数据库的使用主要用于业务系统中进行数据的承载,满足业务诉求。例如,我们要保存和查询用户信息,记录聊天记录等等。同时有的时候为了满足大体量的业务行为,还会有分库分表,以及非关系型数据库 Redis 等的使用。

那么,我们这个聊天系统主要是为了体现核心功能的实现,所以在库表设计上尽可能的会简单,并只保留核心字段的业务属性。接下来,我们开始进行库表的设计。

# 二、库表设计

  • 对于我们的业务功能需要有这么六个表来完成业务流程,而这六个表可以分为三个部分来看;
  • 第一部分,基础表;也就是用户和群组的维护
  • 第二部分,关联表;每个用户与好友和群组的关系
  • 第三部分,行为表;每一个用户都会与自己的好友或者群组产生对话,以及最终的聊天记录
  • 接下来我们逐个表的进行分析,看每一个表的与 UI 的具体业务关联性。