繁体   English   中英

我应该使用哪种数据库模型来存储此数据格式?

[英]What Database model should I use to store this data format?

我基本上在字段中有一堆对象;

此对象实例id : "banana"的字符串标识符id : "banana"
字符串键和值data : {}的字典data : {}
与此friends: ["apple", "orange" ]相关的实例ID的数组friends: ["apple", "orange" ]
相关(不同方式)实例ID的数组。 followers: ["grapefuit"]

您可能已经推断出该数据将为Twitter网络建模。
在我的数据生命周期内(它将超出任何特定程序执行的生命周期),实例的数量和存储在字段中的数据将发生变化(预期会增加),因此我想将所有这些数据存储在MySQL中由PHP脚本连接的数据库。

我是数据库领域的新手,但是我对表模型和查询结构有些了解。
我应该如何为这个特定问题构建数据库?

使用类似MySQL的数据库时,要记住的一件事是,应避免在特定的列中包含字典和数组之类的东西。 原因是这使查询这些值变得可怕。

我要做的是,例如,有一个带有两列FriendA和FriendB的“朋友”模式。 对于您拥有的每个朋友对,这将是该数据库中的一行。 您可以对“关注者”执行同样的操作,并具有“关注者”和“关注者”列。

现在,在这些表之间进行查询仅需要一个联接,更重要的是,如果两个朋友不结为好友,或者某个人决定取消关注另一个人,这只是一个删除而不是两个删除(并且没有数组!)

当然,除非您打算使用非结构化的键/值数据,否则请将其扩展为完整的架构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM