基础数据库设计问题

时间:2010-08-09 20:15:15

标签: database-design

请随时改进我的任何想法。

我的目标是让多个用户运行桌面程序,该程序将信息传递给php脚本,然后将该信息写入数据库。无需担心桌面应用程序的细节。

我的问题: 1)这种方法有效吗?或者php脚本将数据写入文本文件然后让cron作业调用php脚本来每分钟处理文本文件会更好吗?

2)当我推出桌面应用程序的第2版时,如何调整数据库以处理新的更改?例如,假设程序的v1只发送一个变量。然后程序的v2发送两个变量。我将无法确保所有用户都升级到版本2.因此,如果用户仍在使用版本1,那么php脚本是否只将一个变量数据写入数据库并将另一个变量留空?

另一种情况是版本2中的内容我决定需要更改原始变量?我该如何处理?

感谢任何评论!

3 个答案:

答案 0 :(得分:1)

您想创建一个富客户端。我不明白你的php的原因是什么。如果您想拥有客户端服务器应用程序,我会看到以下选项:

  • 桌面应用程序直接访问中央数据库
  • 桌面应用程序与Web服务通信以隐藏数据库详细信息(例如版本控制)
  • 你有php使用数据库执行所有操作并使用浏览器而不是桌面应用程序。

要处理第二点,您应该考虑使用交易。它们保证每次都保持数据一致性。

答案 1 :(得分:1)

创建版本化 Web服务API并使用它。

请注意版本化上的emphisis。

答案 2 :(得分:0)

PHP脚本的效率取决于几个因素,包括它的编写程度以及数据库的结构。对索引要特别小心;它们的读取速度相当快,但代价是写入速度减慢 - 有时会非常显着。

我会使用实时更新,直到我有理由更改它。如果事情做得对,客户就不会注意到任何一种方式(除了看到数据变化的延迟,如果他们甚至可以看到)。