written 6.3 years ago by |
BNF
• A relation R is said to be in BNF, if and only if every determinant is a candidate key.
Let us consider an example:
ID | EName | Qualification | Grade | Did | DName |
---|---|---|---|---|---|
1 | Satish | B.E | C | 20 | EX |
2 | Savita | M.E | B | 30 | CE |
3 | Mahesh | Ph.d | A | 10 | IT |
Suppose Grade of faculty depends on his qualification.This relation has 3 determinants as ID, Qualification and Did.
But if only (ID,Did) is candidates key then relation may not be BNF.
For relation to be in BNF every determinant must be candidate key.
For table,
ID, Qualification=Grade
ID=Ename, Did
Did=DName
ID | EName | Did |
---|---|---|
1 | Satish | 20 |
2 | Savita | 30 |
3 | Mahesh | 10 |
This relation has only one determinant as ID and it is also a Candidates key then relation is in BNF.
ID | Qualification | Grade |
---|---|---|
1 | B.E | C |
2 | M.E | B |
3 | Ph.D | A |
This relation has determinants as ID and Qualification they are in candidates key then relation is in BNF.
4NF
• Fourth Normal Form tries to remove multi valued dependency among attributes.
• A relation is said to be in fourth normal form if each table contains no more than one multivalued dependency per key attribute.
Examples:
Seminar | Faculty | Topic |
---|---|---|
S-1 | Ravi | DBMS |
S-2 | Ravi | ADBMS |
S-1 | Ravi | Database Principles |
S-1 | Anil | DBMS |
S-1 | Anil | Database Principles |
S-2 | Nitin | ADBMS |
• In the above example, same topic is being taught in a seminar by more than 1 faculty and each Faulty takes up different topics in the same seminar.
• Hence, Topics names are being repeated several times
• This is an example of multivalued dependency. (No multivalued dependency).
Seminar | Topic |
---|---|
S-1 | DBMS |
S-2 | ADBMS |
S-1 | Database Principles |
To eliminate multivalued dependency, split the table such that there is no multivalued dependency. (One multivalued dependency).
Seminar | Faculty |
---|---|
S-1 | Ravi |
S-2 | Ravi |
S-1 | Anil |
S-2 | Nitin |