关系型数据库是信息的集合,它以预定义的关系组织数据,数据存储在一个或多个由列和行构成的表(或称“关系”)中,用户可以轻松查看和理解不同数据结构之间的关系。关系是不同表之间的逻辑连接,根据这些表之间的交互建立。
了解 Google Cloud 的关系型数据库 Cloud SQL、Cloud Spanner 和 AlloyDB for PostgreSQL 如何帮助您降低运营成本和构建变革性应用。
准备好开始了吗?创建一个 90 天的 Cloud Spanner 免费试用实例,并免费享有 10 GB 存储空间。
关系型数据库 (RDB) 是一种在表、行和列中构建信息结构的方法。RDB 可以通过联接表来在信息之间建立关联或关系,从而使用户可以轻松理解和分析各种数据点之间的关系。
关系型数据库模型由 IBM 的 E.F. Codd 于 20 世纪 70 年代开发,它允许使用通用属性将任何表与另一个表相关联。Codd 没有使用层次结构来组织数据,而是提议改用一种数据模型,在表中存储、访问和关联数据,而无需重新组织包含数据的表。
您可以将关系型数据库视为一个电子表格文件集合,用于帮助企业组织、管理和关联数据。在关系型数据库模型中,每个“电子表格”都是一个存储信息的表,表示为列(属性)和行(记录或元组)。
属性(列)指定了数据类型,并且每条记录(或每行)都包含该特定数据类型的值。关系型数据库中的所有表都有一个称为主键的属性(该属性是行的唯一标识符),并且每行都可以用于使用外键(对另一个现有表的主键的引用)创建不同表之间的关系。
让我们来看看关系型数据库模型的实际运用方式:
假设您有一个客户表和一个订单表。
客户表包含有关客户的数据:
在客户表中,客户 ID 是唯一标识关系型数据库中客户的主键。客户 ID 各不相同。
订单表包含有关订单的交易信息:
在这里,标识特定订单的主键是订单 ID。您可以使用外键来关联客户表中的客户 ID,从而将客户与订单关联起来。
这两个表现在根据共享客户 ID 相关联,这意味着您可以查询这两个表以创建正式报告,也可以将数据用于其他应用。例如,零售部门经理可以生成一份有关在特定日期下单的所有客户的报告,或者找出上个月的订单送达日期有所推迟的客户。
以上说明比较简单。但是,关系型数据库也擅长显示数据之间非常复杂的关系,允许您引用更多表中的数据,只要数据符合数据库的预定义关系型架构即可。
由于数据以预定义关系的形式组织,因此您可以声明式地查询数据。声明式查询是一种定义要从系统中提取哪些内容的方法,无需指明系统应如何计算结果。这是关系型系统不同于其他系统的核心。
现在您已了解关系型数据库的工作原理,接下来可以开始了解使用关系型数据库模型的众多关系型数据库管理系统。关系型数据库管理系统 (RDBMS) 是一个用于创建、更新和管理关系型数据库的程序。一些最知名的 RDBMS 包括 MySQL、PostgreSQL、MariaDB、Microsoft SQL Server 和 Oracle 数据库。
Cloud SQL、Cloud Spanner 和 AlloyDB 等云端关系型数据库越来越受欢迎,因为它们可以为数据库维护、修补、容量管理、预配和基础架构支持提供托管式服务。
准备好开始了吗?创建一个 90 天的 Cloud Spanner 免费试用实例,并免费享有 10 GB 存储空间。
关系型数据库模型的主要优势在于,它提供了一种直观的方式来表示数据,并且可让您轻松访问相关的数据点。因此,关系型数据库最常用于需要管理大量结构化数据(从跟踪库存到处理交易数据,再到应用日志记录)的组织。
使用关系型数据库管理和存储数据还有许多其他优势,包括:
灵活性
您可以轻松添加、更新或删除表、关系以及在必要时对数据进行其他更改,而无需更改整个数据库结构或影响现有的应用。
ACID 合规性
关系型数据库支持 ACID(原子性、一致性、隔离性、耐用性)性能以确保数据有效(无论是否存在错误、故障或其他潜在灾难)。
易用性
您可以轻松使用 SQL 运行复杂的查询,即便是非技术用户也可以了解如何与数据库进行交互。
协作
多个用户可以同时操作和访问数据。内置的锁定功能可阻止用户在数据更新的同时访问数据。
内置安全功能
基于角色的安全性可确保只有特定用户才能访问数据。
数据库标准化
关系型数据库采用一种称为标准化的设计技术,该技术可减少数据冗余并提高数据完整性。
关系型数据库和非关系型数据库(NoSQL 数据库)之间的主要区别在于数据的存储和组织方式。非关系型数据库不会以基于规则的表格方式存储数据,而是以单独的未连接文件形式存储数据,并可用于复杂的非结构化数据类型,例如文档或富媒体文件。
与关系型数据库不同,NoSQL 数据库遵循灵活的数据模型,因此非常适合存储频繁更改的数据或处理各种类型数据的应用。