关系数据库概述总结
一、为什么需要数据库?
-
传统文件存储的痛点
- 读写文件需重复编写解析代码
- 海量数据查询逻辑复杂
- 数据接口不统一,难以复用
-
数据库的价值
- 应用层通过标准接口操作数据,解耦存储细节
- 专业数据管理,提升读写效率与可维护性
二、数据模型演进
1. 三种经典数据模型
- 层次模型:树状结构(如组织架构),适合单向层级关系
- 网状模型:多对多复杂网络(如城市路网),处理复杂关联
- 关系模型:二维表格(如 Excel),通过行 / 列唯一标识数据
2. 关系模型为何成为主流?
- 易理解:贴近日常表格认知
- 数学基础:基于集合论与笛卡尔积(无需深入数学定义)
- 灵活关联:通过主键 / 外键建立 “一对多” 关系(如班级表与学生表)
三、关系表核心要素
1. 数据类型(常用)
| 类型 | 说明 |
|---|---|
INT | 4 字节整数(±21 亿) |
BIGINT | 8 字节长整数(±922 亿亿,推荐用于 ID) |
VARCHAR(N) | 变长字符串(如姓名、地址,避免浪费存储空间) |
DECIMAL(M,N) | 高精度小数(财务计算,如DECIMAL(20,10)) |
DATETIME | 日期时间(如2025-06-21 14:30:00) |
2. 设计原则
- 优先选择
BIGINT+VARCHAR组合 - 财务场景用
DECIMAL而非浮点型 - 字符类型根据业务需求选择定长
CHAR或变长VARCHAR
四、主流关系数据库分类
| 类型 | 代表产品 | 适用场景 |
|---|---|---|
| 商用数据库 | Oracle、SQL Server、DB2 | 企业级复杂业务(高并发、强一致) |
| 开源数据库 | MySQL、PostgreSQL | 互联网应用(成本低、扩展性强) |
| 桌面数据库 | Access | 单机轻量级应用(如小型管理系统) |
| 嵌入式数据库 | SQLite | 移动端 / 嵌入式设备(低功耗、轻量级) |
五、SQL 核心知识
1. 定义
结构化查询语言(Structured Query Language),用于操作数据库的标准语言,支持跨数据库系统。
2. 核心功能分类
| 分类 | 功能描述 | 典型操作 |
|---|---|---|
| DDL | 数据定义语言 | 创建表CREATE TABLE、修改结构ALTER TABLE |
| DML | 数据操作语言 | 插入INSERT、更新UPDATE、删除DELETE |
| DQL | 数据查询语言 | 查询SELECT(最常用操作) |
3. 语法特点
- 关键字不区分大小写:
SELECT与select等价(教程约定大写) - 表名 / 列名大小写敏感:取决于数据库(如 MySQL 在 Linux 区分,Windows 不区分)
- 方言问题:标准 SQL 外,各厂商有扩展(如 Oracle 的 PL/SQL、MySQL 的存储过程)
六、总结
关系数据库通过二维表模型简化数据管理,SQL 作为通用操作语言成为开发必备技能。实际应用中需根据场景选择数据库类型,优先使用标准 SQL 保证可移植性,复杂场景结合具体数据库方言优化性能。