我有一个与数据库有关的问题,以及什么时候值得深入研究。我主要是一名嵌入式工程师,但我正在使用 Qt 编写一个应用程序来与我们的控制器交互。
我们正处于一个奇怪的境地,我们有足够的数据,可以实现一个数据库(大约 700 多个项目并且还在不断增长)来管理所有内容,但我不确定现在是否值得花时间来处理。我使用从 Excel 生成并解析的文件来实现 GUI 没有任何问题,但即使使用 VBA 脚本,它也会变得乏味且难以跟踪。我一直在尝试使用 Microsoft Access 将我们的数据转换为应用程序端更易于管理的数据,这似乎运作良好。如果成功的话,我距离使用 SQL 数据库和使用 Qt 库访问和修改它只有一步(或几步)了。
我没有太多管理此级别数据的经验,并且很好奇解决此问题的最佳方法是什么。那么在这种情况下使用数据库的真正好处是什么?我意识到其中大部分内容可能是非常特定于应用程序的,但是关于如何跨越嵌入式/应用程序编程线的一些一般想法和建议将会有所帮助。
这并不是将数据库放入嵌入式项目中。它也不是通常使用较大数据库的业务类型应用程序。我正在为桌面上的单个用户设计一个 GUI,以便与微控制器交互以进行监控和配置。
我决定使用 SQLite。您可以使用数据做一些非常有趣的事情,而我在第一次启动这个项目时并没有真正考虑过这些选项。
在以下情况下数据库是有价值的:
- 您的应用程序演变为一些
数据驱动执行的形式。
- 你花时间设计和
开发外部数据存储
结构。
- 在应用程序之间共享数据或
组织(包括个人
人们)
- 数据不再短小
简单的。
- 数据重复
向数据驱动执行的演变
当数据发生变化但执行没有变化时,这是数据驱动程序的标志,或者程序的部分内容是数据驱动的。一组配置选项是数据驱动功能的标志,但整个应用程序可能不是数据驱动的。无论如何,数据库可以帮助管理数据。 (数据库库或应用程序不必像 Oracle 那样庞大,但可以像 SQLite 那样精简和精简)。
外部数据结构的设计与开发
将问题发布至堆栈溢出有关序列化或转换树和列表以使用文件的信息很好地表明您的程序已升级到使用数据库。此外,如果您花费大量时间设计将数据存储在文件中的算法或设计文件中的数据,那么也是研究数据库使用的好时机。
共享数据
无论您的应用程序是与另一个应用程序、另一个组织还是另一个人共享数据,数据库都可以提供帮助。通过使用数据库,更容易实现数据一致性。问题调查中的一大问题是团队没有使用相同的数据。客户可能使用一组数据;验证团队使用不同的数据集进行开发。数据库使数据的版本控制变得更加容易,并允许实体使用相同的数据。
复杂数据
程序开始时使用硬编码数据的小表。这演变成了将动态数据与地图、树和列表一起使用。有时数据会从简单的两列扩展到 8 列或更多。数据库理论和数据库可以减轻组织数据的复杂性。让数据库来管理数据并释放您的应用程序和开发时间。毕竟,数据的管理方式并不重要,重要的是数据的质量及其可访问性。
数据重复
很多时候,当数据增长时,重复数据的吸引力就会越来越大。数据库和数据库理论可以最大限度地减少数据的重复。数据库可以配置为针对重复发出警告。
转向使用数据库需要考虑许多因素。其中包括但不限于:数据复杂性、数据重复(包括部分数据)、项目截止日期、开发成本和许可问题。如果您的程序可以使用数据库更有效地运行,那么就这样做。数据库还可以节省开发时间(和金钱)。除了管理数据之外,您和您的应用程序还可以执行其他任务。将数据管理留给专家。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)