ORACLE范式

来源:互联网 发布:淘宝代付申请超限 编辑:程序博客网 时间:2024/06/06 04:06

ORACLE范式:


目前有六大范式:第一范式,第二范式,第三范式,BCNF范式(巴斯-科德范式),第四范式,第五范式,范式越高,数据冗余越小,目前只需满足第三范式

第一范式:属性不可分割

例:最常见的如联系方式,若表中有联系方式的属性,因联系方式有电话、邮箱、QQ等多种,可将此字段进行再分为多个字段,

        即“联系方式”->(“电话号码”,“邮箱地址”,.....)

第二范式:1NF基础上,每个非主属性完全函数依赖于候选键

                    注:可以被作为主键的一个属性或多个属性的组合称为超键,候选键即不含多余属性的超键

例:一张学生成绩表,由id、学号、试卷号、试卷名称、成绩组成,其中试卷名称有候选键(学号、试卷编号)中的试卷编号决定,仅部分依赖,不符合第二范式

        可分为两张表,即id、学号、试卷号、成绩和试卷号、试卷名称两张表

第三范式:2NF基础上,每个非主属性对任一候选键不存在依赖传递

例:一张表包括学号、班级、系别,因确定学号即确定班级,确定班级即确定系别,所以确定了学号(候选键)即确定了系别(非主属性),不符合第三范式

      可分为两张表,即学号、班级和班级、系别两张表

以下范式仅了解:

BCNF范式: 3NF基础上,主键列互不依赖
第四范式: 同一张表消除多对多关系
第五范式:将表分割成原始结构

注:主键与外键在多表中的重复出现, 不属于数据冗余,数据冗余是非键字段的重复出现

0 0
原创粉丝点击