DBMS中的关系数据模型 | 数据库概念与示例

什么是关系模型?

关系模型 (RM) 将数据库表示为关系的集合。关系就是值的表。表中的每一行代表一组相关的值。表中的这些行表示一个真实世界的实体或关系。

表名和列名有助于解释表中值的含义。数据表示为一组关系。在关系模型中,数据以表的形式存储。但是,数据的物理存储独立于数据的逻辑组织方式。

一些流行的关系数据库管理系统是

  • DB2 和 Informix Dynamic Server – IBM
  • Oracle 和 RDB – Oracle
  • SQL Server 和 Access – Microsoft

DBMS 中的关系模型概念

  1. 属性:表中的每一列。属性是定义关系的属性。例如,Student_Rollno、NAME 等。
  2. – 在关系模型中,关系以表格格式保存。它与其实体一起存储。表有两个属性:行和列。行代表记录,列代表属性。
  3. 元组 – 它就是表中的单行,包含一个记录。
  4. 关系模式:关系模式表示关系及其属性的名称。
  5. 度:关系中属性的总数称为关系的度。
  6. 基数:表中的总行数。
  7. 列:列表示特定属性的值集。
  8. 关系实例 – 关系实例是 RDBMS 系统中有限的元组集合。关系实例从不包含重复的元组。
  9. 关系键 – 每一行都有一个、两个或多个属性,称为关系键。
  10. 属性域 – 每个属性都有一些预定义的值和范围,称为属性域

Relational Model Concepts

关系完整性约束

DBMS 中的关系完整性约束是指对于有效关系必须存在的条件。DBMS 中的这些关系约束源自数据库所表示的迷你世界的规则。

DBMS 中有许多类型的完整性约束。关系数据库管理系统上的约束主要分为三类:

  1. 域约束
  2. 键约束
  3. 参照完整性约束

域约束

如果属性值不在相应的域中或数据类型不正确,则可能违反域约束。

域约束指定在每个元组中,每个属性的值都必须是唯一的。这指定为包括标准数据类型整数、实数、字符、布尔值、可变长度字符串等的数据类型。

示例

Create DOMAIN CustomerName
CHECK (value not NULL)

所示示例演示了创建域约束,使 CustomerName 不为 NULL

键约束

可以唯一标识关系中元组的属性称为表键。关系中不同元组的属性值必须是唯一的。

示例

在给定的表中,CustomerID 是 Customer 表的键属性。一个客户很可能只有一个键,CustomerID =1 仅用于 CustomerName =“Google”。

CustomerID CustomerName 状态
1 Google Active
2 Amazon Active
3 Apple Inactive

参照完整性约束

DBMS 中的参照完整性约束基于外键的概念。外键是关系中的重要属性,应在其他关系中引用。参照完整性约束发生在关系引用不同或相同关系键属性的情况下。但是,该键元素必须存在于表中。

示例

Relational Integrity Constraints

在上例中,我们有 2 个关系:Customer 和 Billing。

CustomerID =1 的元组在 Billing 关系中被引用了两次。因此,我们知道 CustomerName=Google 的账单金额为 300 美元。

关系模型中的操作

在关系数据库模型中执行的四个基本更新操作是

插入、更新、删除和选择。

  • Insert 用于将数据插入到关系中
  • Delete 用于从表中删除元组。
  • Modify 允许您更改现有元组中某些属性的值。
  • Select 允许您选择特定范围的数据。

每当应用这些操作之一时,关系数据库模式上指定的完整性约束绝不能被违反。

插入操作

Insert 操作提供新元组的属性值,该元组应插入到关系中。

Insert Operation in Relational Model

Update 操作

您可以看到,在下面的关系表中,CustomerName='Apple' 从 Inactive 更新为 Active。

Update Operation in Relational Model

删除操作

要指定删除,关系属性上的条件将选择要删除的元组。

Delete Operation in Relational Model

在上例中,CustomerName="Apple" 已从表中删除。

如果被删除的元组被同一 数据库 中其他元组的外键引用,则 Delete 操作可能会违反参照完整性。

Select 操作

Select Operation in Relational Model

在上例中,选择了 CustomerName="Amazon"

创建关系模型的最佳实践

  • 数据需要表示为关系的集合
  • 每个关系都应在表中清晰地描绘
  • 行应包含关于实体实例的数据
  • 列必须包含关于实体属性的数据
  • 表的单元格应包含单个值
  • 每列都应有一个唯一的名称
  • 没有两行可以相同
  • 属性的值应来自同一域

关系数据库模型的优点

  • 简单性:DBMS 中的关系数据模型比层次模型和网络模型更简单。
  • 结构独立性:关系数据库仅关注数据而不关注结构。这可以提高模型的性能。
  • 易于使用:DBMS 中的关系模型易于使用,因为由行和列组成的表非常自然且易于理解。
  • 查询能力:它使得像 SQL 这样的高级查询语言可以避免复杂的数据库导航。
  • 数据独立性:关系数据库的结构可以在不更改任何应用程序的情况下进行更改。
  • 可扩展性:关于记录或行的数量以及字段的数量,应扩大数据库以增强其可用性。

关系模型的缺点

  • 某些关系数据库对字段长度有限制,无法超过。
  • 随着数据量的增长以及数据之间关系的复杂化,关系数据库有时会变得复杂。
  • 复杂的关系数据库系统可能导致孤立的数据库,其中信息无法从一个系统共享到另一个系统。

摘要

  • 关系数据库建模将数据库表示为一组关系(表)
  • 属性、表、元组、关系模式、度、基数、列、关系实例是关系模型的一些重要组成部分
  • 关系完整性约束是指 DBMS 中有效关系方法必须存在的条件
  • 如果属性值不在相应的域中或数据类型不正确,则可能违反域约束
  • 关系模型中的约束执行的操作包括插入、选择、修改和删除
  • 关系数据库仅关注数据而不关注结构,这可以提高模型的性能
  • DBMS 中关系模型的优点包括简单性、结构独立性、易用性、查询能力、数据独立性、可扩展性等。
  • 某些关系数据库对字段长度有限制,无法超过。