DBMS和RDBMS有什么区别?

hac*_*cks 37 database rdbms

在不同的网站上阅读了一些答案后,我现在很困惑.因此,提及DBMS和RDBMS之间的关键区别以及它们之间的任何关系会很有帮助.

hac*_*cks 37

由于这个问题在Stack Overflow上变得流行,我发布了一个回答这个问题的答案.我在udemy网站上找到了这个答案.希望这将有助于未来的用户和新手在这个主题上寻找一个好的答案.


DBMS和RDBMS之间的关键区别:

关键区别在于RDBMS(关系数据库管理系统)应用程序以表格形式存储数据,而DBMS应用程序将数据存储为文件.

这是否意味着DBMS中没有表格?

可以,但是在表之间不存在"关系",就像在RDBMS中一样.在DBMS中,数据通常以分层形式或导航形式存储.这意味着单个数据单元将具有一个父节点和零个,一个或多个子节点.它甚至可以以图形形式存储,这可以在网络模型中看到.

在RDBMS中,表将具有称为主键的标识符.数据值将以表格的形式存储.这些数据值之间的关系也将以表格的形式存储.存储在关系数据库中的每个值都是可访问的.该值可以由系统更新.该系统中的数据在物理上和逻辑上也是独立的.

您可以说RDBMS是DBMS的扩展,即使两者之间存在许多差异.当今市场上的大多数软件产品都兼容DBMS和RDBMS.实质上,他们可以以(关系)表格形式以及文件形式或两者来维护数据库.这意味着今天RDBMS应用程序是DBMS应用程序,反之亦然.但是,用于存储数据的关系数据库系统和普通数据库系统之间仍然存在重大差异.

  • 可能我要加上关系模型的先驱EF Codd,它具有[12条规则](http://www.tutorialspoint.com/dbms/dbms_codds_rules.htm),可以将数据库视为关系数据库。但是,众所周知,当今还没有数据库系统遵循所有规则。 (2认同)

Vij*_*com 25

这是DBMS和RDBMS之间主要差异的列表,请参见此处的源代码.

DBMS和RDBMS之间的差异表


pro*_*kor 9

每个RDBMS都是一个DBMS,但事实恰恰相反:RDBMS是一个基于关系模型的 DBMS,但不是每个DBMS都必须是关系型的.

但是,由于RDBMS是最常见的,因此有时术语DBMS用于表示不是关系的DBMS.这取决于具体情况.


小智 5

DBMS : 数据库管理系统..... 用于存储数据和有效检索数据。例如:Foxpro

1)DBMS 必须是持久的(当创建数据的程序不存在或什至创建数据的应用程序重新启动时,它应该是可访问的)。

2) DBMS 必须提供一些独立于特定应用程序的统一方法来访问存储的信息。

3)DBMS 不对数据操作施加任何限制或安全。用户或程序员有责任确保数据库的酸属性

4) 在 DBMS 规范化过程中将不存在

5)在dbms中没有关系概念

6)它只支持单用户

7)它在内部将数据视为文件

8)支持EFCODD的3条规则,12条规则

9)它对软件和硬件要求低。

FoxPro、IMS 都是例子

RDBMS:关系数据库管理系统

.....关系(表)用于获取信息检索的数据库,例如:oracle、SQL..、

1)RDBMS基于关系模型,其中数据以关系的形式表示,表之间具有强制关系。

2)RDBMS 定义了完整性约束,目的是为了保持 ACID PROPERTY。

3)在RDBMS中,会出现规范化过程来检查数据库表的一致性

4)RDBMS有助于在数据丢失的情况下恢复数据库

5)用于建立两个数据库对象即表之间的关系概念

6)支持多用户

7)它在内部将数据视为表格

8)支持EFCODD最少6条规则

9)对软硬件要求高


hac*_*cks 1

一段时间后,我意识到原来的答案有一些误导性和错误的信息。该答案的内容取自 Udemy 网站,但不幸的是该链接现在已损坏。我正在为未来的读者发布一个全新的答案。我现在删除了那个答案。


您可以将 DBMS 视为 RDBMS(一种特殊类型的 DBMS)的超集。

非关系型DBMS (有时简称为 DBMS)将数据存储为表(表之间没有任何关系)或平面文件。文档数据库和图形数据库是 DBMS 的示例。

另一方面,RDBMS 应用程序以表格形式存储数据以及表之间的关系。RDBMS 应用程序的一个例子是 MySQL。