《SQL初学者指南(第2版)》——1.3 关系型数据库

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

本节书摘来自异步社区出版社《SQL初学者指南(第2版)》一书中的第1章,第1.3节,作者:【美】Larry Rockoff,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 关系型数据库

介绍完了这些预备知识,我们来了解一下关系型数据库的基础知识以及它们是如何工作的。关系型数据库就是一个数据集合,它保存了任意多个表。在常见的用法中,术语“关系(relational)”用来表示各个表以某种形式彼此相互关联。然而,更准确地讲,关系指的是数学关系理论,并且和一些逻辑属性相关,而这些逻辑属性负责管理表之间相关的方式。

例如,我们来看数据库的一个简单示例,它只有两个表:Customers表和Orders表。Customers表为每位下订单的客户保存一条记录。Orders表针对每个订单保存一条记录。每个表都可以包含任意多个字段,字段用来存储与每条记录相关的不同属性。例如,Customers表可以保存诸如FirstName和LastName这样的字段。

这时,可视化一些表和表中所包含的数据是很有用的。通常习惯是,把表显示为由行和列组成的一个表格。每一行表示表中的一条记录,每一列表示表中的一个字段。表的顶行通常是字段名。剩余的其他行则显示实际的数据。

在SQL术语中,记录(record)和字段(field)实际上就称为行(row)和列(column),这和视觉上的展示是对应的。因此,今后我们使用术语“行”和“列”来说明关系型数据库中表的设计,而不再使用记录和字段。

我们来看关系型数据库中一个可能的、最简单的示例。在这个数据库中,只有两个表,分别是Customers表和Orders表。这两个表看上去如下所示。

image

在这个示例中,Customers表包含了3个列:CustomerID、FirstName和LastName。目前,表中有3行,分别表示Bob Davis、Natalie Lopez和Connie King。每一行表示一个不同的客户,每一列表示该客户的一段不同的信息。与之类似,Orders表有4行和3列。这表示数据库中有4笔订单,每笔订单有3种属性。

当然,这个示例非常简单,并且只是提示了哪些数据类型可以存储到一个真实的数据库中。例如,Customers表通常会包含描述客户的其他属性的许多附加的列,诸如city、state、zip和phone number。同理,Orders表一般也会有一些描述订单的其他属性的列,诸如order date、sales tax以及接受该订单的salesperson。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
8天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
25天前
|
SQL 存储 BI
【软件设计师备考 专题 】数据库语言(SQL)
【软件设计师备考 专题 】数据库语言(SQL)
89 0
|
1月前
|
SQL 安全 数据库
SQL-Server 数据库部署
SQL-Server 数据库部署
61 0
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
1月前
|
SQL 数据库 C#
C# .NET面试系列十一:数据库SQL查询(附建表语句)
#### 第1题 用一条 SQL 语句 查询出每门课都大于80 分的学生姓名 建表语句: ```sql create table tableA ( name varchar(10), kecheng varchar(10), fenshu int(11) ) DEFAULT CHARSET = 'utf8'; ``` 插入数据 ```sql insert into tableA values ('张三', '语文', 81); insert into tableA values ('张三', '数学', 75); insert into tableA values ('李四',
62 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
29天前
|
SQL 数据库
sql server中创建数据库和表的语法
sql server中创建数据库和表的语法
18 1
|
8天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
66 6
|
1月前
|
SQL 关系型数据库 MySQL
使用SQL语句创建数据库:一步步指南
使用SQL语句创建数据库:一步步指南
93 0
|
4天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例