范式
是什么
定义
设计数据库时,需要遵从的一些规范要求。
分类
第一范式、第二范式、第三范式、巴斯-科德范式、第四范式和第五范式(又称完美范式)。
第一范式:每一列都是不可分割的原子数据项。
第二范式:在第一范式的基础上,非码属性必须完全依赖于候选码。(在第一范式的基础上消除非主属性对主码的部分函数依赖)
第三范式:在第二范式的基础上,任何非主属性不依赖于其他非主属性。(在第二范式基础上消除传递依赖)
怎么做
第一范式
一开始创建表的数据格式就已经是第一范式。
PS: 但是存在很多问题,比如数据冗余、添加存在不合法问题、删除数据过多等问题。
第二范式
1.将表进行拆分,将拆分成的各个表都实现消除部分函数依赖,实现完全函数依赖。
2.删除冗余数据。
PS:解决了冗余数据问题,但是还有很多问题。
第三范式
将表在第二范式表的基础上,再进一步进行划分,实现所有的表都消除传递依赖。
PS:这样子就解决了数据冗余、添加存在不合法问题、删除数据过多的问题。
一般第三范式就已经很合理了。
为什么
目的
设计出合理的关系型数据库。
相关的知识点
1.函数依赖
A–>B,通过A属性(属性组)的值,可以唯一确定B属性的值,则称B依赖于A。
2.完全函数依赖
A–>B,如果A是一个属性组,则B属性值的确定需要依赖于A属性组所有属性值。
3.部分函数依赖
A–>B,如果A是一个属性组,则B属性值的确定仅仅需要依赖于A属性组的一部分属性值。
4.传递函数依赖
A–>B,B–>C,则A–>C.如果通过A属性(属性组)的值,可以唯一确定B属性的值,B属性可以唯一确定C属性的值,那么C传递函数依赖于A。
5.码
如果一张表中,一个属性或者属性组,被其他所有属性所完全依赖,则称这个属性(属性组)为码。
是什么
定义
设计数据库时,需要遵从的一些规范要求。
分类
第一范式、第二范式、第三范式、巴斯-科德范式、第四范式和第五范式(又称完美范式)。
第一范式:每一列都是不可分割的原子数据项。
第二范式:在第一范式的基础上,非码属性必须完全依赖于候选码。(在第一范式的基础上消除非主属性对主码的部分函数依赖)
第三范式:在第二范式的基础上,任何非主属性不依赖于其他非主属性。(在第二范式基础上消除传递依赖)
怎么做
第一范式
一开始创建表的数据格式就已经是第一范式。
PS: 但是存在很多问题,比如数据冗余、添加存在不合法问题、删除数据过多等问题。
第二范式
1.将表进行拆分,将拆分成的各个表都实现消除部分函数依赖,实现完全函数依赖。
2.删除冗余数据。
PS:解决了冗余数据问题,但是还有很多问题。
第三范式
将表在第二范式表的基础上,再进一步进行划分,实现所有的表都消除传递依赖。
PS:这样子就解决了数据冗余、添加存在不合法问题、删除数据过多的问题。
一般第三范式就已经很合理了。
为什么
目的
设计出合理的关系型数据库。
相关的知识点
1.函数依赖
A–>B,通过A属性(属性组)的值,可以唯一确定B属性的值,则称B依赖于A。
2.完全函数依赖
A–>B,如果A是一个属性组,则B属性值的确定需要依赖于A属性组所有属性值。
3.部分函数依赖
A–>B,如果A是一个属性组,则B属性值的确定仅仅需要依赖于A属性组的一部分属性值。
4.传递函数依赖
A–>B,B–>C,则A–>C.如果通过A属性(属性组)的值,可以唯一确定B属性的值,B属性可以唯一确定C属性的值,那么C传递函数依赖于A。
5.码
如果一张表中,一个属性或者属性组,被其他所有属性所完全依赖,则称这个属性(属性组)为码。范式
是什么
定义
设计数据库时,需要遵从的一些规范要求。
分类
第一范式、第二范式、第三范式、巴斯-科德范式、第四范式和第五范式(又称完美范式)。
第一范式:每一列都是不可分割的原子数据项。
第二范式:在第一范式的基础上,非码属性必须完全依赖于候选码。(在第一范式的基础上消除非主属性对主码的部分函数依赖)
第三范式:在第二范式的基础上,任何非主属性不依赖于其他非主属性。(在第二范式基础上消除传递依赖)
怎么做
第一范式
一开始创建表的数据格式就已经是第一范式。
PS: 但是存在很多问题,比如数据冗余、添加存在不合法问题、删除数据过多等问题。
第二范式
1.将表进行拆分,将拆分成的各个表都实现消除部分函数依赖,实现完全函数依赖。
2.删除冗余数据。
PS:解决了冗余数据问题,但是还有很多问题。
第三范式
将表在第二范式表的基础上,再进一步进行划分,实现所有的表都消除传递依赖。
PS:这样子就解决了数据冗余、添加存在不合法问题、删除数据过多的问题。
一般第三范式就已经很合理了。
为什么
目的
设计出合理的关系型数据库。
相关的知识点
1.函数依赖
A–>B,通过A属性(属性组)的值,可以唯一确定B属性的值,则称B依赖于A。
2.完全函数依赖
A–>B,如果A是一个属性组,则B属性值的确定需要依赖于A属性组所有属性值。
3.部分函数依赖
A–>B,如果A是一个属性组,则B属性值的确定仅仅需要依赖于A属性组的一部分属性值。
4.传递函数依赖
A–>B,B–>C,则A–>C.如果通过A属性(属性组)的值,可以唯一确定B属性的值,B属性可以唯一确定C属性的值,那么C传递函数依赖于A。
5.码
如果一张表中,一个属性或者属性组,被其他所有属性所完全依赖,则称这个属性(属性组)为码。
是什么
定义
设计数据库时,需要遵从的一些规范要求。
分类
第一范式、第二范式、第三范式、巴斯-科德范式、第四范式和第五范式(又称完美范式)。
第一范式:每一列都是不可分割的原子数据项。
第二范式:在第一范式的基础上,非码属性必须完全依赖于候选码。(在第一范式的基础上消除非主属性对主码的部分函数依赖)
第三范式:在第二范式的基础上,任何非主属性不依赖于其他非主属性。(在第二范式基础上消除传递依赖)
怎么做
第一范式
一开始创建表的数据格式就已经是第一范式。
PS: 但是存在很多问题,比如数据冗余、添加存在不合法问题、删除数据过多等问题。
第二范式
1.将表进行拆分,将拆分成的各个表都实现消除部分函数依赖,实现完全函数依赖。
2.删除冗余数据。
PS:解决了冗余数据问题,但是还有很多问题。
第三范式
将表在第二范式表的基础上,再进一步进行划分,实现所有的表都消除传递依赖。
PS:这样子就解决了数据冗余、添加存在不合法问题、删除数据过多的问题。
一般第三范式就已经很合理了。
为什么
目的
设计出合理的关系型数据库。
相关的知识点
1.函数依赖
A–>B,通过A属性(属性组)的值,可以唯一确定B属性的值,则称B依赖于A。
2.完全函数依赖
A–>B,如果A是一个属性组,则B属性值的确定需要依赖于A属性组所有属性值。
3.部分函数依赖
A–>B,如果A是一个属性组,则B属性值的确定仅仅需要依赖于A属性组的一部分属性值。
4.传递函数依赖
A–>B,B–>C,则A–>C.如果通过A属性(属性组)的值,可以唯一确定B属性的值,B属性可以唯一确定C属性的值,那么C传递函数依赖于A。
5.码
如果一张表中,一个属性或者属性组,被其他所有属性所完全依赖,则称这个属性(属性组)为码。