Cómo explicar la normalización de la base de datos con ejemplos del mundo real

En palabras simples, la normalización es una forma sistemática de garantizar que una estructura de base de datos sea adecuada para consultas de propósito general y libre de ciertas características indeseables (anomalías de inserción, actualización y eliminación) que podrían conducir a una pérdida de la integridad de los datos.

Los formularios normales en una base de datos o el concepto de Normalización hacen que una Relación o Tabla esté libre de anomalías de inserción / actualización / eliminación y ahorra espacio al eliminar datos duplicados.

Según EF Codd, los objetivos de normalización se establecieron de la siguiente manera:
1. Para liberar la colección de relaciones de dependencias indeseables de inserción, actualización y eliminación.
2. Para reducir la necesidad de reestructurar la recopilación de relaciones a medida que se introducen nuevos tipos de datos, y así aumentar la vida útil de los programas de aplicación.
3. Hacer que el modelo relacional sea más informativo para los usuarios.
4. Hacer que la colección de relaciones sea neutral para las estadísticas de consulta, donde estas estadísticas pueden cambiar con el paso del tiempo.

A partir de ahora hay un total de 8 formularios normales, pero para mantener nuestros datos consistentes y no redundantes, los primeros 3 formularios normales son suficientes.

Anomalías como: Digamos que tiene una sola tabla que almacena los detalles de Empleados y Departamento, por lo tanto:

1. Si está insertando un detalle de un Empleado, también se ingresarán los detalles de su departamento para cada registro de empleado, por lo que los detalles de los departamentos se repetirán con múltiples registros, almacenando así datos duplicados para los Departamentos.

2. Al actualizar el detalle de un departamento, debe actualizar el mismo departamento para varios empleados, lo que puede generar un estado inconsistente si queda algún registro durante la actualización o en caso de error.

3. Si un departamento está cerrado, la eliminación del registro del departamento también eliminará los registros de Empleado, por lo tanto, faltan registros .

El proceso de normalización hace que esta tabla EmployeeDepartment se descomponga o divida en 2 o más tablas y las vincule mediante claves externas, eliminando así registros duplicados, redundancia de datos y haciendo que los datos / registros sean consistentes en todas las relaciones / tablas.

1st NF habla sobre valores atómicos y grupos no repetitivos.
2nd NF exige que un atributo que no sea Key pertenezca a todo el atributo Key.
3rd NF se asegura de que no haya dependencia transitiva entre un atributo sin clave y uno con clave.

Para obtener detalles sobre estos 3 NF, consulte este blog: Normalización de la base de datos | 1NF, 2NF, 3NF

~ manoj ( SQL con Manoj )

La normalización de la base de datos se trata de cómo evitar causar anomalías cuando se actualiza una tabla. Por lo tanto, debe haber un único identificador único para una entidad en una tabla. El ejemplo más obvio es una tabla de empleados en una base de datos de recursos humanos. La mayoría de los sistemas modernos de recursos humanos contienen un número de identificación generado por el sistema que se utiliza en cada tabla para identificar a un solo empleado. Esta identificación permanece constante independientemente de los cambios en el nombre, la dirección, el estado civil, el número de teléfono o cualquier otra cosa que pueda cambiar con el tiempo. Este ID es la clave principal (PK) en todas las tablas de empleados. Todos los campos en estas tablas se basan únicamente en esta clave y cualquier cambio realizado en cualquier otro campo puede reflejarse en toda la base de datos porque una sola clave primaria (PK) une todas las tablas.

En resumen, se puede decir que una tabla en una base de datos relacional está en forma normal de Boyce-Codd cuando todos los campos de la tabla dependen de la PK y solo de la clave primaria.

Espero que esto ayude.

Vería mi respuesta y las otras respuestas a una pregunta similar aquí: la respuesta de Ben Darfler a ¿Cómo describirías el concepto de normalización de la base de datos a un laico?

More Interesting

¿Cuáles son los métodos de ciencia de datos más utilizados en los negocios?

¿Cuál es la diferencia entre un científico de datos y un ingeniero de aprendizaje automático en LinkedIn?

¿Cuál es la mejor aplicación de recuperación de datos de la tarjeta SD para Android (Play Store)?

¿Por qué Java no se considera apropiado para ML / ciencia de datos / aprendizaje profundo?

Soy un desarrollador de Ruby on Rails. ¿Cómo hago una transición a un rol de Data Scientist?

¿Qué tipo de métodos de ciencia de datos se pueden aplicar a los datos de tráfico web?

¿Es más fácil trabajar en SVM o LR para una persona con antecedentes menores de estadísticas y minería de datos?

¿Cuáles son las diferencias en una maestría en ingeniería eléctrica (procesamiento de señales / aprendizaje automático) y una maestría en informática (aprendizaje automático)?

Ya no estoy dispuesto a ir a los Estados Unidos para obtener una maestría. ¿Dónde debería estudiar ciencia de datos y aprendizaje automático?

¿Es realmente necesario saber la codificación Java para Big Data? ¿Es posible aprender Big Data sin conocimiento de Java?

¿Qué es más útil para la ciencia de datos: modelos de regresión o series de tiempo?

¿Cómo es la escena de la ciencia de datos en Noruega a fines de 2016 antes de 2017?

¿Cuáles son las mejores compañías de big data en INDIA para un desarrollador de software?

Cómo prepararse para una maestría en informática en aprendizaje automático / ciencia de datos como una persona sin mucha experiencia en el campo de la informática

¿Qué tipo de programa de maestría es mejor para la ingeniería de datos?