Diferencia entre la normalización y la desnormalización

Diferencia entre la normalización y la desnormalización

Normalización vs desnormalización

Las bases de datos relacionales están formadas por relaciones (tablas relacionadas). Las tablas están formadas por columnas. Si las tablas son dos grandes (yo.mi. Demasiadas columnas en una tabla), luego pueden ocurrir anomalías de la base de datos. Si las mesas son dos pequeñas (yo.mi. La base de datos está compuesta por muchas tablas más pequeñas), sería ineficiente para consultar. La normalización y la desnormalización son dos procesos que se utilizan para optimizar el rendimiento de la base de datos. La normalización minimiza las redundancias que están presentes en las tablas de datos. Denormalización (reverso de la normalización) agrega datos redundantes o datos de grupo.

Que es la normalización?

La normalización es un proceso que se lleva a cabo para minimizar las redundancias que están presentes en los datos en bases de datos relacionales. Este proceso dividirá principalmente tablas grandes en tablas más pequeñas con menos redundancias (llamadas "formas normales"). Estas tablas más pequeñas estarán relacionadas entre sí a través de relaciones bien definidas. En una base de datos bien normalizada, cualquier alteración o modificación en los datos requiere modificar solo una tabla. Primera forma normal (1NF), segunda forma normal (2NF) y la tercera forma normal (3NF) fueron introducidas por Edgar F. CODD. Boyce-Codd Normal Form (BCNF) fue introducido en 1974 por Codd y Raymond F. Boyce. Se han definido formas normales más altas (4NF, 5NF y 6NF), pero se están utilizando raramente.

Una tabla que cumple con 1NF asegura que realmente representa una relación (i.mi. No contiene ningún registro que se repita), y no contiene ningún atributo que sea valorado relacional (i.mi. Todos los atributos deben tener valores atómicos). Para que una tabla cumpla con 2NF, debe cumplirse con 1NF y cualquier atributo que no sea parte de ninguna clave de candidato (i.mi. atributos no predominantes) deben depender completamente de cualquiera de las claves candidatas en la tabla. De acuerdo con la definición del CODD, se dice que una tabla está en 3NF, si y solo si esa tabla está en la segunda forma normal (2NF) y cada atributo en la tabla que no pertenece a una clave de candidato debe depender directamente de cada Clave candidata de esa tabla. Bcnf (también conocido como 3.5nf) captura algunas de las anomalías que no están abordadas por el 3NF.

¿Qué es la desnormalización??

La denormalización es el proceso inverso del proceso de normalización. Denormalización funciona agregando datos redundantes o datos de agrupación para optimizar el rendimiento. Aunque, agregar datos redundantes suena contraproducente, a veces la desnormalización es un proceso muy importante para superar algunas de las deficiencias en el software de base de datos relacional que puede incurrir en grandes sanciones de rendimiento con bases de datos normalizadas (incluso sintonizadas para un mayor rendimiento). Esto se debe a que unir varias relaciones (que son resultados de la normalización) para producir un resultado a una consulta a veces puede ser lento dependiendo de la implementación física real de los sistemas de bases de datos.

¿Cuál es la diferencia entre la normalización y la denormalización??

- La normalización y la desnormalización son dos procesos que son completamente opuestos.

- La normalización es el proceso de dividir las tablas más grandes en las más pequeñas que reducen los datos redundantes, mientras que la desnormalización es el proceso de agregar datos redundantes para optimizar el rendimiento.

- La normalización se lleva a cabo para evitar anomalías de bases de datos.

- La denormalización generalmente se lleva a cabo para mejorar el rendimiento de lectura de la base de datos, pero debido a las restricciones adicionales utilizadas para la desnormalización, escribe (i.mi. Insertar, actualizar y eliminar operaciones) puede volverse más lento. Por lo tanto, una base de datos desnormalizada puede ofrecer un rendimiento de escritura peor que una base de datos normalizada.

- A menudo se recomienda que "se normalice hasta que duele, desnormalizado hasta que funcione".