Skip to main content

Third Normal Form (3NF)

.

Third Normal Form (3NF)

A table (relation is said to be in 3NF if and only if.
1. It is in 2NF
2. No non-prime attribute is transitively dependent on primary key.
                                         OR
Transitively functional dependency of non-prime attribute on any supper key should be removed.

In other words 3NF can be explain as a table is in 3NF if it is in 2NF  and for each functional dependency X - Y at list one of the following condition holds.
  • X is a supper key of table.
  • Y is a prime attribute of table.
An attribute that is a path of the candidate key is known as prime attributes.

Student Detail

Supper key : {S_id}, {S_id,S_Name},{S_id,S_Name,Age}
Candidate key : {S_id}
Non-Prime attribute : All attributes except S_id.

Functional dependency of above table are:
S_id : S_name
S_id : Age
S_id : Gender
S_id : Hostel-Name
Gender : Hostel-Name

    Thus in above relation contains transitive dependency i.e. S_id ->Gender, Geder->Hostel_Name & S_id->Hostel_Name. This violeds the second rule of 3NF. 

i.e. "No non-prime attribute is transitively dependent on primary key.

We can convert it into 3NF by decomposing the relation as bellow.







Comments

Popular posts from this blog

Important Questions of Data Structure and Algorithm (DSA)

 . 1. What is Data structure? Explain different operations to be performed on data structure. 2. Define stack as ADT. Convert P+Q-(R*S/T+U) - V*W into infix expression to postfix. 3. Define Queue. Explain its type with example. 4.  Difference between stack and Queue. 5. Difference between Linear Queue and circular Queue. 6. Write an algorithm to enqueue and dequeue data element in a circular queue.                              7. Define Linked List. Explain its type. How does double linked List is different from circular linked   List. 8. What is recursion and recursive function? write a recursive function to compute Fibonacci number. 9. What is an AVL tree ? Create an  AVL tree from the following data:      18, 12, 14, 8, 85, 25, 31, 24, 27 10. Define B-tree? How to insertion and deletions of elements can be done in a B-tree. 11. Create an B-tree from the following Data:  ...

Important questions of C programming (BCA)

 . What is the characteristics of a good program? Explain types of language processor. Explain any two system design tools. Explain Program Development Life Cycle. Define programing techniques. Different between top-down and button - up approach with suitable example. Difference between cohesion and coupling. Define identifiers, constants, variables and keywords. Explain datatypes. Explain different types of  datatypes available in C. Define operator. Explain its types with suitable example. Explain decision making statement. Explain its type with example. Difference between while, do while loop, for loop. Write a program to find the fibonacci  sequence. What is jumping statement. Explain its types with suitable example.    Write a program to display following:               *               **               ***         ...

BCA Math II old question model solution

 . BCA Math II question model 2018: BCA Math II question model 2019: BCA Math II question model 2020: