面向对象数据库管理系统(OODBMS)和关系型数据库管理系统(RDBMS)的区别,哪个更适合工厂管理系统?

3

我稍微搜索了一下对象数据库管理系统(OODBMS)和关系型数据库管理系统(RDBMS)之间的区别,我大致知道它们都是什么。然而,我应该如何决定哪一个更适合哪些应用程序呢?请问有谁能帮助我吗?

我的意思是指工厂管理:有制造瓶装、冷冻和其他食品的生产线。该应用程序从为生产线分配员工到在系统中保留生产记录等方面进行管理。哪种数据库管理系统更适合这样的系统呢?

提前致谢。

5个回答

3

2
免责声明:这是一位“老古董”的答案,他在面向对象编程(OOP)成为主流之前写过很多完全功能的会计、制造和其他代码。
说了这些...
工厂管理是经典的关系数据库内容,这也是它的发明初衷。传统关系型应用程序的代码往往遵循非常可预测的模式,大量循环检索自表中行或直接传递数据:将数据传递到UI或传递到数据库。如果您的数据库设计良好,则编码的业务逻辑将是这些循环或传递中的详细信息,但这两种模式将占主导地位。
另一方面,按照这位“老古董”的看法,面向对象数据库管理系统(OODMS)试图将完全有效和高效的关系型数据库管理系统重新塑造成可以与类/对象配合使用的东西,但这并没有明显的优势,因为几十年来已经证明其可以非常好地工作。类与那些基于关系型数据库的经典代码模式很少或根本没有关系。事实上,它们往往会使事情变得更加复杂,容易出现问题。我并不是说不要使用面向对象编程来处理数据库,只是OOP是为解决不同类型的问题而发明的,而这些问题恰好不是数据库应用所具有的。

1

选择面向对象数据库管理系统(OODBMS)或关系型数据库管理系统(RDBMS)并不取决于特定的应用程序,比如工厂管理/自动化。

它取决于许多标准,例如:

1)编程范式 - 如果您[程序员]选择在面向对象编程语言中进行可视化/实现,则OODBMS适合将对象直接存储到数据库中,但最广泛使用的类型是关系型数据库管理系统,因为它在商业上已经得到了很好的建立,并且具有良好的数学背景。

2)应用程序特定 - 对于工厂自动化/管理,响应能力和快速访问非常重要。 OODBMS比RDBMS更快。如果您考虑进行Web开发,则像MySQL这样的轻量级工具非常适合。

3)趋势 - 现在从传统/结构化转向面向对象/组件化编程。因此,在这种趋势下,OODBMS最适合企业应用程序,例如工厂管理等。


0

这取决于应用层的使用。如果是一种更简单的过程化方法[也可以有类],关系型数据库管理系统更合适。否则,如果您更倾向于严格的面向对象系统,则可以使用面向对象数据库管理系统。


0

我通常将有用性的界限划定在需要集成到企业系统的点上。如果您的项目不一定需要集成,ODBMS通常更容易或技术上更优越。如果您可以通过Web服务或“推/拉”方式集成到企业系统数据库中,则仍然可以使用ODBMS,但可能会受到政治压力的影响。(像dRS for db4o这样的新型ODBMS/RDBMS复制可能非常适合)但是,如果您需要与遗留或企业数据存储紧密集成,则通常必须出于某种原因使用RDBMS。

话虽如此,您个人的生产线可能会从ODBMS中获得巨大的好处,因为它们非常擅长存储经常变化的复杂对象模型和架构,而编排系统可以遵循我之前的思路。

我已经使用ODBMS多年了,并一直担心需要返回到纯关系数据管理的项目。尽管ORM工具的最近改进使关系处理更加愉快,但ORM+RDBMS解决方案仍无法在一些关键领域与ODBMS系统相提并论(请参见odbms.org上的先前提到的文章)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接