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.
- ¿Cuál es la naturaleza del big data?
- ¿Los consultores de ciencia de datos / aprendizaje automático ganan más que los asalariados?
- Cómo cambiar mi carrera de desarrollador front-end a ciencia de datos / informática científica
- Cómo analizar datos rápidamente
- ¿Dónde puedo obtener una descripción de esquema de los datos de Microsoft Academic Graph?
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 )