【问题标题】:Does RDMS Violate OOPRDMS 是否违反 OOP
【发布时间】:2019-01-04 06:03:53
【问题描述】:

我想用我现有的数据库设计 OOP 标题,详细信息,链接表,检索的存储过程 并从许多表中计算并进行聚合等, 很困惑如何将所有混乱转换为 OOP?

【问题讨论】:

  • 欢迎来到 Stack Overflow。目前尚不清楚您的问题究竟是什么 - 请参考How to Ask
  • 提示和提示澄清我的困惑

标签: oop design-patterns object-oriented-analysis


【解决方案1】:

关系数据库 (RDB) 和面向对象编程 (OOP) 是不同的范式和技术,它们各自反映了不同的目的。 RDB 旨在有效地将数据存储在表中并快速提取数据和关系,而 OOP 旨在反映现实世界中看到的对象的组合和抽象。由于各自的目的不同,两者之间存在逻辑上的差距,但在从 RDB 转换为 OOP 以及反之亦然方面已经完成了大量工作。

这种技术称为Object-Relational Mapping (ORM)。 ORM 中使用了一组标准的模式和技术,可以轻松地将 RDB 数据转换为 OOP,反之亦然,但具体技术超出了本文的范围。此外,Patterns of Enterprise Architecture 有一个非常重要的技术列表,用于弥合关系数据和 OOP 之间的差距,包括:

在实践中,这些技术非常普遍,以至于许多语言或流行框架已经编纂了这些模式,无需在项目中手动实现它们。例如,在 Java 中,有Java Database Connectivity (JDBC)Spring JDBC。具体的框架和工具将取决于语言,但大多数现代语言都有一个数据库(特别是关系数据库)映射工具,无需编写繁琐的程序来提取和存储数据。如果您有兴趣,List of object-relational mapping software 有一个按语言列出的 ORM 列表(尽管不全面)。


建议:阅读并理解 ORM 的常见做法,然后选择适合您项目需要的 ORM 或数据库抽象框架。

【讨论】:

    猜你喜欢
    • 2012-03-16
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 2010-11-01
    • 2021-12-20
    • 2013-07-22
    • 2017-06-03
    相关资源
    最近更新 更多