为方便起见,我将使用聊天的示例进行说明。有一个用户P1,还有一个用户P2,他们在互相交谈,他们交谈的数据自然会存储在数据库中,但问题来了,如何存储消息?和所有关于信息?
比如User1里面有一个消息列表Message1,Message2,这个列表怎么存到数据库中呢?如果每条消息都负责文本、发送/接收日期、标志是否被读取等等。
我只看到了一条出路,以某种格式存储所有内容,例如 JSON,然后将有关所有用户的所有消息的数据存储在特定字段中。
来自专业人士:
- 易于实施
- 容易接近
缺点:
- 每次从这种格式解析以添加/获取数据都需要很长时间。
- 资源密集型,将所有内容存储在 RAM 中(解析)。
另外,我无法想象它将如何在不同的用户之间存储,例如 P1 - P2,P1 - P3,P1 - P4,除了将所有内容存储在同一个字段中,但情况更糟。
有消息的作者,就有消息的接收者。他们每个人都有自己的身份证。即使是一个群,也有自己的ID,但只能作为消息接收者。
基于此,我们得到消息表的结构:
要选择,请使用类似的查询
经典的一切都适合关系结构。我还是不明白你的问题是什么?