[MySQL数据库] 数据库简介
对于刚接触数据库的初学者来说,理解数据库的核心概念、设计原则和操作语言是入门的关键。本文将梳理数据库的基础知识点,帮助你快速建立对数据库的整体认知。
一、数据库核心概念
1️⃣数据(Data)
数据是数据库中存储的基本对象,是描述事物的符号记录,包括数字、文字、图形、图像、声音等。但数据的意义不仅在于形式,更在于其语义(含义)—— 比如 “18” 可能是年龄,也可能是编号,需要结合解释才能明确。
2️⃣数据库(DB)
数据库(DataBase)是长期存储在计算机内、有组织、可共享的数据集合。其特点是:按一定模型组织存储,冗余度小(重复数据少),数据独立性高(不依赖程序),且支持多用户共享。
3️⃣数据库管理系统(DBMS)
DBMS 是位于用户与操作系统之间的数据管理软件,负责数据库的建立、使用和维护。比如我们常用的 MySQL、Oracle 等,都属于 DBMS。
4️⃣数据管理的三个阶段
数据管理随着技术发展经历了三个阶段,对比如下:
阶段 | 应用背景 | 硬件 | 软件 | 处理方式 | 核心特点 |
---|---|---|---|---|---|
人工管理阶段 | 科学计算 | 无直接存取设备 | 无操作系统 | 批处理 | 数据依赖程序,无共享,冗余极大 |
文件系统阶段 | 科学计算、管理 | 磁盘、磁带 | 文件系统 | 联机实时处理、批处理 | 数据依赖文件系统,共享性差,冗余度大,独立性低 |
数据库系统阶段 | 大规模管理 | 大容量磁盘 | DBMS | 联机实时处理、分布处理等 | 由DBMS 管理,共享性高,冗余度小,具有高度物理独立性和一定逻辑独立性 |
二、数据模型:抽象现实世界的工具
数据模型是对现实世界数据特征的抽象,分为两类:
1️⃣概念模型(信息模型)
按用户观点建模,用于用户与设计人员沟通,最常用的是实体 - 关系模型(E-R 模型),用 E-R 图表示:
- 矩形框:实体(如 “学生”“课程”)
- 菱形框:实体间的关系(如 “选课”)
- 椭圆形框:属性(如学生的 “学号”“姓名”),主键属性下画横线
- 连线:实体与属性、关系与属性、关系与实体间用直线连接,标注关系类型(1:1、1:N、M:N)
2️⃣数据库数据模型
是 DBMS 支持的模型,由三部分组成:数据结构(数据的组织方式)、数据操作(增删改查等)、数据约束条件(规则限制)。
常见模型有 4 种:
- 层次模型:树形结构,如早期 IBM 的 IMS
- 网状模型:多对多关系,如 CODASYL
- 关系模型:以二维表(关系)组织数据,是目前主流(如 MySQL、Oracle)
- 面向对象模型:结合面向对象思想,支持复杂数据类型
其中,层次模型和网状模型统称 “非关系模型”,已逐渐被关系模型取代。
三、数据库设计原则:三大范式
为减少冗余、优化结构,关系型数据库设计需遵循 “范式” 规则,核心是三大范式:
1️⃣第一范式(1NF):确保每列原子性
列不可再分,即 “最小单位”。
例如:“地址” 列若需频繁查询 “城市”,应拆分为 “所在省”“所在市”“详细地址” 三列,而非保留整体 “地址”。
2️⃣第二范式(2NF):每列必须与主键相关
表中只能存一种数据,所有列必须依赖主键(或联合主键)。
例如:订单表若以 “订单编号 + 商品编号” 为联合主键,“商品名称”“价格” 仅依赖 “商品编号”,违反 2NF。需拆分:
- 订单信息表:存订单编号、客户、所属单位等
- 订单项目表:存订单编号、商品编号、数量等
- 商品信息表:存商品编号、名称、价格等
3️⃣第三范式(3NF):列与主键直接相关,不间接相关
避免 “传递依赖”,即列只能依赖主键,不能依赖其他非主键列。
例如:订单表中只需存 “客户编号”(关联客户表),无需存 “客户姓名”“所属公司”(这些属于客户表的属性,通过客户编号关联即可)。
四、SQL 语言:操作数据库的工具
SQL(结构化查询语言)是管理关系型数据库的标准语言,功能强大且易学。
1️⃣SQL 的特点
- 综合统一:集定义、查询、操纵、控制于一体
- 高度非过程化:只需说明 “做什么”,无需关注 “怎么做”
- 两种使用方式:既可直接交互,也可嵌入程序
- 简洁易学:核心语句少,语法简单
2️⃣SQL 核心分类
- DDL(数据定义语言):定义数据库结构,如创建 / 删除表、视图、索引(
CREATE
、DROP
等) - DQL(数据查询语言):查询数据,核心是
SELECT
语句 - DML(数据操纵语言):操作数据,如增(
INSERT
)、删(DELETE
)、改(UPDATE
) - DCL(数据控制语言):控制访问权限,如授权(
GRANT
)、撤销权限(REVOKE
) - DTL(数据事务语言):管理事务,如提交(
COMMIT
)、回滚(ROLLBACK
)
总结
数据库是数据管理的核心工具,从基础概念(数据、DB、DBMS)到数据模型(E-R 图、关系模型),再到设计原则(三大范式)和操作语言(SQL),构成了数据库的核心知识体系。对于初学者,理解这些基础并结合实践,能快速入门数据库技术。