Home  >  Article  >  Database  >  Boyce-Code Normal Form (BCNF)

Boyce-Code Normal Form (BCNF)

WBOY
WBOYforward
2023-09-04 20:49:021241browse

博伊斯-科德范式 (BCNF)

BCNF is an extension of Third Normal Form (3NF) and is slightly stronger than 3NF.

Relation R belongs to BCNF if P -> Q is a trivial functional dependency and P is a superkey of R.

If the relation is in BCNF, it means that the redundancy based on functional dependencies has been removed, but some redundancy still exists.

Let’s see an example -

##End_TimePackage##G01G01##Gold10:30##10:15
# #ground

Begin_Time

07:00

09:00

Gold

10:00

##12:00

G01

##11:00

Bronze

G02

11:15

silver

##G02

08:00

09:00

Silver

##The above relationship is in 1NF, 2NF, and 3NF, but not in BCNF. The reason is as follows:

Functional dependency

{Package->Ground}

It has the decisive property Package on which Ground depends on neither the candidate key nor the Not a superset of candidate keys.

##Encapsulation

Ground##Silver##Bronze

##Gold

G01

G02

G01

##10:3011:00G02 10:1511:15##G02
ground

Begin_Time

End_Time

G01

07:00

09:00

G01

10:00

12:00

G01

08:00

09:00

Now the above table is in BCNF format.

The candidate keys for table are Package and Ground

## The candidate keys for table

are {Ground, Begin_Time } and {Ground, End_Time}Because we are in

relationship.

The above is the detailed content of Boyce-Code Normal Form (BCNF). For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete