数据库的三大范式知识
来源:互联网 发布:鼠标箭头美化软件 编辑:程序博客网 时间:2024/05/21 22:42
范式是数据库设计中衡量关系模式好坏的标准。
范式零散知识点:
1.范式:衡量关系模式好坏的标准。
2.数据库设计中最常用的是3NF和BCNF。3.第一范式(1NF):如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式的模式。满足1NF的关系称为规范化的关系,否则称为非规范化的关系。1NF是关系模式应具备的最起码的条件。
4.局部依赖和完全依赖:对于FD W→A,如果存在XW有X→A成立,那么称W→A是局部依赖(A局部依赖于W);否则称W→A是完全依赖。
5.主属性和非主属性:如果A是关系模式R的候选键中的属性,那么称A是R的主属性;否则称A是R的非主属性。
6.第二范式(2NF):如果关系模式是1NF,且每个非主属性完全函数依赖于候选键,那么称R是第二范式(2NF)的模式。
7.分解成2NF模式集的算法:
设关系模式R(U),主键是W,R上还存在FD X→Z,并且Z是非主属性和X
W,那么W→Z就是一个局部依赖。此时应把R分解成两个模式:
R1(XZ),主键是X;
R2(Y),其中Y=U-Z,主键仍是W,外键是X(参照R1)。
如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中的每一个关系模式都是2NF为止。
8.如果X→Y,Y→A,且Y→X和AíY,那么称X→A是传递依赖(A传递依赖于X)。
9.第三范式(3NF):如果关系模式R是2NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3NF)的模式。
10.分解成3NF模式集的算法:
设关系模式R(U),主键是W,R上还存在FD X→Z。并且Z是非主属性,ZX,X不是候选键,这样W→Z就是一个传递依赖。此时应把R分解成两个模式:
R1(XZ),主键是X;
R2(Y),其中Y=U-Z,主键仍是W,外键是X(参照R1)。
如果R1和R2还不是3NF,则重复上述过程,一直到数据库模式中的每一个关系模式都是3NF为止。
11.如果R是3NF模式,那么R也是2NF模式。如果R是2NF模式,那么R也是1NF模式。
12.BC范式(BCNF):如果关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。
13.如果R是BCNF模式,那么R也是3NF模式。
14.分解成BCNF模式集的算法能保持无损分解,但不一定能保持FD集。而分解成3NF模式集的算法既能保持无损分解,又能保持FD集。
15.关系模式由1NF分解为2NF,消除了非主属性对键的局部函数依赖;由2NF分解为3NF,消除了非主属性对键的传递函数依赖;而BCNF则消除了每一属性对键的传递函数依赖。
16.关系模式设计理论主要用于数据库的逻辑设计过程中。
总结:
第一范式:如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式(1NF)的模式。
第一范式存在的问题:1、数据冗余过大 2、插入异常 3、删除异常 4、修改异常
第一范式转化为第二范式的算法:
设关系模式R(U),主键是W,R上还存在FD X→Z,并且Z是非主属性和X
W,那么W→Z就是一个局部依赖。此时应把R分解成两个模式:
R1(XZ),主键是X;
R2(Y),其中Y=U-Z,主键仍是W,外键是X(参照R1)。
如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中的每一个关系模式都是2NF为止。
第二范式:如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称R是第二范式(2NF)的模式。
第二范式存在的问题:消除了非主属性对于码的传递函数依赖
第二范式转化为第三范式的算法:
设关系模式R(U),主键是W,R上还存在FD X→Z。并且Z是非主属性,ZX,X不是候选键,这样W→Z就是一个传递依赖。此时应把R分解成两个模式:
R1(XZ),主键是X;
R2(Y),其中Y=U-Z,主键仍是W,外键是X(参照R1)。
如果R1和R2还不是3NF,则重复上述过程,一直到数据库模式中的每一个关系模式都是3NF为止。
第三范式:如果关系模式R是2NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3NF)的模式。
阅读全文
1 0
- 数据库的三大范式知识
- 数据库知识复习--三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库三大范式
- Echarts2 柱状图
- 我的学习记录29
- python安装easyinstall/pip出错
- 一中OJ #3509 七的倍数 [USACO Jan16,洛谷P3131] | 同余前缀和 | 解题报告
- Lua 面向对象
- 数据库的三大范式知识
- 爬虫用Cookie登录网页
- 慕课网《HTML+CSS基础课程》笔记总结(五)
- OpenGL 数据类型
- HDU2119-Matrix
- XListView 下拉刷新、上拉加载功能
- Android MemInfo
- JZOJ5461. 【NOIP2017提高A组冲刺11.8】购物
- Java 内存模型笔记