Skip to content

数据库基本概念

对于前端开发者来说,数据库可能听起来有点神秘,但其实它并不复杂。我们可以用很多前端熟悉的概念来理解它。

什么是数据库 (Database)?

想象一下,你在写一个前端应用。

  • 变量 (Variables):数据存在内存里,刷新页面就没了。
  • LocalStorage / SessionStorage:数据存在浏览器里,虽然能持久化,但容量小,而且只能在当前用户的浏览器里访问,别人看不到。
  • JSON 文件:你可以把数据写在一个 .json 文件里,但这很难管理,尤其是当有几千几万条数据,或者多个人同时要修改数据的时候。

数据库,本质上就是一个专门用来存储和管理数据的超级软件。 它就像是一个运行在服务器上的“超级 Excel” 或者 “云端 JSON 仓库”。它不仅能存海量的数据,还能让你快速找到你想要的数据,并且保证数据不会丢、不会乱。

核心术语(前端视角版)

在学习数据库时,你会经常听到以下术语。我们可以用 JS 对象和数组来类比:

1. 表 (Table)

在关系型数据库(如 MySQL)中,数据是存放在里的。

  • 前端类比:这就相当于一个对象数组 Array<Object>
  • 比如一个 users 表,就是存放所有用户信息的数组。

2. 行 (Row / Record)

表里的每一行数据。

  • 前端类比:数组里的某一个对象
  • 比如 { id: 1, name: 'Jack', age: 18 } 就是一行数据。

3. 列 (Column / Field)

表里的每一列,定义了数据有哪些属性。

  • 前端类比:对象的属性名 (Key)
  • 比如 nameageemail 就是列。

4. 模式 (Schema)

定义表的结构,比如有哪些列,每一列是什么类型(数字、字符串、日期)。

  • 前端类比:这就相当于 TypeScript 的 Interface
  • 你必须先定义好 interface User { id: number; name: string; },才能往里面存数据。

5. 主键 (Primary Key)

用来唯一标识一行数据的列。

  • 前端类比:React/Vue 列表渲染时要求的 key
  • 它必须是唯一的,通常是一个自增的 ID(1, 2, 3...)或者 UUID。

6. 外键 (Foreign Key)

用来关联其他表的数据。

  • 前端类比:对象里的引用
  • 比如 order 对象里有一个 userId: 1,这个 userId 就是外键,它指向 users 表里 id 为 1 的那个用户。

什么是 DBMS?

你可能听过 MySQL, PostgreSQL, Oracle, MongoDB。这些软件统称为 DBMS (数据库管理系统)

  • 数据库 (Database) 是那个存数据的文件或仓库。
  • DBMS 是管理这个仓库的软件。

就像你用 VS Code (软件) 来编辑 代码文件 (数据) 一样,你需要用 MySQL (软件) 来操作 数据库文件

什么是 SQL?

SQL (Structured Query Language) 是结构化查询语言。

  • 前端类比
    • 前端用 JavaScript 操作 DOM
    • 后端用 SQL 操作 数据库

你不需要手动去点鼠标查找数据,而是写一行代码告诉数据库:“帮我把所有年龄大于 18 岁的用户找出来”。

sql
-- 这就是一句 SQL
SELECT * FROM users WHERE age > 18;

总结

作为前端,你只需要记住:数据库就是运行在服务器端的、结构更严谨、功能更强大的状态管理库(State Management)

接下来,我们将看看数据库界的两大门派:关系型数据库和非关系型数据库。