The second normal form (2nf), Database Management System

Assignment Help:

The Second Normal Form (2NF)

Definition: A relation is in 2NF if it is in 1NF and each non-key attribute is fully dependent on each candidate key of the relation.

Some of the points that should be noted here are:

  • A relation having a one attribute key has to be in 2NF.
  • In the case of composite key, partial dependency on key that is part of the key is not allowed.
  • 2NF tries to make sure that information in one relation is about one thing
  • Non-key attributes are those that are not part of any candidate key.

Let us now reconsider, which describes the FDs of the relation to the relation STUDENT (Enrolmentno, Sname, Address, Cno, Cname, Instructor, Office). These FDs can also be written as:

Enrolmentno     →         Sname,           Address     (1)

Cno                 →           Cname,           Instructor  (2)

Instructor        →                                   Office        (3)

 

The key attributes of the relation are (Cno + Enrolmentno). Rest of the attributes are non-key attributes. For the 2NF decomposition, we are concerned with the FDs (1) and (2) as above as they relate to partial dependence on the key that is (Cno +Enrolmentno). As these dependencies illustrates that relation in not in 2NF and therefore suffer from all the three anomalies and redundancy troubles as many non-key attributes can be derived from partial key attribute. To change the relation into 2NF, let us use FDs. As per FD (1) the Enrolment number uniquely verify student name and address, so one relation should be:

STUDENT1 (Enrolmentno, Address, Sname)

Now as per FD (2) we can decompose the relation more, but what about the attribute 'Office'?

We find in FD (2) that Course code (Cno) attribute uniquely shows the name of instructor (refer to FD 2(a)). Also the FD (3) means that name of the instructor uniquely shows office number. This can be written as:

Cno        →             Instructor                  (2 (a)) (without Cname)

Instructor          →                                    Office            (3)

⇒      Cno      →                                      Office  (This is transitive dependency)

 

Therefore, FD (2) now can be rewritten as:

Cno                  →         Cname, Instructor, Office           (2')

This FD, now provides us the second decomposed relation:

COU_INST (Cno, Cname, Instruction, Office)

Therefore, the relation STUDENT has been decomposed into two relations:

STUDENT1 (Enrolmentno, Sname, Address) COU_INST (Cno, Cname, Instruction, Office)

Is the decomposition into 2NF finish now?

No, how would you join the two relations formed above any way? Please note we have super FDs as, because (Cno +Enrolmentno) is the primary key of the relation STUDENT:

Enrolmentno, Cno       →        ALL ATTRIBUTES

Every attributes except for the key attributes that are Cno and Enrolmentno, Though, are covered on the right side of the FDs (1) (2) and (3), therefore, making the FD as redundant. But in any situation we have to have a relation that connects the two decomposed relations. This relation would cover any attributes of Super FD that have not been covered by the key attributes and the decomposition. Therefore, we need to make a joining relation as:

COURSE_STUDENT (Enrolmentno, Cno)

 So, the relation STUDENT in 2NF form would be:

STUDENT1 (Enrolmentno, Sname, Address)                   2NF(a)

 COU_INST (Cno, Cname, Instruction, Office)                 2NF(b)

 COURSE_STUDENT (Enrolmentno, Cno)                         2NF(c)


Related Discussions:- The second normal form (2nf)

Create database and define relationships between tables, Instructions: ...

Instructions: Follow the instructions below for completing this project: 1. Creating the Database: · Use the physical table descriptions given below to define and create each t

What are called multilevel indices, What are called multilevel indices? ...

What are called multilevel indices? Indices with two or more levels are known as multilevel indices.

Implement a cache simulator, You are required to program (in a high level l...

You are required to program (in a high level language such as C, C++, Java) and implement a cache simulator which will have the following inputs and outputs:- INPUTS

Explain discretionary access control, Problem: (a) Given the following ...

Problem: (a) Given the following relation: Stats(Name,Sex,Children, Occupation, Salary, Tax, Audits) Write SQL code to define the following security constraints: (i) User

What is the concurrency identification, Concurrency Identification Whi...

Concurrency Identification While designing analysis, model we map real world model into our analytical model. Real life objects are simultaneous in nature, but all the design

Explain cursors in sql, Explain cursors in SQL? Cursors in SQL - An o...

Explain cursors in SQL? Cursors in SQL - An object used to store the output of a query for row-through-row processing through the application programs. Cursors are constructs

Process-oriented decompositions, Process-oriented decompositions Pr...

Process-oriented decompositions Process-oriented decompositions divide complex process, task or function into simpler sub processes until they get simple enough to be deal

What is nested queries explain in details, What is Nested Queries explain i...

What is Nested Queries explain in details? Nested Queries - A SELECT query could have subquery(s) in it. While a SELECT query having another SELECT query in it, is known as n

Distributed control and data sharing , Distributed Control and Data sharing...

Distributed Control and Data sharing: The geographical distribution of an organization can be showed in the distribution of the data; if a number of different sites are linked to e

What do you understand by raid, What do you understand by RAID? Explain RA...

What do you understand by RAID? Explain RAID Level 4 and Level5? RAID - It is stands for Redundant Array of Inexpensive Disks (as named by the inventor), or alternatively Re

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd