Diferència entre 3NF i BCNF

Diferència entre 3NF i BCNF
Diferència entre 3NF i BCNF

Vídeo: Diferència entre 3NF i BCNF

Vídeo: Diferència entre 3NF i BCNF
Vídeo: 🔥 DIFERENCIA entre las METODOLOGÍAS Waterfall (en cascadas) & Ágil | En español 2024, Juliol
Anonim

3NF contra BCNF

La normalització és un procés que es realitza per minimitzar les redundàncies que hi ha a les dades de les bases de dades relacionals. Aquest procés dividirà principalment taules grans en taules més petites amb menys redundància. Aquestes taules més petites es relacionaran entre si mitjançant relacions ben definides. En una base de dades ben normalitzada, qualsevol alteració o modificació de les dades requerirà modificar només una taula. La tercera forma normal (3NF) va ser introduïda l'any 1971 per Edgar F. Codd, que també és l'inventor del model relacional i del concepte de normalització. Boyce-Codd Normal Form (BCNF) va ser introduït el 1974 per Codd i Raymond F. Boyce.

Què és 3NF?

3NF és la tercera forma normal utilitzada en la normalització de bases de dades relacionals. Segons la definició de Codd, es diu que una taula està en 3NF, si i només si, aquesta taula està en la segona forma normal (2NF), i tots els atributs de la taula que no pertanyen a una clau candidata haurien de dependre directament de totes les claus candidates d'aquesta taula. El 1982 Carlo Zaniolo va produir una definició expressada de manera diferent de 3NF. Les taules que compleixen la 3NF generalment no contenen anomalies que es produeixin en inserir, suprimir o actualitzar registres a la taula.

Què és BCNF?

BCNF (també conegut com 3.5NF) és una altra forma normal que s'utilitza en la normalització de bases de dades relacionals. Es va introduir per capturar algunes de les anomalies que no s'aborden pel 3NF. Es diu que una taula està en BCNF, si i només si, per a cadascuna de les dependències de la forma A → B que no són trivials, A és una superclau. La descomposició d'una taula que no està en la forma normal BCNF no garanteix la producció de taules en la forma BCNF (tot i que es conserven les dependències que estaven presents a la taula original).

Quina diferència hi ha entre 3NF i BCNF?

Tant 3NF com BCNF són formes normals que s'utilitzen a les bases de dades relacionals per minimitzar les redundàncies a les taules. En una taula que es troba en la forma normal BCNF, per a cada dependència funcional no trivial de la forma A → B, A és una superclau, mentre que, una taula que compleixi amb 3NF hauria d'estar a la 2NF, i totes les no primeres. L'atribut hauria de dependre directament de cada clau candidata d'aquesta taula. El BCNF es considera una forma normal més forta que el 3NF i es va desenvolupar per capturar algunes de les anomalies que no podien ser capturades per 3NF. L'obtenció d'una taula que compleixi amb el formulari BCNF requerirà descompondre una taula que es troba a la 3NF. Aquesta descomposició donarà lloc a operacions d'unió addicionals (o productes cartesians) en executar consultes. Això augmentarà el temps de càlcul. D' altra banda, les taules que compleixen amb BCNF tindrien menys acomiadaments que les taules que només compleixen amb 3NF. A més, la majoria de vegades, és possible obtenir una taula que compleixi amb 3NF sense dificultar la preservació de la dependència i la unió sense pèrdues. Però això no sempre és possible amb BCNF.

Recomanat: