ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

数据库范式:减少数据冗余

数据库范式:减少数据冗余

数据库范式:减少数据冗余

今天开始学习数据库设计中最重要的理论——范式(Normal Form)。范式是一套规则,帮我们设计出结构合理的数据库,避免数据冗余和各种异常问题。

一、为什么需要范式

1.1 先看一个"反面教材"

假设我们这样设计一张"学生选课表":

| 学号 | 姓名 | 院系 | 院系主任 | 课程号 | 课程名 | 成绩 | |------|------|------|---------|--------|--------|------| | 001 | 张三 | 计算机 | 王教授 | C01 | 数据库 | 90 | | 001 | 张三 | 计算机 | 王教授 | C02 | 操作系统| 85 | | 002 | 李四 | 数学 | 李教授 | C01 | 数据库 | 78 |

这张表存在什么问题?

1.2 四大异常问题

数据冗余:

  • "张三、计算机、王教授"重复出现了2次
  • "C01、数据库"也重复了
  • 浪费存储空间

插入异常:

  • 想新增一个院系"物理系"(主任赵教授),但该系还没有学生 → 无法插入(学号是主键的一部分,不能为空)
返回列表