数据库管理系统中的关系数据模型: Concepts & 例子

⚡ 智能摘要

关系模型将数据库表示为关系的集合,其中每个关系都是一个包含行和列的表。它定义了核心概念、完整性约束和更新操作,以确保关系数据的一致性和易于查询。

  • 🗃️ 核心理念: 数据以关系的形式存储,每一行都是一个元组,描述一个现实世界的实体或关系。
  • 🏷️ 关键条款: 属性、元组、度、基数、域和关系键共同描述了表的形状。
  • 🛡️ 三个限制条件: 域完整性约束、键完整性约束和参照完整性约束保证每个关系都有效。
  • ???? 键链接表: 主键唯一标识一行,外键引用另一个关系中的键。
  • 🔄 四 Opera位置: 在不违反已定义约束的前提下,对关系进行插入、更新、删除和选择操作。
  • 设计规则: 每个单元格只能有一个值,列名必须唯一,不能有重复行,且值必须来自同一个域。
  • 📈 获胜原因: 简洁性、结构独立性、高级查询语言和数据独立性。

DBMS 中的关系数据模型

什么是关系模型?

关系模型(RM) 将数据库表示为关系的集合。关系不过是一张值表。表中的每一行都表示相关数据值的集合。表中的这些行表示现实世界中的实体或关系。

表名和列名有助于理解每一行数据的含义。数据以关系集的形式表示。在关系模型中,数据以表格的形式存储。然而,数据的物理存储方式与数据的逻辑组织方式无关。

该模型由 EF Codd 于 1970 年提出,至今仍是几乎所有主流数据库的基础。 一些常用的关系型数据库管理系统包括:

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

关系模型 Concepts 在 DBMS 中

  1. 属性: 表中的每一列。属性是定义关系的特征,例如,学号、姓名等。
  2. 表: 在关系模型中,关系以表格形式保存,并与实体一起存储。表格有两个属性:行和列。行代表记录,列代表属性。
  3. 元组: 它只不过是表格中的一行,其中包含一条记录。
  4. 关系模式: 关系模式表示关系及其属性的名称。
  5. 学士课程: 关系中属性的总数称为关系的度。
  6. 基数: 表中的总行数。
  7. 柱: 该列代表特定属性的一组值。
  8. 关系实例: 在关系数据库管理系统中,关系实例是一组有限的元组。关系实例中永远不会有重复的元组。
  9. 关系键: 每一行都有一个、两个或多个属性,这些属性被称为关系键。
  10. 属性域: 每个属性都有一些预定义的值和范围,这被称为属性域。

关系模型概念图示

词汇量到位后,下一个需要关注的问题是保持ping 这些关系中的数据是有效的,这是完整性约束的作用。

相关的 Integrity 限制

数据库管理系统中的关系完整性约束是指有效关系必须满足的条件。这些关系约束源自数据库所代表的微观世界中的规则。

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

  1. 域约束
  2. 关键约束
  3. 参考文献 Integrity 限制

域约束

如果属性值未出现在相应的域中,或者数据类型不合适,则可能违反域约束。

域约束规定,每个元组中每个属性的值必须是原子性的,并且必须来自正确的域。域以数据类型的形式指定,包括整数、实数、字符、布尔值和变长字符串等标准类型。

计费示例:

CREATE DOMAIN CustomerName
CHECK (value NOT NULL)

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

关键约束

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

计费示例:

在给定的表格中,CustomerID 是 Customer 表的一个关键属性。一个客户很可能只有一个 CustomerID 值;CustomerID = 1 仅对应 CustomerName。Google指南中全面介绍了各种不同的按键类型。 数据库管理系统密钥.

顾客ID 顾客姓名 状态
1 Google 有效
2 Amazon 有效
3 蘋果 过去的

参考文献 Integrity 限制

数据库管理系统中的引用完整性约束基于外键的概念。外键是一个关系的重要属性,其他关系需要引用它。当一个关系引用另一个关系(无论该关系是否相同)的键属性时,就会发生引用完整性约束。被引用的键元素必须存在于被引用的表中。

计费示例:

客户与客户之间的参照完整性 Bill关系

在上面的例子中,我们有两个关系,Customer 和 BillING。

CustomerID = 1 的元组在关系中被引用了两次 Bill所以我们知道客户名称“Google账单金额为 300 美元。

Opera关系模型中的问题

关系数据库模型上执行四种基本更新操作:插入、更新、删除和选择。

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

无论何时应用这些操作之一,都绝不能违反关系数据库模式中指定的完整性约束。

插页 OperaTION

插入操作会给出要插入到关系中的新元组的属性值。

插入操作,将新元组添加到关系中

更新 OperaTION

您可以在下面的关系表中看到,客户名称“Apple”已从“非活跃”更新为“活跃”。

更新操作更改元组中的状态值

删除 OperaTION

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

删除操作:从关系中移除元组

在上面的例子中,CustomerName“Apple”从表中删除。

如果被删除的元组被同一数据库中其他元组的外键引用,则删除操作可能会破坏引用完整性。 数据库.

选择 OperaTION

选择操作,选择特定元组

在上面的例子中,“客户名称”Amazon”被选中。

关系模型与层级模型和网络模型

关系模型取代了之前的两种方法,这种对比解释了它为何最终占据主导地位。下表将这三种模型并列列出。

方面 关系模型 层次模型 网络模型
结构 表(关系) 树,父子 图,多对多
资料存取 声明式,按值 导航,按路径 导航,通过指针
关系 外键 父子链接 集合和指针
查询语言 SQL 程序代码 程序代码
灵活性

由于关系模型是通过值而不是通过物理链接来处理数据的,因此像 这样的高级语言 SQL 无需了解数据存储方式即可表达查询。

创建关系模型的最佳实践

  • 数据需要表示为关系的集合。
  • 表格中应清晰地展现每一种关系。
  • 行应包含有关实体实例的数据。
  • 列必须包含有关实体属性的数据。
  • 表格中的每个单元格都应该只包含一个值。
  • 每一列都应该有一个唯一的名称。
  • 任何两行都不可能完全相同。
  • 属性值应来自同一域。

关系数据库模型的优势

  • 简单性: 数据库管理系统中的关系数据模型比层次模型和网络模型更简单。
  • 结构独立性: 关系型数据库只关注数据而不关注结构,这可以提高模型的性能。
  • 使用方便: 关系模型易于使用,因为由行和列组成的表格自然而简单易懂。
  • 查询功能: 这使得像 SQL 这样的高级查询语言能够避免复杂的数据库导航。
  • 数据独立性: 关系数据库的结构可以在不更改任何应用程序的情况下进行更改。
  • 可扩展性: 就记录数或行数以及字段数而言,可以通过增加数据库来提高其可用性。

关系模型的缺点

  • 很少有关系型数据库对字段长度有限制,不能超过这个限制。
  • 随着数据量的增长和数据之间关系的日益复杂,关系型数据库有时会变得非常复杂。
  • 复杂的关联数据库系统可能导致数据库彼此孤立,信息无法在系统间共享。

常见问题

度是指关系中属性(或列)的数量。基数是指元组(或行)的数量。度描述了表的宽度,基数描述了表的高度。

关系是一种数学集合,而集合中不会包含重复元素。主键确保了这一点,因此每个元组都有唯一的标识,并且没有两行数据是完全相同的。

人工智能模型通常基于从关系表中提取的特征进行训练,这些特征是通过 SQL 连接和聚合操作获取的。人工智能还可以将简单的英语问题翻译成 SQL 语句,以便非技术用户可以直接查询关系。

是的。给定示​​例数据或需求,人工智能可以建议表结构、主键和外键以及规范化形式。但输出结果仍需审核,因为规范化取决于人工智能可能并不了解的业务规则。

在实践中,它们经常互换使用。形式上,关系是一组无序且无重复的元组,而表则是关系的物理表示,可以按存储顺序显示行。

总结一下这篇文章: