RDBMS是关系数据库管理系统。 DBMS是数据库管理系统,这个概念更大一些。
大多数现代商业和开源数据库应用程序本质上是相关的。最重要的关系数据库功能包括在维护和实施某些数据关系的同时使用表进行数据存储的能力。
1970 年,IBM 的英国计算机科学家 Edgar F. Codd 发表了“大型共享数据库的数据关系模型”。当时,这篇着名的论文引起了人们的兴趣不大,很少有人理解 Codd 的开创性工作将如何定义关系数据存储的基本规则,可简化为:
数据必须存储并呈现为关系,即彼此具有关系的表,例如主/外键。 为了操纵存储在表中的数据,系统应该提供关系运算符 – 这些代码可以在两个实体之间测试关系。一个很好的例子是 SELECT 语句的 WHERE 子句,即 SQL 语句 SELECT * FROM CUSTOMER_MASTER WHERE CUSTOMER_SURNAME =’Smith’将查询 CUSTOMER_MASTER 表并返回姓氏为 Smith 的所有客户。 Codd 后来发表了另一篇论文,概述了所有数据库必须遵循的 12 条规则,才有资格作为关系。许多现代数据库系统并不遵循所有 12 条规则,但这些系统被认为是关系型的,因为它们符合 12 条规则中的至少两条。
大多数现代商业和开源数据库系统本质上是相关的,包括众所周知的应用程序,例如 Oracle DB(Oracle Corporation); SQL Server(微软)和 MySQL 和 Postgres(开源)
RDBMS强调relationship between tables. 即表与表之间是要有关系的。 而DBMS则可以不存在表与表之间的关系。
当大量的数据需要保存和维护的时候就需要用到RDBMS。一个关系数据模型是需要包含indexes,PK,FK,table和table间的关系。当然DBMS和RDBMS都可以用FK,只是对于RDBMS来说,FK是必须的,而且DBMS则不是。
DBMS可以接受没有任何关系的数据,而RDBMS则只接受有关系的数据。 DBMS更加适用于小型的商业应用,即处理并不庞大的数据, 而RDBMS则是用来出来更加复杂的应用,即更庞大的数据,以及更多的数据关系。