数据库原理与应用 第 12 章 · 第一节
课程第 12 章第一节 开篇路线规范化案例十行数据冗余 版式
第 12 章 关系模式的规范化理论 · 第一节

一张烂表能烂成什么样

本 节 知 识 点
  1. 01怎样才算一张设计得好的表
  2. 02这一章走三站
  3. 03规范化是怎么回事
  4. 04SCD 这张泛关系
  5. 05SCD 的十行数据
  6. 06第一个毛病:数据冗余
01
第 12 章 · 第一节

怎样才算一张设计得好的表

上一章说台账该拆,这一章讲拆到什么程度算好。

第 1 页课件

重 点

这一章给的是尺子,量一张表规范到了哪一级,不规范就拆。

知道更多

规范化理论是关系数据库之父 Codd 1970 年那篇论文里提出来的。

想一想

上一章拆表靠的是什么,感觉还是规矩?

02
第 12 章 · 第一节

这一章走三站

先看烂表烂在哪,再学一件工具,最后拿尺子量。

第 2 页课件

记牢它三站的名字

  1. 烂表的四个毛病
  2. 函数依赖
  3. 范式与分解

重 点

三站围着同一张表转,就是课件第 5 页那张 SCD。

知道更多

这一章是全书最抽象的一章,符号多,例子只有一个,抓牢它。

03
第 12 章 · 第一节

规范化是怎么回事

以函数依赖为尺,量出规范化程度,不够就拆。

第 3 页课件

关键术语记住这个名字

规范化normalization
按范式等级衡量关系模式,不达标就做模式分解

重 点

输入是不规范的关系,输出是一组规范的关系,中间那把尺子是范式。

知道更多

范式一共分五级加一个 BCNF,本章只讲到 3NF,BCNF 了解即可。

04
第 12 章 · 第一节

SCD 这张泛关系

学生、选课、系别三件事,全塞进了一张表。

第 4 页课件

重 点

七个属性,主码是 SNo 加 CNo,两列合起来才定得下一行。

记牢它语义就四条

  1. 一个系有多名学生
  2. 一个系一名主任
  3. 一名学生选多门课
  4. 一门课多名学生选

想一想

光看这七个字段,你能看出它装了几件事吗?

05
第 12 章 · 第一节

SCD 的十行数据

整章的例子就这十行,后面所有演示都用它。

第 5 页课件

试一试四个毛病点着看

看哪个
SCD(SNo,SN,Age,Dept,MN,CNo,Score)
SNoSNAgeDeptMNCNoScore

重 点

C7 那一行成绩是空的,课还没考完,成绩不一定马上给。

上机做

上机一第 1 题 先把它看一遍

06
第 12 章 · 第一节

第一个毛病:数据冗余

同一件事在表里抄了一遍又一遍。

第 6 页课件

重 点

信息系加王平这一对抄了 7 遍,钱尔那一套抄了 4 遍。

打个比方

像通讯录里同一个人存了四条,改号码得改四遍。

上机做

上机一第 2 题 自己数一数

想一想

抄这么多遍,除了费地方还有什么坏处?

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