Boyce-codd normal form (bcnf), Database Management System

Assignment Help:

Boyce-Codd Normal Form (BCNF)

The relation NEWSTUDENT (Enrolmentno, Sno, Sname, Cname, Cno,) has every attributes participating in candidate keys as all the attributes are assumed to be unique. We thus had the following candidate keys.

(Enrolmentno, Cno)

(Enrolmentno, Cname)

(Sname, Cno)

(Sname, Cname)

As the relation has no non-key attributes, the relation is in 2NF and as well in 3NF. Though, the relation suffers from the anomalies (please check it yourself by making the relational instance of the NEWSTUDENT relation).

The complexity in this relation is being caused by dependence within the candidate keys.

Definition: A relation is in BCNF, if it is in 3NF and if each determinant is a candidate key.

  • A determinant is the left side of an FD
  • Most relations that are in 3NF are also in BCNF. A 3NF relation is not in

BCNF if all the following conditions apply.

(a)     The candidate keys in the relation are composite keys.

(b)     There is more than one overlapping candidate keys in the relation and a number of attributes in the keys are overlapping and some are not overlapping.

(c)      There is a FD from the non-overlapping attribute(s) of single candidate key to non-overlapping attribute(s) of other candidate key.

Let us recall the NEWSTUDENT relation:

NEWSTUDENT (Enrolmentno, Sname, Sno,  Cno, Cname) Set of FDs:

Enrolmentno     →           Sname              (1)

Sname  →                       Enrolmentno     (2)

Cno       →                      Cname              (3)

Cname  →                      Cno                   (4)

The relation even though in 3NF, but is not in BCNF and can be decomposed on any one of the FDs in (1) & (2); and any one of the FDs in (3) & (4) as:

STUD1 (Enrolmentno, Sname) COUR1 (Cno, Cname)

The third relation that will join the two relation will be:

ST_CO(Enrolmentno, Cno)

Since this is a slightly complex form, let us give one more example, for BCNF. Consider for example, the relation:

ENROL(Enrolmentno, Sname, Cno, Cname, Dateenrolled)

Let us suppose that the relation has the following candidate keys:

(Enrolmentno, Cno)

(Enrolmentno, Cname)

(Sname, Cno)

(Sname, Cname)

(We have supposed Cname and Sname are unique identifiers).

The relation has the following set of dependencies:

Enrolmentno     →    Sname

Sname             →     Enrolmentno

Cno                  →     Cname

Cname             →     Cno

Enrolmentno, Cno     →  Dateenrolled

The relation is in 3NF but not in BCNF as there are dependencies. The relation suffers from all anomalies. Please draw the relational instance and checks these troubles. The BCNF decomposition of the relation would be:

STUD1 (Enrolment no, Sname)

COU1 (Cno, Cname)

ENROL1 (Enrolmentno, Cno, Dateenrolled)

We now have a relation that only has information about students, another only about subjects and the third only about relationship enrolls.


Related Discussions:- Boyce-codd normal form (bcnf)

What is primary key explain, What is primary Key Explain? Primary Key ...

What is primary Key Explain? Primary Key - Primary key is one of the candidate keys. It should be selected such in which its attribute values are never, or very rarely, chang

Define object-relational systems, Define object-relational systems? Sy...

Define object-relational systems? Systems that give object-oriented extensions to relational systems are known as object-relational systems.

Write modified version of transfer that avoids deadlock, Your OS has a set ...

Your OS has a set of queues, each of which is protected by a lock. To enqueue or dequeue an item, a thread must hold the lock associated to the queue. You need to implement an a

What is average response time, What is average response time? The avera...

What is average response time? The average response time is that the average time for a transaction to be done after it has been submitted.

3NF, Winfield is a small city with a population of 22,000 with buses serves...

Winfield is a small city with a population of 22,000 with buses serves three routes in Winfield and neighboring areas. As the city’s IT director, you have been asked to set up an i

What is the use of rename operation, What is the use of rename operation? ...

What is the use of rename operation? Rename operation is used to rename both relations and an attributes. It uses the as clause, taking the form: Old-name as new-name.

Define object-oriented database, Question : Object-Oriented Database (O...

Question : Object-Oriented Database (OODM) is defined as a logical data model that captures the semantics of objects supported in object-oriented programming. An Object-Oriente

Explain dynamic two-phase locking, Explain Dynamic Two-Phase Locking H...

Explain Dynamic Two-Phase Locking Here a transaction locks a data item instantly earlier than any operation is applied on the data item.  After finishing all the operations on

Creating views with replace option, Creating views with Replace option : Th...

Creating views with Replace option : This option is used to alter the definition of the view without recreating and dropping it or regranting object privileges previously granted o

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