Quick Contact

    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

    Copyright 1999- Ducat Creative, All rights reserved.