欢迎来到第 5 单元:数据与数据库!

在本章中,我们将探索数字世界如何处理其最宝贵的资产:数据 (Data)。你可以把数据想象成 21 世纪的“黄金”。无论是你在 Instagram 上的点赞、你的学校成绩,还是银行的交易清单,这一切都需要被存储、整理并能迅速检索。在阅读完这些笔记后,你将会理解数据库是如何运作的,以及我们如何运用一种称为 SQL 的特殊语言来与它们“沟通”。如果一开始觉得某些术语很生硬,别担心,我们将会一起拆解这些概念!


5.1 数据与信息

人们经常把“数据 (Data)”和“信息 (Information)”当作同义词使用,但在信息技术中,它们可是大不相同!

5.1.1 数据与信息的区别

数据 (Data) 是指未经处理的事实和数字,它们本身没有意义。
例子:19052006 (这只是一串数字)。

信息 (Information) 是经过处理、组织或结构化后的数据,让人们能够理解其含义。
例子:19/05/2006 (现在我们知道这是一个出生日期)。

“烹饪”比喻:
数据 想象成原材料(面粉、鸡蛋、糖)。单独来看,它们没有什么实质用途。而 信息 就是你将这些原材料处理并“烹饪”后得到的蛋糕!

5.1.2 结构化与非结构化数据

并非所有数据看起来都一样。我们通常将其分为两大类:

1. 结构化数据 (Structured Data): 这类数据组织严密,整齐地存放在固定的字段或表格中。计算机非常容易对其进行搜索。
例子:Excel 电子表格或图书馆目录。

2. 非结构化数据 (Unstructured Data): 这是一些“杂乱”的数据,没有预定义的格式。对于计算机而言,整理和搜索这类数据要困难得多。
例子:社交媒体帖文、电子邮件、视频或录音文件。

5.1.3 提取意义的价值

为什么机构要花大笔钱在数据上?因为 提取有意义的信息 能让他们做出更明智的决策。
例子:超市通过查看“数据”(售出的商品)来获取“信息”(哪些零食在六月份最受欢迎),这样他们就能增加库存并赚取更多利润。

快速回顾:
- 数据: 原始事实(原材料)。
- 信息: 处理过的事实(成品蛋糕)。
- 结构化: 组织严密(表格)。
- 非结构化: 杂乱无章(邮件/视频)。


5.2 结构化数据(关系型数据库)

为了让结构化数据井井有条,我们使用 数据库 (Databases)。更准确地说,我们使用的是 关系型数据库 (Relational Databases),它们将数据存储在相互关联的表格中。

5.2.1 为什么要使用数据库?

试想一下,如果你要在 5,000 张杂乱无章的纸张中寻找一位学生的电话号码,那简直是一场噩梦!数据库让我们能够存储海量数据,在几毫秒内找到特定的项目,并确保数据不会意外重复或丢失。

5.2.2 数据库的结构

若要理解数据库,可以将其视为一组 表格 (Tables)(就像工作簿中的工作表)。每个表格由以下要素组成:

1. 字段 (Fields): 这是垂直的列。每个字段包含一类特定的信息(例如:“名字”)。
2. 记录 (Records): 这是水平的行。一项记录是关于某个人或事物的完整数据集(例如:学生 #101 的所有信息)。
3. 主键 (Primary Key): 用于识别每项记录的唯一字段。没有两项记录可以拥有相同的主键。
例子:你的学生编号。
4. 外键 (Foreign Key): 这是一个出现在 另一个 表格中的主键,用于将两个表格连接起来。
5. 复合键 (Composite Key): 有时单一字段不足以作为唯一识别码。复合键会使用 两个或多个 字段组合起来,以建立一个唯一的识别码。

记忆小撇步:
- Fields (字段) = Fences (篱笆,垂直竖立的列)。
- Records (记录) = Rows (行,水平的数据行)。

5.2.3 实体与关系

在数据库中,实体 (Entity) 就是我们想要存储数据的“对象”(例如:学生、书本或汽车)。这些实体之间存在 关系 (Relationships)

- 一对一 (1:1): 表格 A 中的每个项目仅对应表格 B 中的一个项目。
例子:一个人对应一本护照。
- 一对多 (1:M): 表格 A 中的一个项目对应表格 B 中的多个项目。
例子:一位老师对应班上的多位学生。
- 多对多 (M:M): 表格 A 中的多个项目对应表格 B 中的多个项目。
例子:多位学生修读多门不同的科目。

5.2.4 实体关系图 (ERD)

ERD 是一张地图或图表,展示了这些表格(实体)如何连接。它使用方框代表实体,并用连线显示它们之间的关系。如果你在连线末端看到一个“乌鸦脚”符号(分叉成三条线),这代表“多”。

重点总结: 数据库使用 主键 来保持组织性,并使用 外键 将不同的表格连接起来。


5.3 结构化查询语言 (SQL)

SQL(通常读作 "Sequel")是用于与数据库沟通的标准语言。如果数据库是一座图书馆,那么 SQL 就是你想要寻找、新增或修改书籍时与之交谈的图书馆管理员。

5.3.1 为什么要使用 SQL?

它让我们能高效地处理海量数据。与其点击浏览数千行数据,我们只需撰写一段简短的“指令”即可完成工作。

5.3.2 常见的 SQL 指令

1. 搜索数据 (SELECT 陈述式):
我们使用 SELECT 来选择字段,FROM 来指定表格,WHERE 来设定条件。
例子:SELECT StudentName FROM Students WHERE Grade = 'A';

2. 建立与填写表格:
- CREATE TABLE: 建立新表格并定义 数据类型(例如:INT 代表整数,VARCHAR 代表文字)。
- INSERT: 新增一项记录。
- UPDATE (修改): 变更现有信息。
- DELETE: 删除记录。

3. 连接表格:
- JOIN: 根据相关联的字段(通常是外键)合并两个或多个表格中的行。
- UNION: 将两个不同的 SELECT 查询结果合并成一个列表。

4. 使用通配符:
通配符是在你不确定确切拼写时使用的“捷径”:
- % (百分号): 代表 零个或多个 字符。
例子:WHERE Name LIKE 'J%' 可以找到 "Joe"、"James" 和 "Jessica"。
- _ (下划线): 代表 恰好一个 字符。
例子:WHERE Name LIKE 'H_t' 可以找到 "Hat" 或 "Hot"。

5. 整理结果:
- ORDER BY: 将列表排序(字母顺序或数字顺序)。
- GROUP BY: 将相同的数据归类成组。
- COUNT: 返回符合你搜索条件的行数。

常见错误提醒:
别忘了在 SQL 指令结尾加上分号 (;)!这是在告诉计算机你的指令已经结束了。

你知道吗?
SELECT 指令实际上并不会变更或删除你的数据;它只是“查看”数据。就像是透过窗户观察数据而不去触碰它们一样!


单元 1 总结:数据与数据库

1. 数据 是原始的;信息 是有意义的。
2. 结构化数据 被组织成 表格、字段和记录
3. 主键 必须是唯一的;外键 用于连接表格。
4. 关系 (1:1, 1:M, M:M) 定义了实体如何连接。
5. SQL 是我们用来 SELECT (选取)、INSERT (新增)、UPDATE (更新) 和 JOIN (连接) 数据的语言。

持续练习那些 SQL 指令吧——起初它们看起来像程序代码,但很快你就会觉得像在写句子一样自然!你一定做得到!