## Fourth Normal Form (4NF)

A relation R is in DBMS Fourth Normal Form 4NF only if a multi-valued dependency exists in R, say A →→ B. In this case, all attributes of R are functionally dependent on A.

For a dependency P → Q, if for an individual value of P, multiple value of Q exist, then the relationship would be a multi-valued dependency.

## Example

Consider the relation STUDENT (SID, SUBJECT, ACTIVITY) participate in attributes. Assume that students can enroll in several different subjects and several different activities. Since this is so, the only key is the combination of (SID, SUBJECT, and ACTIVITY).

## STUDENT

SID SUBJECT ACTIVITY
200 Music Swimming
200 Accounting Swimming
200 Music Tennis
200 Accounting Tennis
250 Math Jogging

Students 200 subjects in music and accounting. He/She also participates in swimming and tennis. Student 250 subject only in math and particularly in jogging. The relation student has a multivalued dependency. Multivalued dependencies generate to update anomalies.

Student 200 has four rows. Each one shows one of his subjects paired with one of these activities. If the data were stored any other way, we had only two rows: one for music and swimming and one for accounting and tennis, then the implications would be misleading.

It would appear that student 100 swam only when he was a music subject and played tennis only as an accounting subject. That interpretation is illogical! These subjects and activities are entirely independent of one another. So, in this relation, we store all the combinations of subjects and activities. But data redundancy is not an essential problem with multivalued dependencies.

Suppose that student 200 decides to sign up for skiing, so we add the row [200, Music, Skiing]. This implies that skies as a music subject, but not as an accounting subject. To keep consistent, we must add one row for each of these subjects paired with skiing. Thus we must also add the row [100, Accounting, Skiing]. This is an update anomaly.

In general, multivalued dependencies exist when there at least three attributes in a relation. At least one of them is multivalued, and the values of two attributes depend only on the other attributes.

In other words, in a relation R (A, B, C) a multivalued dependency exists if

• A leads to multiple values of C and B, and
• A leads to multiple values of C and
• B and C are independent of the each other.

As we have seen, in the example that SID leads to multiple values of subject and multiple values of activity. Subjects and Activities are autonomous of each other. These multivalued dependencies can be indicated as follows.

SID &nbsp &nbsp &nbsp &nbsp Subject

SID &nbsp &nbsp &nbsp &nbsp Activity

This relation is in BCNF (2NF because it is all key, 3NF because it has no non-key determinants).

We can update these anomalies by decomposed STUDENT relation into two relations.

STU-SUBJECT (SID, SUBJECT) and STU-ACT (SID, ACTIVITY), as shown in the figure.

## Key: (SID, SUBJECT)

SID FNAME
200 Music
200 Accounting
250 Math

## Key: (SID, ACTIVITY)

SID FNAME
200 Skiing
200 Swimming
250 Tennis
250 Jogging

Elimination of Multivalued Dependency

## What is Multivalued Dependency?

The multi-valued dependency (MVD) is a functional dependency where the dependency can be to a set and not just a single value. It is defined as P →→ Q in relation R(P,Q,R) if each P value is associated with a set of Q values in a way that does not depend on the R values. Here P and Q are both subsets of R. The symbol P →→ Q is used to indicate that a set of attributes of Q shows a multi-valued dependency (MVD) on a set of attributes of P.

Multivalued dependency is defined by the double arrow sign(→→).

A relation R satisfies the multi-valued dependency (MVD) P→→Q if, t1 (P)=t2 (P) and there exists a tuple t3in R with t3 (P)=t1 (P),t3 (Q)=t1 (Q) and t3 (R)=t2 (R).

## Example

The relation STUDENT, including three attributes STUDENT-CODE, NAME, and COURSE.

STUDENT-CODE NAME COURSE
121 Gaurav B.Tech
122 Raman MCA
123 Nita BCA
124 Ramesh MCA

In the above relation, STUDENT Name and Course are two independent attributes in itself, but both are dependent on STUDENT-CODE.

In this method, these two attributes are multivalued dependent on STUDENT-CODE. Following are the definition of these dependencies:

STUDENT-CODE →→ NAME

STUDENT-CODE →→ COURSE

### Trivial Multivalued Dependency

The trivial type is the most common kind of multi-valued dependency. It has no relation with the fourth normal form apart from a few of the resulting tables from the process that has trivial multi-valued dependencies.

When a table comprises only two fields in which one is multivalued and both fields from the primary key, it is termed as a trivial multi-valued dependency. In the following example, it can be noticed that the double-headed arrow indicated an MVD.

PARENT-NAME→→CHILD-NAME

PARENT-NAME CHILD-NAME
Nita Saksham
Virat Aryan
Suman Naira

P→→Q is a trivial MVD if Q is a subset of P or R = P ∪ Q.

An FD P → Q is an MVD P →→ Q with the additional restrictions that at most one value of Q is associated with each value of P.

When two multivalued dependencies are present, and they are not dependent on the other MVD, it is termed as a non-trivial multivalued dependency.

Enroll Yourself in Live Training: DBMS Training