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)

How can we classify the operations on classes, How can we Classify the oper...

How can we Classify the operations on classes  This step fundamentally means all three models functional, object and dynamic (studied in last section) must be combined so that

What is odbc, What is ODBC ? ODBC - Open DataBase Connectivity which i...

What is ODBC ? ODBC - Open DataBase Connectivity which is also denoted by ODBC enable the integration of SQL along with a common-purpose programming language. ODBC expose data

Describe the term- state diagram, Describe the term- State Diagram Sta...

Describe the term- State Diagram State Diagram: An object could receive a sequence of the input instructions. The state of the object can differ depending upon sequence of in

What is a sub-query, (a) What is a Sub-Query? (b) What is the differen...

(a) What is a Sub-Query? (b) What is the difference between a scalar sub-query and a tabular sub-query? (c) Write an equivalent SQL statement to get the Name of Product wh

State the two-way associations, Two-way Associations Mostly, associati...

Two-way Associations Mostly, associations are travel in both directions, although not usually with same frequency. There are three approaches for the implementation. In

What type of view of total database content, What type of view of total dat...

What type of view of total database content? Data base content Conceptual view of total database contain.

What is system r?what are its two major subsystems?, System R was develop...

System R was developed and designed over a period of 1974-79 at IBM San Jose Research Company. Its purpose was to illustrate that it is possible to create a Relational System tha

Explain view in rdbms, Explain view in RDBMS? View - A view is a relati...

Explain view in RDBMS? View - A view is a relation (virtual rather than base) and could be used in query expressions, which is, queries can be written by using the view as a re

Explain nonclustered indexes, What is the difference between SQL Server 200...

What is the difference between SQL Server 2000 clustered and nonclustered indexes? With a clustered index, the data are kept in the bottom level of the index and in the similar

State about the use case diagram, State about the Use Case Diagram A u...

State about the Use Case Diagram A use case diagram represents a set of use cases, actors and their relationships. These diagrams shall be used to model context or requirement

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