iOS Parse表结构

时间:2015-01-12 09:26:10

标签: ios objective-c parse-platform

我正在创建一个需要用户注册的应用程序。用户输入的所有数据都将存储在名为“customer”的表中。现在收集的部分信息是地址,但我不想拥塞表结构,并希望将地址存储为对象(城市,地址,邮政编码等)。

最佳做法是什么:创建地址表并通过customer表中的外键引用表,或将客户地址存储为对象并将其存储在customer表中?

我不确定解析如何完全正常运行,以便在答案中寻找您的体验。

谢谢

2 个答案:

答案 0 :(得分:1)

几个月前我遇到了这个确切的问题,并通过在客户对象结构中使用pointer来解决附加数据。请注意,如果您这样做,您需要确保在将来的客户查询中include指向的字段,或者无法获取数据。

回顾一下,我不确定我是否建议拆分对象。它确实创建了一个更规范化的数据结构,但Parse以多种方式对抗这种情况:

  1. 您必须记住在以后的所有查询中都包含指向的字段。这很痛苦。
  2. 您只能在查询中跟踪指向某个深度的指针(我认为3?)
  3. 解析通过数据库访问向您收费,因此非规范化数据可能是个问题。
  4. Parse并不真正支持原子操作或事务性查询,因此如果您在保存时不小心,很容易将数据置于不一致状态。例如,您更新客户记录,转到更改地址记录,并使第二个查询失败。现在你处于一个半更新的状态",如果没有事务回滚,你必须自己修复它(你可能甚至不知道它已经坏了!)。
  5. 总的来说,如果我再次使用Parse(不太可能),我可能会坚持使用巨大的非规范化对象。

答案 1 :(得分:1)

这是一个在userId帮助下处理两个表的解决方案。

注意 - 您正在创建一个REGISTRATION表,并在您的末尾填写少量数据(代码)。       所以你可以为Address创建另一个表。当你要创建一个新表时       解决将如何管理这些表的问题       所以它很简单,你有两个表" REGISTRATION& ADDRESS"       然后在那个独特的" userid"的帮助下你可以玩。并根据您的要求找到       表和合并的细节也是如此。

希望它能解决您的问题。