RDBMS 和 ORDBMS 之间的区别

2024-02-02

当我在 PostgreSQL 上阅读有关 PostgreSQL 的内容时,就发生了这种情况。wiki https://en.wikipedia.org/wiki/PostgreSQL页面,它将自己称为 ORDBMS。我一直都知道 Microsoft SQL Server,它是一个 RDBM 系统。有人可以帮助我了解关系数据库管理系统(RDBMS)和对象关系数据库管理系统(ORDBMS)之间的主要区别以及在什么情况下我应该使用其中之一?

另外,我的关键问题与以下事实有关:在 Microsoft SQL Server 的世界中,我们经常使用实体框架 (EF) 层在应用程序端进行对象关系映射。那么,在 ORDBMS 世界中,ORM 的所有职责是否已经由数据库本身完全履行,或者可能存在我最终在 ORDBMS 之上使用像实体框架这样的 ORM 的用例或场景?人们真的在 ORDBMS 系统之上使用 ORM 吗?


取自http://www.aspfree.com/c/a/database/introduction-to-rdbms-oodbms-and-ordbms/ http://www.aspfree.com/c/a/database/introduction-to-rdbms-oodbms-and-ordbms/:

RDBMS

RDBMS 的主要元素基于 Ted Codd 的关系系统 13 条规则、关系完整性的概念和规范化。关系数据库的三个基本原则是所有信息都必须以表的形式保存,其中所有数据都使用数据值来描述。第二个基本原则是表列中找到的每个值都不重复。最后一个基础是标准查询语言(SQL)的使用。

RDBMS 的优点是系统简单、灵活且高效。由于表格很简单,数据更容易理解并与他人交流。 RDBMS 非常灵活,因为用户不必使用预定义的键来输入信息。此外,RDBMS 的生产力更高,因为 SQL 更容易学习。这使得用户可以花更多的时间输入而不是学习。更重要的是,RDBMS 的最大优势是用户可以轻松创建和访问数据并在需要时扩展数据。创建原始数据库后,可以添加新的数据类别,而无需更改现有应用程序。

关系数据库管理系统存在局限性。首先,关系数据库没有足够的存储空间来处理图像、数字和音频/视频等数据。该系统最初是为了处理媒体、传统现场数据和模板的集成而创建的。关系数据库的另一个限制是它不足以使用 SQL 之外的语言进行操作。经过最初的发展,形成了 C++ 和 JavaScript 等语言。然而,关系数据库不能有效地使用这些语言。第三个限制是要求信息必须位于表中,其中实体之间的关系由值定义。

ORDMS

对象关系数据库 (ORDBMS) 是当今常见的第三种数据库类型。 ORDBMS 是“试图通过支持更广泛的应用程序所需的功能来扩展关系数据库系统,并在许多方面提供关系型和面向对象范例之间的桥梁”的系统。

ORDBMS 的创建是为了处理关系数据库无法处理的新型数据,例如音频、视频和图像文件。此外,它的发展是面向对象编程语言的使用增加以及这些语言与 DBMS 软件之间的巨大不匹配的结果。

ORDBMS 的优点之一是它允许组织继续使用其现有系统,而无需进行重大更改。第二个优点是它允许用户和程序员开始并行使用面向对象的系统。

实施 ORDBMS 存在挑战。首先是存储和访问方法。第二是查询处理,第三是查询优化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RDBMS 和 ORDBMS 之间的区别 的相关文章

  • T-SQL 平均值四舍五入到最接近的整数

    我不确定以前是否有人问过这个问题 但是如何在 T SQL 中将平均值四舍五入到最接近的整数 这应该可以做到 根据您要寻找的平均值 您可能需要在末尾使用 GROUP BY SELECT CONVERT int ROUND AVG Column
  • 从原始数据创建 n 个新行,例如 (1000....1000+n)

    我需要从 Excel 工作簿中读取数据 其中数据以这种方式存储 Company Accounts Company1 3000 3999 Company2 4000 4019 4021 4024 在 SSIS 中使用 OLE DB 目标的预期
  • 何时计划 (SELECT) 查询?

    在 PostgreSQL 中 什么时候计划 SELECT 查询 Is it 在报表准备时 或者 在处理 SELECT 开始时 或者 别的东西 我问的原因是 Stackoverflow 上有一个问题 相同的查询 两种不同的方式 性能截然不同
  • 内连接中的排序依据

    我将内部连接放入查询中 我得到了结果 但不知道数据如何输入输出 任何人都可以告诉我内部连接如何匹配数据 下面我显示了一个图像 有两张桌子 一张或两张桌子 根据我的说法 第一行应该是 Mohit 但输出不同 请告诉我 In SQL 输出的顺序
  • SQL查询从表的每条记录生成多条记录

    我有一个包含 3000 条记录的表 使用其中的每一条记录 我必须生成大约 200 条记录 总共 600k 条记录 并通过 SQL Server 2012 将它们插入到第二个表中 我尝试使用 VBA 执行此操作 从第一个表中选择数据 计算 然
  • 在sql server中生成下一个序列号

    我需要生成一个序列号用作主键 在遗留系统中 我想知道以下解决方案在竞争条件下是否会遇到并发问题 CREATE TABLE SequenceGenerator Sequence INT INSERT INTO SequenceGenerato
  • 如何设计一个存储非常大数据的表?

    我需要在Oracle中设计一个表 每天将存储2 5TB的数据 它可以增长到 200TB 超过 200TB 时记录将被清除 将其保留在 OLTP 中是一个可行的选择 还是需要将其转移到数据仓库 DB 请建议我在设计该表或数据库的架构时应牢记的
  • SQL71501 - 如何消除此错误?

    我们在项目中使用两种模式 dbo kal 当我们尝试使用以下 SQL 语句创建视图时 Visual Studio 在错误列表中显示为错误 CREATE VIEW dbo RechenketteFuerAbkommenOderLieferan
  • 使用 unnest() 返回行?

    我尝试在完成后返回一组行UPDATE 像这样的东西 UPDATE Notis new noti SET notis noti record type FROM SELECT FROM Notis WHERE user id 2 FOR UP
  • 我需要使用 VBA 将数据从 Excel 插入 SQL Server

    我需要插入test vba xlsx将数据写入 SQL Server 到特定数据库 Sub insertion Dim conn As ADODB Connection Dim rs As ADODB Recordset Dim sConn
  • DB2 vs PostgreSQL vs SQL Server [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有人用过这三个数据库吗 你和他们有什么经历 PostgreSQL 对于一个项目来说看起来相当诱人 但我很想了解更多关于它的信息 我们是一家 NE
  • 更新或插入 SQL Server 时忽略错误行

    我的项目必须处理巨大的数据库 在最坏的情况下 它可能是超过8000万行 现在 我有 2 张桌子T1 and T2 我必须从表中复制数据T1到餐桌T2 如果表中的一行T1表中已存在T2 相同主键 然后更新该行其他列的数据T1 to T2 否则
  • 为什么没有主键的表是一个坏主意?

    我对数据建模非常陌生 根据微软的实体框架 不允许使用没有主键的表 这显然是一个坏主意 我试图找出为什么这是一个坏主意 以及如何修复我的模型 这样我就不会出现这个漏洞 我当前的模型中有 4 个表 User City HelloCity 和 R
  • SQL Server批量上传策略

    我使用以下函数将数据从 CSV 上传到 SQL 表 有更好的方法吗 我现在担心连接长时间保持 因此需要减少 public bool SaveProxyBulkUploadData List
  • 如何在 NHibernate 中使用 READPAST 提示?

    有什么办法可以让 NHibernate 使用吗the READPAST hint https learn microsoft com en us sql t sql queries hints transact sql table从 SQL
  • 使用 Spark sql DataFrame 删除功能

    我需要为我的 Spark 应用程序从 postgres 数据库加载 删除特定记录 为了加载 我使用以下格式的 Spark 数据框 sqlContext read format jdbc options Map url gt postgres
  • SQL Server 中临时表的使用

    这是一个悬而未决的问题 但我真的很想听听人们的意见 我很少使用显式声明的临时表 表变量或常规 tmp 表 因为我相信不这样做会导致更简洁 可读和可调试的 T SQL 我还认为 在需要时 例如当您在查询中使用派生表时 SQL 可以比我更好地利
  • 将数据类型 varchar 转换为 int 时出错

    我试图使用基于 varchar 类型的 Name 列的输入值的存储过程返回 item 表的 ItemId 列值 但是每当我将任何值传递给存储过程时 它都会返回一个错误 将数据类型 varchar 转换为 int 时出错 create pro
  • 将日期时间列拆分为年、月和周

    我想拆分日期时间列 以便年份和月份在 select 语句输出中都有自己的列 我还希望有一个按一年中的一周而不是特定日期的专栏 基本上 我希望单独的年 月和周列显示在我的 select 语句输出中 尝试使用DatePart http msdn
  • 我可以将 SQL Server 安装在 USB 驱动器上吗?

    我是一名开发人员 如果可以的话 我经常远程工作 而不是通勤上班 我希望能够随身携带开发数据库环境 我知道我可以远程访问数据库 但速度很慢 我有时在没有无线连接的地方工作 有任何想法吗 是的 这是可能的 看this http social m

随机推荐