数据库原理与应用 第 12 章 · 第二节
课程第 12 章第二节 插不进删没了改不全病根 版式
第 12 章 关系模式的规范化理论 · 第二节

三种异常与病根

本 节 知 识 点
  1. 07第二个毛病:插入异常
  2. 08第三个毛病:删除异常
  3. 09第四个毛病:更新异常
  4. 10病根是一张表装了三件事
07
第 12 章 · 第二节

第二个毛病:插入异常

新系还没招学生,这个系就记不进库里。

第 7 页课件

关键术语记住这个名字

插入异常insertion anomaly
现实中存在的信息,表里放不下

重 点

主码不许为空,没有学号没有课号,系名和主任就没处放。

打个比方

像只有登记了学生才能开班,班还没人就连班号都发不出来。

上机做

上机一第 3 题 亲手插一次

08
第 12 章 · 第二节

第三个毛病:删除异常

自动化系只有李思一个人,他一毕业系也没了。

第 8 页课件

重 点

删的本意是删学生,结果把系和系主任一起删掉了。

打个比方

像撕掉通讯录最后一页,顺手把整个部门的电话也撕没了。

上机做

上机一第 6 题 删给它看

想一想

现实中自动化系还在,库里查不到,这算什么问题?

09
第 12 章 · 第二节

第四个毛病:更新异常

换一次系主任,要改七行,漏一行就打架。

第 9 页课件

重 点

一处事实存了多份,改的时候必须一处不漏,漏了就不一致。

练一练

某学生改名,表里他的记录要改几处?
  1. A改一处就够
  2. B有几条选课记录就改几处
  3. C不用改
  4. D只改主码那一处
答案 B

姓名跟着每条选课记录抄了一份,选了几门课就要改几处。

上机做

上机一第 4 题 故意漏改一行

10
第 12 章 · 第二节

病根是一张表装了三件事

包罗万象的泛关系,必然出这四个毛病。

第 10 页课件

记牢它四个毛病速记

  1. 存得多
  2. 加不进
  3. 删错了
  4. 改不全

重 点

拆成学生 S、选课 SC、系别 D 三张表,四个毛病一起消失。

上机做

上机一第 7 题 看看真正不同的有几行

想一想

那怎么知道该在哪儿下刀子?

保山学院·人工智能教研室·曹鼎鼎