UrbanPro

Learn RDBMS from the Best Tutors

  • Affordable fees
  • 1-1 or Group class
  • Flexible Timings
  • Verified Tutors

Search in

What is difference between 3nf and bcnf?

Asked by Last Modified  

17 Answers

Learn RDBMS

Follow 1
Answer

Please enter your answer

IT Professional Trainer with 7 years of experience in Teaching

a relation R is in 3NF if for each functional dependency X ? A in R at least one of the following conditions are met: X is a key or superkey in R A is a prime attribute in R the only difference between 3NF and BCNF is that in BCNF it is not present the second condition of the 3NF. 3NF is the...
read more
a relation R is in 3NF if for each functional dependency X ? A in R at least one of the following conditions are met: X is a key or superkey in R A is a prime attribute in R the only difference between 3NF and BCNF is that in BCNF it is not present the second condition of the 3NF. 3NF is the subset of BCNF i.e. every realtion in BCNF is also in 3NF but not vice versa. read less
Comments

Coaching

Both 3NF and BCNF are normal forms that are used in relational databases to minimize redundancies in tables. In a table that is in the BCNF normal form, for every non-trivial functional dependency of the form A ? B, A is a super-key whereas, a table that complies with 3NF should be in the 2NF, and every...
read more
Both 3NF and BCNF are normal forms that are used in relational databases to minimize redundancies in tables. In a table that is in the BCNF normal form, for every non-trivial functional dependency of the form A ? B, A is a super-key whereas, a table that complies with 3NF should be in the 2NF, and every non-prime attribute should directly depend on every candidate key of that table. BCNF is considered as a stronger normal form than the 3NF and it was developed to capture some of the anomalies that could not be captured by 3NF. Obtaining a table that complies with the BCNF form will require decomposing a table that is in the 3NF. This decomposition will result in additional join operations (or Cartesian products) when executing queries. it is possible to obtain a table that comply with 3NF without hindering dependency preservation and lossless joining. But this is not always possible with BCNF. read less
Comments

Tutor taking Computer subjects Classes

3 NF is regarding transitive dependency. i.e. if in R(A,B,C,D,E) and A->C and C->E then the relation is not in 3NF. u need to remove the transitive dependency by decomposing R. and if R(A,B,C,D,E) and A,B->D,E and A,C->D and B->C then R is not in BCNF. BCNF is to be checked when theres is two composite...
read more
3 NF is regarding transitive dependency. i.e. if in R(A,B,C,D,E) and A->C and C->E then the relation is not in 3NF. u need to remove the transitive dependency by decomposing R. and if R(A,B,C,D,E) and A,B->D,E and A,C->D and B->C then R is not in BCNF. BCNF is to be checked when theres is two composite key possible where one attribute(here A ) is common and other two (here C & D) heve dependency. read less
Comments

Lest

A relation schema R is in 3NF if it is in 2NF and for every FD X --> A either of the following is true X is a Super-key of R. A is a prime attribute of R. In other words, if every non prime attribute is non-transitively dependent on primary key. A relation schema R is in BCNF if it is in 3NF...
read more
A relation schema R is in 3NF if it is in 2NF and for every FD X –> A either of the following is true X is a Super-key of R. A is a prime attribute of R. In other words, if every non prime attribute is non-transitively dependent on primary key. A relation schema R is in BCNF if it is in 3NF and satisfies an additional constraint that for every FD X –> A, X must be a candidate key. read less
Comments

Oracle Database Architect/Expert

The difference between 3NF and BCNF is that for a functional dependency A ? B, 3NF allows this dependency in a relation if B is a primary-key attribute and A is not a candidate key, whereas BCNF insists that for this dependency to remain in a relation, A must be a candidate key. Regards, ...
Comments

B. Tech

BCNF: For every functional dependency X->Y in a set F of functional dependencies over relation R, either: Y is a subset of X or, X is a superkey of R 3NF: For every functional dependency X->Y in a set F of functional dependencies over relation R, either: Y is a subset of X or, X is a superkey...
read more
BCNF: For every functional dependency X->Y in a set F of functional dependencies over relation R, either: Y is a subset of X or, X is a superkey of R 3NF: For every functional dependency X->Y in a set F of functional dependencies over relation R, either: Y is a subset of X or, X is a superkey of R, or Y is a subset of K for some key K of R N.b., no subset of a key is a key read less
Comments

Computer programmer ,maths tutor

Please refer wiki for exact definitions. Here is an explaination to your query 3NF Definition A relation is in 3NF if it is in 2NF and no non-prime attribute transitively depends on the primary key. In other words, a relation R is in 3NF if for each functional dependency X ? A in R at least...
read more
Please refer wiki for exact definitions. Here is an explaination to your query 3NF Definition A relation is in 3NF if it is in 2NF and no non-prime attribute transitively depends on the primary key. In other words, a relation R is in 3NF if for each functional dependency X ? A in R at least one of the following conditions are met: X is a key or superkey in R A is a prime attribute in R Example Given the following relation: EMP_DEPT(firstName, employeeNumber, dateOfBirth, address, departmentNumber, departmentName) An employee can only work in one department and each department has many employees. The candidate key is employeeNumber. Consider the following functional dependencies: employeeNumber ? firstName, dateOfBirth, address, departmentNumber departmentNumber ? departmentName Given the definition above it is possible to conclude that the relation EMP_DEPT is not in 3NF because the second functional dependency does not meet any of the 2 conditions of the 3NF: departmentNumber is not a key or superkey in EMP_DEPT departmentName is not a prime attribute in EMP_DEPT BCNF Definition A relation R is in BCNF if it is in 3NF and for each functional dependency X ? A in R, X is a key or superkey in R. In other words, the only difference between 3NF and BCNF is that in BCNF it is not present the second condition of the 3NF. This makes BCNF stricter than 3NF as any relation that is in BCNF will be in 3NF but not necessarily every relation that is in 3NF will be in BCNF. Example Given the following relation: STUDENT_COURSE(studentNumber, socialSecurityNumber, courseNumber) A student can assist to many courses and in a course there can be many students. The candidate keys are: socialSecurityNumber, courseNumber studentNumber, courseNumber Consider the following functional dependencies: studentNumber ? socialSecurityNumber socialSecurityNumber ? studentNumber Given the definitioin above it is possible to conclude that STUDENT_COURSE is not in BCNF as at least studentNumber is not a key or superkey in STUDENT_COURSE.3NF Definition A relation is in 3NF if it is in 2NF and no non-prime attribute transitively depends on the primary key. In other words, a relation R is in 3NF if for each functional dependency X ? A in R at least one of the following conditions are met: X is a key or superkey in R A is a prime attribute in R Example Given the following relation: EMP_DEPT(firstName, employeeNumber, dateOfBirth, address, departmentNumber, departmentName) An employee can only work in one department and each department has many employees. The candidate key is employeeNumber. Consider the following functional dependencies: employeeNumber ? firstName, dateOfBirth, address, departmentNumber departmentNumber ? departmentName Given the definition above it is possible to conclude that the relation EMP_DEPT is not in 3NF because the second functional dependency does not meet any of the 2 conditions of the 3NF: departmentNumber is not a key or superkey in EMP_DEPT departmentName is not a prime attribute in EMP_DEPT BCNF Definition A relation R is in BCNF if it is in 3NF and for each functional dependency X ? A in R, X is a key or superkey in R. In other words, the only difference between 3NF and BCNF is that in BCNF it is not present the second condition of the 3NF. This makes BCNF stricter than 3NF as any relation that is in BCNF will be in 3NF but not necessarily every relation that is in 3NF will be in BCNF. Example Given the following relation: STUDENT_COURSE(studentNumber, socialSecurityNumber, courseNumber) A student can assist to many courses and in a course there can be many students. The candidate keys are: socialSecurityNumber, courseNumber studentNumber, courseNumber Consider the following functional dependencies: studentNumber ? socialSecurityNumber socialSecurityNumber ? studentNumber Given the definitioin above it is possible to conclude that STUDENT_COURSE is not in BCNF as at least studentNumber is not a key or superkey in STUDENT_COURSE. read less
Comments

Tuition for B.E students

in 3nf we use transitive relation,in bcnf superkey concept is used
Comments

Senior IT Project Manager,Corporate Trainer,Visiting Professor

BCNF: For every functional dependency X->Y in a set F of functional dependencies over relation R, either: Y is a subset of X or, X is a superkey of R 3NF: For every functional dependency X->Y in a set F of functional dependencies over relation R, either: Y is a subset of X or, X is a superkey...
read more
BCNF: For every functional dependency X->Y in a set F of functional dependencies over relation R, either: Y is a subset of X or, X is a superkey of R 3NF: For every functional dependency X->Y in a set F of functional dependencies over relation R, either: Y is a subset of X or, X is a superkey of R, or Y is a subset of K for some key K of R N.b., no subset of a key is a key read less
Comments

16 years of IT exp. Overseas (Singapore/Dubai/Spans) 4.5 years exp.

Assume the following things; A and B are set of attributes. A is non-key attribute and B is the primary key. FD -- { A ? B. } The above Functional Dependency is about the dependency of primary key on a non-key attribute. This functional dependency is permitted in Third Normal Form (3NF). 3NF tries...
read more
Assume the following things; A and B are set of attributes. A is non-key attribute and B is the primary key. FD – { A ? B. } The above Functional Dependency is about the dependency of primary key on a non-key attribute. This functional dependency is permitted in Third Normal Form (3NF). 3NF tries to identify and eliminate Non-key ? Non-key dependency. This Functional Dependency is not permitted in Boyce-Codd Normal Form (BCNF), because BCNF expects the determiner should be a candidate key. In our example, A is not a candidate key. This is why BCNF is termed as strict 3NF. 3NF is always achievable. BCNF is not. BCNF may result in Loss-less Join Decomposition and lead to loss of Dependency Preserving Decompositions. Properties 3NF BCNF Achievability Always achievable Not always achievable Quality of the tables Less More Non-key Determinants Can have non-key attributes as determinants Cannot have. Proposed by Edgar F. Codd Raymond F.Boyce and Edgar F.Codd jointly proposed Decomposition Loss-less join decomposition can be achieved Sometimes Loss-less join decomposition cannot be achieved Table 1 – 3NF – BCNF Comparisons read less
Comments

View 15 more Answers

Related Questions

Hello everyone, I have done MBA. I want do career in IT field. Please suggest me best IT Course for get /entry for fresher.
Hello dear, MBA is done..what you wish to choose as career. kindly share details as in core interest. Regards
Priya

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

SQLServer - Introduction
SQL Server is a relational database management system (RDBMS) developed and marketed by Microsoft. As a database server, the primary function of the SQL Server is to store and retrieve data used by other...
R

What is DBMS and RDBMS
Database Management Systems A database is a collection of data or records. Database management systems are designed to work with data. A database management system (DBMS) is a software system that uses...

Essential SQL Tips For Developers And For MS SQL DBA
10 Essential SQL Tips for Developers: SQL is yet another essential language for developers wishing to create data-driven websites. However, many developers are unfamiliar with various aspects of SQL;...

Recommended Articles

Hadoop is a framework which has been developed for organizing and analysing big chunks of data for a business. Suppose you have a file larger than your system’s storage capacity and you can’t store it. Hadoop helps in storing bigger files than what could be stored on one particular server. You can therefore store very,...

Read full article >

Applications engineering is a hot trend in the current IT market.  An applications engineer is responsible for designing and application of technology products relating to various aspects of computing. To accomplish this, he/she has to work collaboratively with the company’s manufacturing, marketing, sales, and customer...

Read full article >

Software Development has been one of the most popular career trends since years. The reason behind this is the fact that software are being used almost everywhere today.  In all of our lives, from the morning’s alarm clock to the coffee maker, car, mobile phone, computer, ATM and in almost everything we use in our daily...

Read full article >

Whether it was the Internet Era of 90s or the Big Data Era of today, Information Technology (IT) has given birth to several lucrative career options for many. Though there will not be a “significant" increase in demand for IT professionals in 2014 as compared to 2013, a “steady” demand for IT professionals is rest assured...

Read full article >

Looking for RDBMS Training?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you
X

Looking for RDBMS Classes?

The best tutors for RDBMS Classes are on UrbanPro

  • Select the best Tutor
  • Book & Attend a Free Demo
  • Pay and start Learning

Learn RDBMS with the Best Tutors

The best Tutors for RDBMS Classes are on UrbanPro

This website uses cookies

We use cookies to improve user experience. Choose what cookies you allow us to use. You can read more about our Cookie Policy in our Privacy Policy

Accept All
Decline All

UrbanPro.com is India's largest network of most trusted tutors and institutes. Over 55 lakh students rely on UrbanPro.com, to fulfill their learning requirements across 1,000+ categories. Using UrbanPro.com, parents, and students can compare multiple Tutors and Institutes and choose the one that best suits their requirements. More than 7.5 lakh verified Tutors and Institutes are helping millions of students every day and growing their tutoring business on UrbanPro.com. Whether you are looking for a tutor to learn mathematics, a German language trainer to brush up your German language skills or an institute to upgrade your IT skills, we have got the best selection of Tutors and Training Institutes for you. Read more