我应该使用什么数据库模型来存储这种数据格式?

时间:2013-09-05 06:58:35

标签: php mysql database

我基本上有一堆带有字段的对象;

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

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

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

1 个答案:

答案 0 :(得分:1)

在使用类似MySQL的数据库时,要记住的一件事是你应该避免在特定列中使用dicts和数组之类的东西。原因是这使得对这些价值观的质疑非常可怕。

我要做的是,例如,“朋友”架构有两列,FriendA和FriendB。对于您拥有的每个朋友对,这将是此数据库中的一行。您可以使用“关注者”执行相同操作,使用“关注者”和“关注者”列。

现在查询这些表只需要一个连接,更重要的是如果两个朋友没有朋友或有人决定取消关注其他人,这只是一个删除而不是两个(并且没有数组!)

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