外观
数据库基本概念
对于前端开发者来说,数据库可能听起来有点神秘,但其实它并不复杂。我们可以用很多前端熟悉的概念来理解它。
什么是数据库 (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)。
- 比如
name、age、email就是列。
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)。
接下来,我们将看看数据库界的两大门派:关系型数据库和非关系型数据库。
