6.2 数据库基础概念
待开发
理解数据库只需要掌握几个核心概念。本节用本土化案例讲解。
美团外卖数据库示例
想象美团外卖的数据库结构:
users 表(用户表)
| id | phone | address | created_at |
|---|---|---|---|
| 1 | 138****8888 | 北京市朝阳区... | 2024-01-01 |
| 2 | 139****9999 | 上海市浦东新区... | 2024-01-02 |
merchants 表(商家表)
| id | name | rating | category |
|---|---|---|---|
| 1 | 肯德基 | 4.8 | 快餐 |
| 2 | 海底捞 | 4.9 | 火锅 |
orders 表(订单表)
| id | user_id | merchant_id | amount | status |
|---|---|---|---|---|
| 1 | 1 | 1 | 35.00 | 已完成 |
| 2 | 2 | 2 | 298.00 | 配送中 |
核心概念
- 表(Table):就像 Excel 的一个 Sheet,比如
users表存所有用户 - 行(Row):表里的一行,代表一条数据(比如用户张三)
- 列(Column):表头,定义数据属性(手机号、地址等)
- 主键(Primary Key):每行的唯一 ID,比如
users.id - 外键(Foreign Key):关联其他表的线索,比如
orders.user_id关联到users.id
表之间的关系
- 一个用户有多个订单(一对多)
- 一个商家有多个菜品(一对多)
- 一个订单包含多个菜品(多对多,需要中间表)
SQLite vs PostgreSQL
| SQLite | PostgreSQL | |
|---|---|---|
| 定位 | 文件型数据库,零配置 | 完整的数据库服务器 |
| 适用场景 | 开发测试、单机应用 | 生产环境、高并发 |
| 本教程 | 学习阶段可用 | 推荐用于实际项目 |
理解关系是关键
数据库设计的核心是理解业务关系。"一个用户有多少个订单"这种问题,答案决定了表结构。
