RDBMS定义2025年03月17日 | 阅读 9 分钟 什么是 DBMS?DBMS,即数据库管理系统,是一种文件处理程序,用于高效地创建、管理或处理数据库系统。DBMS 使定义、设计、操作或与不同用户共享数据库变得更加容易。它可以执行各种操作,例如插入、更新或删除等。数据库可以被视为一组相似的数据。 数据库有两种类型:结构化数据库和非结构化数据库。结构化数据库具有存储数据和维护它们之间关系的适当结构或格式。例如,以表(Excel 文件)的形式存储数据。非结构化数据库没有适当的格式,数据是随机存储的——例如,网页。 DBMS 的一些例子是 SQL、MYSQL、Oracle 等。 数据库分为两种类型——关系数据库和非关系数据库。 什么是 RDBMS?关系数据库管理系统 (RDBMS) 是一种基于关系模型数据库系统。RDBMS 用于存储、操作和处理通过表相互形成关系的结构化数据库。表有行(也称为元组或记录)和列(也称为属性或字段)。RDBMS 是最流行的数据库管理系统,因为它易于实现并且能够存储和检索大量数据。  RDBMS 的示例和术语我们以一个例子,将员工数据存储在一个表中,其中列包括员工姓名、员工年龄、员工 ID 和员工工资。 员工姓名 | 员工年龄 | 员工 ID | 员工工资 |
---|
米拉 | 35 | 1235 | 35000 印度卢比 | 萨米尔 | 30 | 1236 | 33000 印度卢比 | 萨姆里迪 | 28 | 1237 | 30000 印度卢比 |
在这里,员工数据以带有行和列表的表格格式组织,因此可以将其视为关系数据库。这里,每一行都被称为元组或记录。每个元组都应该是唯一的。每一列都被称为一个属性。属性应该有一个特定的名称。在上面的表中,员工姓名、员工年龄、员工 ID 和员工工资是属性。主键是一个对每一行都唯一的属性。在上面的表中,员工姓名、年龄或工资对于某些员工来说可能相似,但员工 ID 对于每个员工都将是唯一的;因此员工 ID 是这里的主键。属性和元组相交的单元格称为数据单元格。表中属性的总数称为度。这里,RDBMS 的度为四,因为我们有四个属性,即员工姓名、年龄、ID 和工资,而表中元组或行的数量称为基数。这里,基数为三,因为表中有三行。特定属性可实现的值的总数称为域。让我们考虑员工的年龄,范围可能在 25 到 60 岁之间。因此,员工年龄的域将是 (25, 60)。如果数据单元格中未插入任何值,则该值被视为NULL 值,并且 NULL 值与零不同。  RDBMS 的关系模型它是一种模型,它表明任何表都通过一个共同的属性与其他表相关联。RDBMS 中的表有一个属性或主键,它在行中是唯一标识的,这些行用于通过外键在其他表之间创建关系。 一些最常见的 RDBMS 包括 MYSQL、Oracle 和 MariaDB 数据库。 主键:主键是用于在表中查找关系或相似性的唯一键。每个表都有一个唯一的、其他表不能共享的主键。 外键:外键用于由主键引用的不同表。一个表中可以有多个外键,这些外键也可以与其他表共享。 RDBMS 的优点- 数据组织: RDBMS 提供了更好的数据组织方式,因为它借助行和列清晰地显示了它们之间的关系。
- 更好的安全措施: 数据库更安全,因为 RDBMS 提供基于角色的安全性,访问控制需要用户级权限,并且通信是加密的。
- 避免冗余: 数据只存储一次;因此避免了冗余,并且不需要多次更改。
- 易于使用: 数据库之间关系的形成有助于用户轻松理解和使用它。
- 多用户: RDBMS 允许多个用户同时访问。
- SQL: 它支持 SQL 语言。
- 快速: RDBMS 支持在更短的时间内存储和检索大量数据。
- 容错: 在突然关机或断电的情况下,帮助系统恢复丢失的数据。
RDBMS 的缺点- 需要大量的成本和设置才能使这些系统正常运行。
- 需要额外的成本和电力。
- 系统复杂性;大量数据会增加理解关系的复杂性,从而降低性能。
- 限制;RDBMS 的字段或列存储在各种限制内。
RDBMS 的特点- 数据以表格格式存储在行和列中,其中每行称为元组或记录,每列称为属性或字段。
- 每行都是唯一的,没有两个记录可以相同。
- 使用外键将表相互关联。
- 表中任何缺失的值都被视为 NULL 值,NULL 值与零不同。
- RDBMS 支持规范化;它是有效管理和组织数据库以避免数据冗余的过程,从而有助于逻辑地维护和存储数据。规范化分为各种范式。有三种类型的范式:第一范式 (1NF)、第二范式 (2NF) 和第三范式 (3NF)。
- RDBMS 支持分布式数据库。分布式数据库是一种将数据存储在多台计算机上而不是存储在一个系统上的数据库。
 RDBMS 作为分布式系统 数据完整性- 实体完整性 - 实体完整性意味着关系或表中不能有重复的行。
- 域完整性 - 域完整性是指限制值的类型、格式和范围。
- 参照完整性 - 它意味着不能删除其他不同行使用的行。
- 用户定义完整性 - 它包含一些不属于上述三个规则的特定规则。
DBMS 和 RDBMS 有什么区别?
DBMS | RDBMS |
---|
DBMS 指的是数据库管理系统。 | RDBMS 指的是关系数据库管理系统。 | 使用文件系统方法存储数据。 | 数据以包含行和列的表格格式存储。 | 数据以分层形式表示和访问。 | 表用于表示和访问数据。 | DBMS 中不表示数据之间的关系。 | 数据之间的关系通过表呈现。 | DBMS 不支持规范化。 | 规范化可以应用于 RDBMS。 | 它仅限于处理少量数据。 | 它可以处理大量复杂的数据。 | 它支持分布式数据库。 | 它不支持分布式数据库。 | 一次只能有一个用户访问数据。 | 允许多个用户同时访问数据。 | 示例:文件系统 | 示例:SQL、MySQL、Oracle 等。 |
RDBMS 中的关系操作RDBMS 中的关系操作是对一个或多个表执行的操作,以形成另一个表。并集、交集和差集是几个基本的关系操作。 - 并集:并集操作 (UNION) 用于将两个不同的表或关系组合成一个表或关系。新表包含两个表的所有元素。并集操作删除所有重复项,只显示唯一值。如果要显示重复值,则使用 UNION ALL。
- 交集:交集操作 (INTERSECT) 只显示两个表的共同值。结果表只包含两个关系的共同值。交集也删除所有重复值。
- 差集:差集操作 (MINUS) 显示存在于第一个关系中而不存在于第二个关系中的值。
Codd 的 12 条规则1970 年,Edgar F. Codd 为数据库被认为是真正的关系数据库提出了十二条规则。规则如下: - 规则 0:基础规则 - 要将任何数据库视为关系型 DBMS,它必须能够在其关系能力范围内操作、处理和实现数据库。
- 规则 1:信息规则 - 要将数据库视为 RDBMS,其中的数据必须以包含行和列的表格格式存储。
- 规则 2:保证访问规则 - 保证访问规则规定,可以通过行值(主键)、列值(属性)和表名访问数据库中的每个值。
- 规则 3:NULL 值的系统处理 - 此规则规定,表中缺失或空值表示为 NULL 值,并且 NULL 值与零不同。
- 规则 4:基于关系模型的主动在线目录 - 整个数据集的结构化表示必须存储在数据字典中,以便允许用户轻松访问。授权用户可以使用与访问数据库本身相同的关系查询语言。
- 规则 5:全面的数据子语言规则 - 可以借助具有明确语法并支持数据定义、数据操作、授权和完整性约束等操作的语言来访问 RDBMS。
- 规则 6:视图更新规则 - 数据库中所有理论上可以更新的视图都应该能够由系统在数据库中进行更新。
- 规则 7:高级插入、更新和删除规则 - 如果 DBMS 具有执行插入、删除和更新等高级操作的能力,则它被认为是关系型 DBMS。它还应该支持并集、交集和差集等集合关系操作。
- 规则 8:物理数据独立性规则:当数据库的物理结构发生任何更改时,应用程序程序应不受影响。因此,数据库应该独立于可以访问它的应用程序。
- 规则 9:逻辑数据独立性 - 使用数据库的应用程序不应受对数据进行的任何逻辑更改的影响。
- 规则 10:完整性独立性规则 - 完整性独立性规则规定数据库不应依赖于使用它的应用程序。
- 规则 11:分布独立性规则 - 用户不应该能够看到数据分布在多个网络上。
- 规则 12:非颠覆规则 - 如果系统具有低级语言,则不能使用它来破坏高级关系语言中规定的完整性规则。
RDBMS 的例子- MySQL: MySQL 是最流行的开源关系数据库管理系统,用于开发基于 Web 的应用程序。它使用最常见和最知名的语言 SQL,因此它是一个易于使用的 RDBMS。它使用快速,并且可以有效地处理复杂的数据集。
- Microsoft SQL Server:由 Microsoft 开发,Microsoft SQL Server 是一个关系数据库管理系统,可以执行各种基本功能,例如检索和存储数据。它用于多事务处理、业务分析应用程序等。
- Oracle:由 Oracle Corporation 开发,Oracle 是一个关系数据库,其主要功能是检索和存储大量复杂数据。它是用于存储和处理大数据的最流行的 RDBMS 之一。
- PostgreSQL: PostgreSQL 是一个免费使用的开源关系数据库管理系统,被认为是安全准确的 RDBMS,拥有超过 15 年的经验。它支持所有重要的操作系统,并包含所有主要的编程接口,如 Java、C、C++、Python、Ruby、Perl 等。它支持所有主要的 SQL 标准,并包含各种新功能。
RDBMS 的其他示例包括 SQLite、MariaDB、IBM Informix、Amazon RDS、H2 Database Engine、Sybase ASE、Apache Derby 等。
|