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)

Data base model, why are older data base model are being replaced by new da...

why are older data base model are being replaced by new data model

Sparse and dense indexes, Sparse and Dense Indexes These indexes in pri...

Sparse and Dense Indexes These indexes in principle are the similar as that of indexes used at the back of the book. The key facts of the indexes are: They are arranged

Process of adjustment of inheritance, Process of Adjustment of inheritance ...

Process of Adjustment of inheritance During object design, inheritance is readjusted by rearranging classes and operations, and abstracting common behaviour.

Insert - referential integrity, The insertion of a tuple in the aim of refe...

The insertion of a tuple in the aim of reference does not cause any destruction. Though, insertion of a tuple in the relation in which, we has the foreign key, for instance, in ASS

What is data model explain object and data base models, What is data model?...

What is data model? Explain object based and record based data models? Ans: A data model is an abstract model in which describes how data is represented and accessed. (i)

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

What is a built-in, What is a Built-in A notation of identity is built-...

What is a Built-in A notation of identity is built-into the data model or programming language and no user-supplied identifier is needed. This form of identity is used in objec

State in detail about data flow diagram, What is a Data Flow Diagram?  ...

What is a Data Flow Diagram?  Data Flow Diagram: A data flow diagram is the graph that shows flow of data values from their sources in objects in the course of processes whic

Explain the functions trim-length-count in oracle, Explain the following fu...

Explain the following functions of Oracle with suitable examples: (i) To_Char( ) (ii) Count( ) (iii) Trim( ) (iv) Length( ) Ans: (i) To_char( ): The TO_CHAR function conver

Example of transaction? , Example :; transfers transfer_amount from x's acc...

Example :; transfers transfer_amount from x's account to y's account ; Supposes x&y both accounts exist TRANSACTION (x, y, transfer_amount) Start transaction IF X AND Y

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