RDBMS代表关系数据库管理系统。它基本上是一个允许我们创建、删除和更新关系数据库的程序。关系数据库是一种以行和列形式组织的表格格式存储和检索数据的数据库系统。它是 EF Codd 在 1970 年代设计的 DBMS 的一个较小子集。 SQL、My-SQL、ORACLE等主要的DBMS都是基于关系型DBMS的原理。
关系 DBMS 的基础是每个表的值都与其他表相关。它能够处理更大量的数据并轻松模拟查询。
关系数据库管理系统通过模拟以下功能来维护数据完整性:
- 实体完整性:数据库表的两条记录不能完全重复。
- 参照完整性:只能删除那些表中未被其他表使用的行。否则,可能会导致数据不一致。
- 用户定义的完整性:由用户根据机密性和访问权限定义的规则。
- 域完整性:基于默认值、数据类型或范围,数据库表的列包含在一些结构化限制内。
特征
- 数据必须以表格形式存储在DB文件中,即以行和列的形式组织。
- 表的每一行称为 record/tuple 。此类记录的集合称为表的基数
- 表的每一列称为一个属性/字段。此类列的集合称为表的元数。
- DB 表的两条记录不能相同。因此通过使用候选键避免了数据重复。候选键是唯一标识每条记录所需的最小属性集。
- 表在外键的帮助下相互关联。
- 数据库表也允许 NULL 值,即如果表中任何元素的值未填充或缺失,则变为 NULL 值,不等于零。 (注意:主键不能有 NULL 值)。
例子:
下表 STUDENT 由三列卷号、姓名、组别和学生 1、2、3 和 4 的四条记录组成。记录不能完全相同,Roll Number 作为分隔记录的候选键。
Roll number | Name | Section |
---|---|---|
1 | Ishita | A |
2 | Yash | B |
3 | Ishita | A |
4 | Mallika | C |
好处
- 易于管理:每张表都可以独立操作,不影响他人。
- 安全性:由多个安全级别组成,更安全。共享数据的访问可以受到限制。
- 灵活:数据更新可以在一个点完成,而无需对多个文件进行修改。数据库可以轻松扩展以包含更多记录,从而提供更大的可扩展性。此外,还有助于轻松应用 SQL 查询。
- 用户:RDBMS 支持将多个用户存储在一起的客户端架构。
- 便于大量数据的存储和检索。
- 简单的数据处理:
- 由于关系架构,数据获取速度更快。
- 由于键、索引和规范化原则,避免了数据冗余或重复。
- 保证数据一致性是因为RDBMS基于数据事务的ACID属性(原子一致性隔离持久性)。
- 容错:数据库复制提供同步访问并帮助系统在发生灾难时恢复,例如电源故障或突然关闭
缺点
- 高成本和广泛的硬件和软件支持:需要巨额成本和设置才能使这些系统正常运行。
- 可扩展性:在添加更多数据的情况下,需要服务器以及额外的电源和内存。
- 复杂性:大量数据会导致理解关系的复杂性,并可能降低性能。
- 结构化限制:关系数据库系统的字段或列被包围在各种限制内,可能导致数据丢失