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)

Support by adding indexes, Support by Adding Indexes Multiple indexes c...

Support by Adding Indexes Multiple indexes can be used to access a data file by multiple access paths. In such a scheme only single copy of the data is consider, only the numbe

Explain the lock based protocol, Lock Based Protocol A lock is nothing ...

Lock Based Protocol A lock is nothing but a mechanism that tells the DBMS whether a particular data item is being used by any transaction for read/write purpose. As there are t

Explain how the binary tree, QUESTION (a) Give two advantages of using ...

QUESTION (a) Give two advantages of using Linked List as compared to arrays. (b) (i) You are working as programmer at the Orange Mauritius branch. You have been asked to cre

Compare the efficiency of the two mining processes, Consider the following ...

Consider the following database containing five transactions. Let min_sup = 60%. Mine all frequent itemsets using Apriori and FP-growth algorithm. Compare the efficiency of the t

Briefly describe the different kinds of users of a dbms, Briefly describe t...

Briefly describe the different kinds of users of a DBMS.  Ans: Different sorts of DBMS users are: (a)  Software Engineers: These are the people accountable for developing ap

Objectives-database recovery and security, Objectives Define the te...

Objectives Define the terms RECOVERY and INTEGRITY; Define Recovery Techniques; Explain Error and Error detection techniques, and Define types of Authorisation.

Explain the term - control as concurrent tasks, Explain the term - Control ...

Explain the term - Control as Concurrent Tasks As we know, any object can be implemented as a task in programming language or operating system. This is the most general approa

Differentiate sub-class and super-class, Differentiate sub-class and super-...

Differentiate sub-class and super-class? The specialization of a class is known as subclasses.eg: employee is a subclass of person and teller is a subclass of employee. Convers

What is multilevel index, Multilevel Index The Multilevel Index is a m...

Multilevel Index The Multilevel Index is a modification of the secondary level index system. In this system we might be use even more number of levels in case the table is eve

Using sql create a view rs for the relations r and s, Using SQL create a vi...

Using SQL create a view RS for the relations R and S. The view consists of the columns A and D renamed as X and Y in that order. Insert a tuple into it. Show the contents of t

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