我有一个产品数据库,我想将其分发到iphone用户应用程序。它的数据存储在SqlLite数据库中。
我想问的是:如果我在数据库中更新一个产品的价格,在iphone应用程序中更新数据库用户副本的最佳方法是什么?我不想将整个数据库时间发送给iphone用户。
如果我只发送更新的产品,一段时间后每个iphone上的每个数据库都会有所不同。 我很困惑。
任何想法都将受到赞赏。
感谢您的帮助
答案 0 :(得分:1)
您可以为数据库使用全局修订版ID。数据库中的每个项目还包括一个字段,用于跟踪上次更新的修订。这很像颠覆的方式。
每当更新中央数据库中的一个或多个字段时,您将增加全局修订号以及每个更新条目的修订号。 然后,您的iPhone数据库副本必须跟踪自己的修订版本。每当它连接到主数据库时,它就可以请求自其修改以来所做的更改。
EG。如果主数据库处于修订版1234且iPhone处于修订版1222,则会。然后接收对应于1223,1224等的更新
答案 1 :(得分:0)
由于iPhone设计用于连接互联网,为什么不让iPhone用户应用程序每次打开时,或每周或类似地从互联网(您的网站)下载更新的价目表? / p>
<强>更新强>
如果您的数据库很大,您可以使用版本号跟踪数据库的更新,并以SQL语句的形式为数据库创建“补丁”,以便从一个版本的数据库移动到下一个版本。
当用户应用程序连接到您的网站时,它可以查找适当的补丁以更新到当前版本,然后下载它们。
这应该会减少下载的数据量,尤其是压缩补丁时(使用zip)。