我对术语“DBMS”和“RDBMS”感到困惑。它们之间究竟有什么区别,更具体地说,oracle可以称为DBMS还是RDBMS?如果它是RDBMS的一个例子,那么DBMS的例子是什么?
RDBMS的一个方面是它将其元数据存储在表中并通过查询语言访问它们。
SELECT * FROM sys.tables, SELECT * FROM DUAL etc
DBMS
RDBMS
它与普通的DBMS有什么不同?
所以oracle是一个RDBMS。 See 25 examples of most popular RDBMS and DBMS
我认为Oracle既是:DBMS又是RDBMS。关系数据库(RDBMS)是更通用的数据库管理系统(DBMS)的子集。
为了快速总结一下RDBMS是什么,我认为维基百科是一个很好的资源来源:
关系数据库管理系统(RDBMS)是基于E.F.Codd引入的关系模型的数据库管理系统(DBMS)。目前使用的大多数流行的商业和开源数据库都基于关系数据库模型。
RDBMS的简短定义可以是DBMS,其中数据以表格的形式存储,并且数据之间的关系也以表格的形式存储。
来自:http://en.wikipedia.org/wiki/Relational_database_management_system
DBMS:有助于以表格形式在数据库中存储数据,在单个系统或本地网络上管理数据库的软件。它们用于管理少量数据,并用于小型企业应用程序。例如:MsExcel
RDBMS:一种DBMS,它还允许跨不同的表建立关系,并允许查询表以提取某些数据。它们对于有效管理大量数据非常有用,并且可用于大型业务应用程序。例如:Oracle,MySQL。
基本上,RDBMS是DBMS的超集。
任何SQL产品都被视为RDBMS。因此,Oracle是一个RDBMS。
令人困惑的是,'RDBMS'中的'R'代表'关系',而SQL有许多特征使得它与当前的关系理论基本不一致。然而,“SQL意味着RDBMS”这个概念已经确立,损害已经完成。因此,创造了一个新术语:TRDBMS,其中“TR”代表“真正的关系”。 Oracle不是TRDBMS。
Oracle是RDBMS的一个例子。示例系统是SQL Server,Oracle,MySQL,MariaDB,SQLite。对于DBMS示例系统是dBase,Microsoft Acces,LibreOffice Base,FoxPro。
DBMS是一个数据库管理系统。 “R”将Relational添加到混音中。因此,任何RDBMS都是DBMS。 Oracle是一个关系数据库,因此它是一个RDBMS。
DBMS =数据库管理系统。在我看来,这是一个通用术语,包括任何类型的数据库,包括关系数据库(如MySQL,Oracle,PostgreSQL,SQL Server等),分层数据库(如IMS),网络(例如:IDMS),对象面向对象,NoSQL和其他人。
RDBMS =关系数据库管理系统。对我来说,这是DBMS的一个子术语,仅包括那些实现(某种形式)关系模型的数据库产品。例如Oracle,MySQL,SQL Server,PostgreSQL。
那么,回答你的问题“Oracle是DBMS还是RDBMS的一个例子”,答案是肯定的。 :-)
分享和享受。
仅支持从System.table-x或用户表中选择Select *不会将产品限定为关系数据库。 SELECT支持可以由任何DBMS实现(非关系型)。至于元数据,早在1984年,在线查询SQL前端允许任何人对SELECTMS执行SELECT * FROM USER_047(针对字典中的元数据)到IDMS。那时IDMS是一个纯CODASYL网络数据库。在20世纪90年代,IDMS确实提供了完整的SQL支持,使用本机形式的SQL DDL和DML。
纯RDBMS必须支持使用SQL命令(SELECT,UPDATE,INSERT和DELETE)和GRANT,REVOKE等进行访问控制的全尺寸DDL和DML。此外,人们可以坚持不允许其他访问。如果不通过产品的DBMS软件,则不应该允许读取任何数据。 20世纪80年代的许多PC数据库都未通过此测试。它们都是某种具有访问权限的文件系统(Sql与否)。
在真正的DBMS中,数据库软件本身应该能够更新甚至“看到”数据。不应允许操作系统自己的文件程序以ASCII / EBCDIC形式浏览数据。 DBMS在某种程度上控制了从操作系统“借出”的文件的整个存储区域。操作系统访问方法涉及最低级别,但此处用户无法拦截。