SQL 课程-第九篇:数据库设计与 SQL 实践
1. 数据库设计原则与流程
1.1 数据库设计原则
1.1.1 规范化原则(1NF-3NF)
-
第一范式(1NF):属性原子性
- 要求:表中每个字段不可再拆分(如“姓名+电话”合并字段需拆分为“姓名”和“电话”)。
- 作用:消除重复组,确保数据结构整洁。
-
第二范式(2NF):消除部分依赖
- 要求:非主键字段完全依赖于主键(复合主键场景下,避免字段仅依赖部分主键)。
- 示例:订单表(订单ID+产品ID→数量)符合 2NF,但若存在“产品名称”字段(仅依赖产品ID),则需拆分为订单表与产品表。
-
第三范式(3NF):消除传递依赖
- 要求:非主键字段之间无依赖关系(如“员工表”包含“部门ID”和“部门地址”,需拆分为员工表与部门表)。
- 作用:减少数据冗余,提升更新效率。