Diferencia entre la normalización y la desnormalización

Normalización vs Desnormalización

Las bases de datos relacionales se componen de relaciones (tablas relacionadas). Las mesas se componen de columnas. Si las tablas son dos grandes (es decir, demasiadas columnas en una tabla), pueden ocurrir anomalías en la base de datos. Si las tablas son dos pequeñas (es decir, la base de datos está formada por muchas tablas más pequeñas), sería ineficaz para la consulta. 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. La desnormalización (inversa de la normalización) agrega datos redundantes o datos de grupo.

¿Qué 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 las bases de datos relacionales. Este proceso dividirá principalmente las tablas grandes en tablas más pequeñas con menos redundancias (llamadas "formas normales"). Estas tablas más pequeñas se relacionarán 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 requerirá la modificación de una sola tabla. Edgar F. Codd introdujo la primera forma normal (1NF), la segunda forma normal (2NF) y la tercera forma normal (3NF). La forma normal de Boyce-Codd (BCNF) fue introducida en 1974 por Codd y Raymond F. Boyce. Se han definido las formas normales más altas (4NF, 5NF y 6NF), pero se están utilizando rara vez.

Una tabla que cumple con 1NF asegura que realmente representa una relación (es decir, no contiene ningún registro que se repita) y no contiene ningún atributo que tenga un valor relacional (es decir, 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 candidata (es decir, atributos no principales) debe depender completamente de cualquiera de las claves candidatas en la tabla. De acuerdo con la definición de 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 pertenezca a una clave candidata debe depender directamente de cada Clave candidata de esa mesa. BCNF (también conocido como 3.5NF) captura algunas de las anomalías que no son abordadas por la 3NF.

¿Qué es la desnormalización??

La desnormalización es el proceso inverso del proceso de normalización. La desnormalización funciona agregando datos redundantes o agrupando datos para optimizar el rendimiento. A pesar de que agregar datos redundantes suena contraproducente, a veces la desnormalización es un proceso muy importante para superar algunas de las deficiencias del software de bases de datos relacionales que pueden incurrir en graves penalizaciones de rendimiento con las 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 base de datos.

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

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

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

- La normalización se realiza para evitar anomalías en las bases de datos..

- La desnormalizació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, las escrituras (es decir, las operaciones de inserción, actualización y eliminación) pueden volverse más lentas. Por lo tanto, una base de datos desnormalizada puede ofrecer un peor rendimiento de escritura que una base de datos normalizada.

- A menudo se recomienda que “normalices hasta que te duela, desnormalízate hasta que funcione”.