【发布时间】:2023-03-24 05:28:01
【问题描述】:
我在为我的应用程序设计数据库结构时遇到了一个问题。我有 3 个模型:事件、组和用户。
关系:
事件 - 用户 - 多对多。
组 - 用户 - 多对多。
将提供一个聊天组和一个内部事件。此外,在不久的将来,我将实现两个或更多用户之间的聊天。
我有点困惑什么是最好的设计方法。我创建了聊天模型以及聊天和用户之间的多对多关系。
第一个想法:群组和事件聊天的成员将分别存储在 event_users 和 group_users 表中。只有用户之间的聊天才会存储在 chat_users 中。
第二个想法:chat_users 将与 event_users 和 group_users 表同步。这种方式的好处是我将有简单的分离逻辑来管理聊天,并且不会对数据库进行很多复杂的查询。
感谢您的任何反馈或其他想法。
【问题讨论】: