第一章 数据库范式
第01节 基础理论
什么是数据库范式?
我们在设计一张表的时候,需要遵循的一些数据库设计的规范。
为什么需要使用范式呢?
为了减少数据库的当中数据冗余。(减少重复同一个表当中,出现数据重复的情况)
数据范式的分类
(1) 第一范式 1NF
(2) 第二范式 2NF
(3) 第三范式 3NF
(4) 巴斯科德范式 BCNF
(5) 第四范式 4NF
(6) 第五范式 5NF
解释说明:
如果想要满足第二范式,必须先满足第一范式。
如果想要满足第三范式,必须先满足第二范式。
普通的表结构
几个专业词汇说明
1. 函数依赖:
通过当前列,可以找到确定其他列的数据值。
分为: 完全函数依赖和传递函数依赖。
完全函数依赖: 分数,完全需要通过(学号和课程名称)才能确定下来。
传递函数依赖: 系主任: 需要先通过学号,去确定系名,在通过系名确定系主任。
2. 主属性和非主属性:
主属性: 通过哪些列,可以完全的确定表当中的信息。(例如: 学号和课程名称) 主属性当中的列,也叫作码
非主属性: 除了码之外的,其他的列
第02节 第一范式
效果图
说明
在第一范式当中,不存在合并项。以前的 系名和系主任存在合并项 系
第03节 第二范式
效果图
说明
拆分表,将重复的数据,冗余的数据,拆分出来,形成新的多张表结构
解决问题: 解决了重复数据,冗余数据的问题。
发现问题: 增删数据,数据不合法
第04节 第三范式
效果图
说明
拆分表,将不是特别紧密的关联关系,拆分成为多张表。(学号和系主任) 传递依赖
例如: 学号需要找到系主任,先找到系名,再去找到系主任。
对于第三范式,主要作用:消除了传递依赖。
第二章 数据库事务
第01节 基础理论
什么是事务呢?