我应该如何设计软件来与服务器和数据库进行通信


How should I design software to communicate with a server and a database

我正在做一个家庭作业,要求我构建一个小软件。该软件必须执行以下操作:

    用户
  1. 可以通过单击按钮/输入文本从用户端应用程序进行操作
  2. 用户
  3. 端应用必须将用户输入上传到服务器
  4. 服务器必须收集所有用户的输入,生成摘要(如所有用户输入的类别的平均数量)并将其显示在网页上

我的问题是:

一个。为了上传用户输入(上面的步骤 2),我计划将我的用户端应用程序与 mysql 指令链接,以便我可以将数据发送到服务器上的 mysql 数据库。听起来合理吗?

二.在服务器端(上面的步骤3),当多个用户操作时,我是否需要担心发送到mysql的数据的顺序?可以根据每个用户的条目存储数据,然后每 2 分钟进行一次计算(例如取所有用户类别的平均值)。但是,我可以对服务器进行编程以动态计算平均值吗?例如,只要有新的输入,服务器就会更新平均值并显示。如果可能,我应该修改服务器端程序,就像我的网页一样,显示平均数字吗?或者,我可以对数据库进行编程,让它计算平均值并在新数据到达时存储数字吗?

多谢。

嗯,你已经概述了一些非常核心的问题,有很多方法可以继续。

为了回答您的特定问题,我会提供这个;

一个。鉴于您已将问题标记为PHP,我猜您希望将其用作业务逻辑的服务器端代码(即接收表单输入并进行任何服务器端计算)。这也是执行任何 CRUD(创建、读取、更新、删除)操作以持久化数据库的方式。

二.如果您正在为多个用户进行设计,则数据库域模型需要反映这一点,并且表单输入需要捕获诸如"用户名"字段之类的内容,PHP逻辑使用该字段来正确指导持久性。您的排序是通过您为给定用户构建服务器端逻辑的方式建立的。您提到每两分钟汇总一次用户数据。这也许可以通过轮询功能来完成,但同样,有许多设计注意事项需要评估。我建议谷歌搜索php和民意调查,看看这里可以做什么。我不清楚你的显示目标是什么,但无论你怎么继续,我建议把你的逻辑保存在PHP服务层中,你的持久性数据(模型)在mysql数据库中,以及一个视图层,根据需要绑定到该数据。

回顾 PHP 教程可能会让您受益:

http://php.net/manual/en/tutorial.php

并在谷歌上搜索MVC(模型-视图-控制器)设计。

希望这有帮助。