365bet注册送

时间:2019-11-07 09:10  编辑:admin
全部展开
标准化理论对关系必须满足的各个层次的规范要求进行了划分。满足最低要求的第一级称为第一范式(1NF),在第一范式的基础上提出第二范式(2NF),提出第三范式(3NF)和BCNF范式是的后来提出了4NF,5NF。
范式级别越高,需要满足的条件越严格。
第一范式(1NF)在关系模型R中。如果每个属性值都是无法细分的原子属性,则将R称为第一范式关系[2]。
例如,具有R关系的某人(员工编号,姓名,电话号码)可以具有办公室电话号码和家庭电话号码。成为1NF的标准方法通常是将电话号码分为两个属性。单位电话和家庭电话,或R(员工号码,姓名,办公室电话,家庭电话)。
1NF是关系模型的最低要求。
如果第二范式(2NF)关系模式R为1NF,并且所有非主要属性均取决于关键字,则关系R属于第二范式[2]。
示例:SC(SNO,CNO,GRADE,CREDIT),其中SNO是学生编号,CNO是课程编号,GRADEGE是年级,CREDIT是学分。
在以上条件中,关键字是组合关键字(SNO,CNO)。
在应用程序中使用先前的关系模型存在以下问题:(1)数据冗余。假设有40名学生选择同一门课程,则该学分将重复40次。(2)调整特定课程的学分后,更新相应的要素会变得很复杂。该组的CREDIT值需要更新。同一门课程可能会有不同的学分。(3)插入是不寻常的,例如计划开设一个新的班级。这是因为没有选修课程,没有学生编号关键字,只有能够参加该课程的人才能获得学分。(4)。
拆卸异常。如果学生完成一门课程,则从当前数据库中删除选择性入学,并且未选择某些第一年级学生,因此无法保存该课程和学分记录。
出现上述问题的原因是非主要属性CREDIT仅取决于CNO。换句话说,CREDIT部分不完全依赖于联接关键字(SNO,CNO)。
解决方案是将先前的关系分为两个关系方案SC(SNO,CNO,GRADE)和C(CNO,CREDIT)。
新关系包括由SC外键CNO链接的两种关系模式,必要时需要自然连接,并将原始关系恢复为第三标准格式(3NF)。如果关系模式R为2NF且不是全部都是主模式,则如果没有根据代码传递属性,则关系R属于第三范式[1]。
例如,S关系模式属性(SNO,SNA ?? ME,DNO,DNAME,LOCATION)表示学生编号,姓名,部门,部门名称和部门地址。
SNO关键字确定各个属性。
由于这是一个唯一的关键字,因此不存在部分依赖性问题,并且绝对是2NF。
然而,关系S需要大量的冗余。重复存储学生部门的各种DNO,DNAME和LOCATION属性,并且在插入,删除和修改过程中会生成类似的情况。
原因是因为在关系SNO-DNO,DNO-LOCATION中存在传递依赖关系,因此通过将SNO-LOCATION依赖关系传递给LOCATION函数来确定SNO关键字。
也就是说,SNO不会直接确定非主要LOCATION属性。
解决方案是将关系方案分为两个关系S(SNO,SNA,ME,DNO)和D(DNO,DNAME,LOCATION),并通过外键DNO将这两个关系链接到S。
如果BC范式(BCNF)关系模式R的所有属性(包括主要属性和非主要属性)没有通过依赖于R的候选关键字,则关系R称为BCNF。
或者,在关系模型R中,如果每个行列式都包含一个关键字(未包含在关键字中),则R为BCNF[3]。
BCNF通常被认为是第三修改范例,也称为扩展第三范例。