Maison  >  Article  >  base de données  >  Forme normale du code Boyce (BCNF)

Forme normale du code Boyce (BCNF)

WBOY
WBOYavant
2023-09-04 20:49:021241parcourir

博伊斯-科德范式 (BCNF)

BCNF est une extension de la troisième forme normale (3NF) et est légèrement plus forte que 3NF.

La relation R appartient à BCNF si P -> Q est une dépendance fonctionnelle triviale et P est une super-clé de R.

Si la relation est en BCNF, cela signifie que la redondance basée sur les dépendances fonctionnelles a été supprimée, mais qu'une certaine redondance existe toujours.

Voyons un exemple -

Ground

Begin_Time

End_Time

Package

G01

07:00

09:00

Golden

G01

10:00

12:00

or

G01

10:30

11:00

Bronze

G02

10:15

11:15

Argent

G02

08:00

09:00

Argent

La relation ci-dessus est en 1NF, 2NF et 3NF, mais pas en BCNF . Voici pourquoi :

Dépendance fonctionnelle {Package->Ground}

Elle a la propriété décisive que le package dont dépend Ground n'est ni une clé candidate ni un sur-ensemble de clés candidates.

Package

Ground

Or

G01

Argent

G02

Bronze

G01

Ground

Begin_Time

End_Time

G01

07:00

09: 00

G01

10:00

12:00

G01

10:30

11:00

G02

10:15

11:15

G02

08:00

09:00

Maintenant, le tableau ci-dessus est dans Format BCNF. Les clés candidates pour la table

sont Package et Ground

Les clés candidates pour la table sont {Ground, Begin_Time} et {Ground, End_Time}

Puisque nous sommes dans le relation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer