03数据库基本概念之规范化和3范式

03数据库基本概念之规范化和3范式

 

 

1、第一范式(1NF)

03数据库基本概念之规范化和3范式

1.1 数据规整为二维表格

03数据库基本概念之规范化和3范式

1.2

03数据库基本概念之规范化和3范式

注:以上两件是在建模一开始就已完成。

 

1.3去掉多值属性03数据库基本概念之规范化和3范式

1.4 去掉重复组03数据库基本概念之规范化和3范式

1.5 创建主键(每一个非键值属性必须依赖主键,第一范式的核心)

03数据库基本概念之规范化和3范式

2、第二范式

2.1概念

03数据库基本概念之规范化和3范式

注:在第一范式基础上;发生在联合主键中(组合键)

2.2 第二范式可减少数据冗余、数据不一致,插入删除不一致

03数据库基本概念之规范化和3范式

3、第三范式

03数据库基本概念之规范化和3范式

03数据库基本概念之规范化和3范式

 

 

 

4、BCNF范式,第四范式,第五范式(避免矫枉过正)

  “从BCNF开始,都非常注重的是数据和数据之间在现实生活中的意义表达。虽然还是在消除冗余,但是厘清数据之间的关系用实体和关系来表述各个属性之间的关系,而不是用数据的内容来表达各个属性的关系,这个意义其实比去冗余更重大。”

(理解:实体和关系来表述各个属性的关系而非用数据的内容,这也是建模的重要意义)

  “BCNF以后都不怎么研究非主键属性了,净研究主键,而且还非得是联合主键”

4.1 BCNF范式(3.5范式)

03数据库基本概念之规范化和3范式

注:下面案列(班级,课程)是联合主键

 

03数据库基本概念之规范化和3范式

 

 

 

4.2第四范式

03数据库基本概念之规范化和3范式

注:下面的(学号,课程,语言)是联合主键

03数据库基本概念之规范化和3范式

4.3 第五范式

03数据库基本概念之规范化和3范式

注:第五范式极少用,(学号,课程,阅读书籍)是联合主键

03数据库基本概念之规范化和3范式