📜  4NF和5NF的区别

📅  最后修改于: 2021-09-27 14:50:55             🧑  作者: Mango

先决条件 – 第四和第五范式

1. 第四范式(4NF):
当满足以下条件时,任何关系都称为第四范式:

  • 它必须是 Boyce Codd 范式 (BCNF)。
  • 它应该没有多值依赖。

当表中有两个属性依赖于第三个属性但彼此独立时,称为多值依赖。
对于函数依赖 X->Y,如果 X 的单个值存在多个 Y 值,则将存在多值依赖。
因此,如果一个关系在 BCNF 中并且它没有任何类型的多值依赖,那么该关系将在 4NF 中。
为了表示多值依赖,使用“->->”这个符号。

例子 –
考虑以下关系:

Student-ID Course Hobby
100 Science Dancing
100 Maths Singing
101 C# Dancing
101 PHP Singing

在这种关系中,学生 ID 1 因此选择了两门课程并有两个爱好。类似地,学生 ID 2 选择了两门课程并有两个爱好。因此它包含多值依赖关系。它不在 4NF 中,为了将其转换为 4NF,可以将其分解为两个关系:

表 – R1

Student-ID Course
100 Science
100 Maths
101 C#
101 PHP

表 – R2

Student-ID Hobby
100 Dancing
100 Singing
101 Dancing
101 Singing

现在这种关系因此在 4NF 中。一个关系也可以包含一个函数依赖和一个多值依赖。所以当这种情况出现时,函数依赖的列被移动到一个单独的表,而多值依赖的列被移动到一个单独的表。这将关系转换为 4NF。

2.第五范式(5NF):
任何关系要处于第五范式必须满足以下条件:

  • 它必须是第四范式 (4NF)。
  • 它应该没有连接依赖,并且连接必须是无损的。

在第五范式中,必须将关系分解为尽可能多的子关系以避免任何类型的冗余,并且在使用自然连接将子关系组合在一起时不能产生额外的元组。

5NF 中的关系不能在含义或事实上不做任何修改的情况下进一步分解。 5NF 也称为项目加入范式 (PJNF)

例子 –

Student-ID Mobile Number Hobby
123 9999900000 Dancing
124 9999900000 Singing
124 9999900000 Dancing
123 8975622122 Singing
123 9999900000 Singing


这可以进一步分解为三个关系:

表 – R1

Student-ID Mobile Number
123 9999900000
123 8975622122
124 9999900000

表 – R2

Student-ID Hobby
123 Dancing
123 Singing
124 Singing
124 Dancing

表 – R3

Mobile Number Hobby
9999900000 Dancing
9999900000 Singing
8975622122 Singing

因此,如果对所有三个关系执行自然连接,则不会有额外的元组。因此 R1、R2 和 R3 处于第五范式(5NF)。

4NF 和 5NF 的区别:

S.NO 4NF 5NF
1. A relation in 4NF must also be in BCNF(Boyce Codd Normal Form). A relation in 5NF must also be in 4NF(Fourth Normal Form).
2. A relation in 4NF must not have any multi-valued dependency. A relation in 5NF must not have any join dependency.
3. A relation in 4NF may or may not be in 5NF. A relation in 5NF is always in 4NF
4. Fourth Normal Form is less stronger in comparison to Fifth Normal form. Fifth Normal form is more stronger than Fourth Normal Form.
5. If a relation is in Fourth Normal Form then it will have more redundancy. If a relation is in Fifth Normal Form then it will less redundancy.
6. If a relation is in Fourth Normal Form then it may be decomposed further into sub-relations. If a relation is in Fifth Normal Form then it cannot be decomposed further into sub-relations without any modification in meaning or facts.