Formas Normales o Normalización de Bases de Datos
En el pasado post, recreamos con IA una entrevista de trabajo para DBA SQL Server. Una de las preguntas de esta entrevista era sobre la normalización de bases de datos y os comenté que esto era muy importante. Es teoría básica de base de datos, pero tan básica que son las normas sobre las que se construyen las bases de datos. Como aún no hemos hablado de ello y todo el que trabaje con base de datos (DBA o usuario) debe conocerlo vamos a dedicarle el artículo de hoy. Sin embargo, en los almacenes de datos, que no permiten actualizaciones interactivas y que están especializados para consultas rápidas en grandes volúmenes de datos, ciertos DBMS utilizan una representación interna 6NF, conocida como almacén de datos en columnas.
Ejemplo de normalización paso a paso
Las reglas de normalización dividen tablas más grandes en tablas más pequeñas y las vinculan mediante relaciones. El propósito de la normalización en SQL es eliminar datos redundantes (repetitivos) y garantizar que los datos se almacenen de forma lógica. Para cumplir esta 3FN, además de tener que cumplir con la 2FN, cada campo de una tabla debe depender funcionalmente solo de la clave primaria sin que haya dependencias transitivas. Esto significa que si un campo no clave depende de otro campo no clave, debemos eliminar esa dependencia y crear una tabla separada. La normalización es el proceso de organizar los datos en una base de datos de forma que se eviten las redundancias, las inconsistencias y las anomalías.
Formas Normales (1FN, 2FN, 3FN y FNBC)
Cada columna de una tabla está relacionada directamente con las columnas de la clave primaria, no de forma transitiva a través de otro campo. En el mismo caso anterior que cumple la 2FN no cumple la tercera si el campo horas semanales depende del puesto. Por ejemplo, si tenemos una tabla de cursos https://visionmexico.mx/conseguir-un-salario-por-encima-del-promedio-en-el-mundo-de-los-datos-gracias-al-bootcamp-de-tripleten/ con los campos código de curso, nombre y requisitos previos, debemos eliminar el campo requisitos previos, ya que puede contener más de un valor para un mismo curso. Este campo debe ir en una tabla aparte de requisitos previos y relacionarse con la tabla de cursos mediante una clave foránea.
Compensaciones de normalización: rendimiento versus integridad de los datos
Esta es la 3fn es más sencilla de explicar ya que la tercera forma normal nos indica, no deben existir dependencias parciales Qué quiere decir esto que toda columna qué no dependa de la clave primaria debe ser sacada en una entidad o nueva estructura. AppMaster, una poderosa herramienta no-code para el desarrollo de aplicaciones, integra principios de normalización en su sistema de administración de bases de datos para brindar a los desarrolladores una experiencia de desarrollo mejorada. Al crear aplicaciones utilizando AppMaster, se emplean herramientas de modelado de datos visuales para ayudar a los desarrolladores a diseñar esquemas de bases de datos, respetando los principios de normalización. Estas herramientas pueden crear tablas de manera eficiente, definir relaciones y diseñar el esquema de datos sin necesidad de codificación, incorporando automáticamente reglas de normalización en la aplicación. Una anomalía de actualización ocurre cuando los cambios en un dato en la base de datos también requieren cambios en otras filas o columnas de la misma tabla. Esto puede provocar incoherencias y errores si los datos no se actualizan correctamente en todas las ubicaciones afectadas.
- Así que, si sabes el state_code, entonces puedes encontrar el valor de home_state.
- Cada regla transforma los datos en una estructura determinada, llamada forma normal.
- En la vida real, es muy posible poder omitir algunos de los pasos de normalización porque la tabla no contiene nada que contradiga la forma normal dada.
- Los datos se ingresan y se verifica que los valores que se repitan no formen parte de la clave primaria.
El proceso contrario de la normalización es la desnormalización, puede producir inconsistencias pero los datos son más sencillos y en algunos casos más rápido de consultar. Como hemos dicho el https://digitalconfidencial.com/mexico/entrar-en-el-mundo-de-los-datos-con-el-bootcamp-de-tripleten-para-ganar-un-salario-por-encima-del-promedio/ primer requisito es estar en 1FN así que vamos a empezar a trabajar sobre esa tabla ya en 1FN. Tendremos que saber cuál es su clave primaria, podría ser Num Factura + Cliente + Linea Factura.
- Cada una de las formas normales serán detalladas en un artículo por separado, para poder hacer ejemplificaciones de los casos y la forma de aplicar cada una de dichas reglas de normalización.
- La normalización de bases de datos en simples palabras es organizar nuestro conjunto de datos para evitar redundancias y duplicaciones.
- Consiste en eliminar los grupos repetitivos y asegurar que cada atributo tenga un valor único dentro de una tabla.
- Todos los tipos de normalización de base de datos son acumulativos – lo que quiere decir es cada uno se construye uno sobre el otro.
El propósito principal de la Normalización de Base de Datos es evitar complejidades, eliminar duplicados, y organizar los datos de una manera consistente. En Normalización, los datos están divididos en varias tablas enlazadas juntas con relaciones. Se dice que una tabla está en 1FN si todos los atributos o campos dentro de la misma solo contienen valores únicos.
Esto significa que si un campo puede tener varios valores posibles para un mismo registro, debemos crear una tabla aparte para almacenar esos valores y relacionarla con la tabla original mediante una clave foránea. Lo más normal es normalizar las bases de datos hasta la tercera forma normal, a partir de aquí, aunque sigue siendo recomendable, no siempre se cumple con todo y va a depender más de casos concretos. Vamos a conocerlo aunque ya sin nuestra tabla de ejemplo, pues lo que resta no curso de análisis de datos aplica en nuestro caso. Para poder considerar una tabla en 2FN tiene que cumplir con todos los requisitos de la 1FN y, además, que todos los campos que no formen parte de la clave primaria dependan completamente de la clave primaria. Esto significa que si la clave primaria está compuesta por más de un campo, cada campo no clave debe depender de todos los campos clave y no solo de algunos. Deberemos separar nuestra tabla en varias de manera que todos los campos cumplan con este requisito.