欢迎来到数据库的世界!

你有没有想过 Spotify 是如何记住你最爱的歌曲,又或者你的学校是如何在不搞混成绩的情况下追踪数千名学生?答案就是数据库(Databases)!在本章中,我们将探讨如何利用关系型数据库(Relational Databases)来组织、存储及链接数据。如果一开始看到很多专有名词感到困惑,别担心,我们会把它拆解成简单易懂的部分!

你知道吗?你手机里的几乎每个应用程序都会使用数据库来存储你的设置、消息以及最高分数。


1. 什么是数据库?

简单来说,数据库是一个持久(长期)存储组织化数据的地方。与其将信息堆成一团乱,数据库将其整齐地排列,以便你轻松查找和更新。

什么是“关系型”数据库?

关系型数据库是一种将数据存储在多个数据表(Table)中的数据库类型。这些数据表接着会通过特殊的“键(Key)”相互“关联”(链接)起来。

类比:想象一下学校的纸质档案系统。如果他们把所有东西都塞进同一个巨大的文件夹里,那将永远找不到东西!相反地,他们会使用不同的抽屉:一个放学生资料,一个放老师资料,另一个放课程资料。这些抽屉就如同关系型数据库里的数据表

重点总结:关系型数据库通过多个链接的数据表来保持组织化与高效率。


2. 构建要素:数据表、记录与字段

要理解数据库如何运作,我们需要先看看单一数据表的结构。它与电子表格(如 Excel 或 Google Sheets)非常相似。

  • 数据表(Table):关于某个特定事物的完整数据集合(例如“学生”数据表)。
  • 记录(Record):数据表中的单一“行”。它包含了关于某一个特定项目或人物的所有信息。例如:名为 Sarah 的某位学生的所有详细资料。
  • 字段(Field):数据表中的单一“列”。它存放特定类型的信息。例如:用于存放“出生日期”的字段。
  • 数据类型(Data Type):每个字段都必须有特定的数据类型(如年龄的整数 Integer,或名称的字符串 String)。这能确保数据输入正确!

记忆小撇步:
Field(字段) = Form(表单里的小格子)。
Record(记录) = Row(横向的数据行)。

快速复习:哪一个是横行?是记录(Record)!哪一个是纵列?是字段(Field)


3. 链接数据表:主键与外键

在关系型数据库中,我们需要一种方法来告诉电脑:数据表 A 中的某条记录属于数据表 B 中的某条记录。我们通过键(Keys)来做到这一点。

主键(Primary Key)

每个数据表都必须有一个主键。它是数据表中每条记录的唯一标识符。没有两条记录可以拥有相同的主键。

例子:你可能会有一个学生编号(Student ID)。即使学校里有两个人叫“John Smith”,但你们的编号会不同。那个编号就是你的主键。

外键(Foreign Key)

外键是数据表中的一个字段,该字段在另一个数据表中是主键。它扮演了两个数据表之间的链接或“桥梁”角色。

运作方式:
1. 在学生数据表中,学生编号 (StudentID)主键
2. 在图书馆书籍数据表中,我们加入一个 学生编号 (StudentID) 字段,这样我们就知道是谁借了哪本书。
3. 在图书馆书籍数据表中,学生编号 (StudentID) 就是外键,因为它链接回主要的学生数据表。

重点总结:主键用来识别;外键用来链接。


4. 为什么要用关系型数据库?

你可能会想:“为什么不干脆把所有东西都放进同一个大表格里?”使用多个数据表可以帮助我们解决两个大问题:数据冗余(Redundancy)数据不一致(Inconsistency)

消除数据冗余

数据冗余是指将相同的数据存储多次,这会浪费存储空间!
例子:如果我们只有一个大表格记录“图书馆借阅”,我们每次有人借书,就必须重新输入学生的姓名、地址和电话号码。在关系型数据库中,我们只需在“学生”数据表存储一次这些信息,然后用他们的编号进行链接即可。

消除数据不一致

数据不一致发生在相同数据存储在两个地方,而其中一处更新了但另一处却没有。
例子:如果 Sarah 搬家了,我们只需要在一个地方(学生数据表)更新她的地址。如果我们要在许多表格里都放了她的地址,我们可能会忘记更新其中一个,这会导致电脑无法判断哪个地址才是正确的“不一致”问题。

避开常见错误:学生常误以为“冗余”和“不一致”是一样的意思。
- 冗余(Redundancy) = 数据重复(浪费空间)。
- 不一致(Inconsistency) = 数据冲突(导致错误)。

重点总结:关系型数据库通过减少重复来提高数据准确性并节省空间。


快速复习箱

数据库:持久、组织化的数据存储处。
数据表:由横向的记录(Row/Record)和纵向的字段(Column/Field)组成。
主键:记录的唯一标识符。
外键:链接至另一个数据表的主键。
关系型优点:杜绝数据冗余不一致


如果觉得要记的东西很多,别担心。只要记住“学校抽屉”的类比!一旦你理解了数据表如何通过 ID 互相链接,其余的数据库理论就会变得简单多了。