Cosc411 M5.2 2023
Cosc411 M5.2 2023
Page 1 of 4
COSC 411: DATABASE SYSTEMS II 2022/2023 SESSION
From the above table (Employees), the Multivalued Dependencies (MVDs) are as follows:
Emp_Name →→ Proj_Name: The Emp_Name attribute multi-determines Proj_Name.
Emp_Name →→ Depd_Name: The Emp_Name attribute multi-determines Depd_Name.
Proj_Name and Depd_Name attributes are independent.
(b) To address this situation of MVDs, the concept of 4NF was proposed. Achieving 4NF typically
involves eliminating MVDs by repeated binary decompositions. Now we eliminate the
multivalued dependencies by decomposing the Employees table into Emp_Proj and Emp_Depd
tables, as shown in (i) and (ii) as follows:
i. Emp_Proj Table without MVDs:
Emp_Name Proj_Name
Anas EE
Anas GG
Therefore, the Employees relation is now in 4NF, because the multivalued dependencies have
been completely eliminated.
Page 2 of 4
COSC 411: DATABASE SYSTEMS II 2022/2023 SESSION
(a) Supply: The relation Supply with no MVDs is in 4NF but not in 5NF because it has the JD(R1,
R2, R3).
Sup_Name Part_Name Proj_Name
AA HDD Project X
AA RAM Project Y
BB HDD Project Y
CC RAM Project Z
BB CPU Project X
BB HDD Project X
AA HDD Project Y
Therefore, the above relation Supply with the join dependency is decomposed into three relations
R1, R2, and R3 that are each in 5NF as shown in (b), because there are no multivalued dependencies
and no join dependency exists. Notice that applying a natural join to any two of these relations
produces spurious tuples, but applying a natural join to all three together does not. When R1, R2,
and R3 are combined together, will produce the original relation R, but that might not be true in all
cases. If the resultant relation is not equivalent to the original relation, then the original relation is
said to be in 5NF, provided it already satisfied the 4NF condition.
Page 3 of 4
COSC 411: DATABASE SYSTEMS II 2022/2023 SESSION
(b) Decomposing the relation Supply into the 5NF relations R1, R2, R3.
(i) R1 (Sup_Name, Part_Name)
Sup_Name Part_Name
AA HDD
AA RAM
BB HDD
CC RAM
BB CPU
However, discovering Join Dependencies in practical databases with hundreds of attributes is next
to impossible. It can be done only with a great degree of intuition about the data on the part of the
designer. Therefore, the current practice of database design pays scant attention to them, and the
aspect remains limited to the theoretical concepts.
Page 4 of 4