Está en la página 1de 13

Formas Normales y Reglas de

Integridad
 Las formas normales son reglas que establecen la organización de los datos dentro de una
base de datos relacional. Su objetivo principal es reducir la redundancia y mejorar la
integridad de los datos, evitando problemas como la inconsistencia y la duplicidad de
información.
 Nota: Una llave primaria es una columna que identifica únicamente las filas de datos en esa
tabla. Es un identificador único tal como ID de empleado, ID de estudiante, Número de
Identificación del votante (VIN), y así sucesivamente.
 Una llave foránea es un campo que se relaciona a la llave primaria de la otra tabla.
 Una llave compuesta es como la llave primaria, pero en vez de tener una columna, tiene
múltiples columnas.
PRIMERA FORMA NORMAL. 1FN
Se busca eliminar los grupos repetitivos de datos y garantizar que cada celda de la tabla contenga
un solo valor. Se considera que una relación se encuentra en la primera forma normal cuando
cumple lo siguiente:
1. Las celdas de las tablas poseen valores simples y no se permiten grupos ni arreglos repetidos
como valores, es decir, contienen un solo valor por cada celda.
2. Todos los datos en cualquier columna (atributo) deben ser del mismo tipo.
3. Cada columna debe tener un nombre único, el orden de las columnas en la tabla no es
importante.
4. Dos filas o renglones de una misma tabla no deben ser idénticas, aunque el orden de las filas
no es importante.
Segunda forma normal. 2FN
Para la segunda forma normal requerimos saber que es una dependencia funcional( Consiste en edificar
que atributos dependen de otros atributos).

Se centra en la eliminación de
Atributos dependientes
dependencias parciales.

Atributo que determina

Una tabla está en 2NF si está en 1NF y si todos sus atributos no clave dependen completamente de la
clave primaria.
Una tabla de «Órdenes» con columnas como «ID de Orden», «Producto», «Cantidad» y «Precio». Si el
precio depende solo del producto y no de la combinación de producto e ID de orden, entonces hay una
dependencia parcial. En este caso, la segunda forma normal sugeriría dividir la información en dos tablas
distintas.
Segunda forma normal. 2FN
La segunda forma normal se representa por dependencias funcionales como:

Nombre
Nombre
Cédula
Control Edad
Especial

Nótese que las llaves primarias están representadas con doble cuadro, las flechas
nos indican que de estos atributos se puede referenciar a los otros atributos que
dependen funcionalmente de la llave primaria.
Tercera forma normal. 3FN
Cuando una tabla está en 2NF, elimina los grupos repetitivos y la redundancia, pero no elimina la
dependencia parcial transitiva.

En pocas palabras una relación está en tercera forma normal si está en segunda forma normal y
no existen dependencias transitivas entre los atributos (dependencias transitivas cuando existe
más de una forma de llegar a referenciar a un atributo de una relación).

Siguiendo con el ejemplo anterior, si tenemos una tabla de «Clientes», con información sobre
«Ciudad» y «Código Postal», y la ciudad depende solo del código postal y no del ID del cliente,
entonces la tercera forma normal sugeriría dividir esta información en otra tabla.
Ventajas de aplicar formas normales

 Reducción de la redundancia: Al organizar los datos de manera eficiente, se evita la


duplicación innecesaria de información, ahorrando espacio de almacenamiento y mejorando
la consistencia de los datos.
 Mejora de la integridad: Las formas normales de una base de datos aseguran que los datos
estén organizados de manera lógica, lo que facilita la búsqueda y actualización de
información sin riesgo de inconsistencias.
 Flexibilidad y escalabilidad: Una base de datos bien normalizada es más fácil de modificar y
expandir a medida que los requisitos del sistema cambian con el tiempo.
 En esencia, las formas normales de una base de datos son fundamentales para el diseño
efectivo de BBDD,
 Reduce la redundancia y mejora la integridad de los datos.
 Los desarrolladores y administradores de bases de datos pueden crear sistemas más
eficientes, flexibles y escalables.
 Su aplicación práctica es esencial para garantizar la calidad y coherencia de la información
almacenada en las BBDD.
 Permite construir bases de datos sólidas y fiables que impulsen el rendimiento y la
confiabilidad de los sistemas de información.
Ejemplos
 Imagina que estamos construyendo una aplicación de administración de un restaurante. Esa
aplicación necesita almacenar datos sobre los empleados de la compañía y comienza creando
la siguiente tabla de empleados:

ID_EMPLEA NOMBRE COD_CAR NOM_CARGO COD_ESTAD ESTADO


DO GO O
E001 Alice J01 Chef 26 Michigan
E001 Alice J02 Waiter 26 Michigan
E002 Bob J02 Waiter 56 Wyoming
E002 Bob J03 Bartender 56 Wyoming
E003 Alice J01 Chef 56 Wyoming

Todas las entradas son atómicas y hay una clave primaria compuesta (id_empleado, cod_cargo) así
que la tabla está en la primera forma normal (1NF).
Ejemplo Segunda Forma Normal

 Pero inclusive si solamente sabes el id_empleado


de alguien, entonces puedes determinar su
nombre, estado, y cod_estado (porque deberían
ser la misma persona). Esto significa que nombre,
estado, y cod_estado son dependientes de
id_empleado (una parte de la clave primaria
compuesta). Así que, la tabla no está en 2NF.
Deberíamos separarlos a una tabla distinta para
hacerlo 2NF.
Tabla RolEmpleados Tabla Empleados
ID_EMPLEAD COD_CAR ID_ NOMBR COD_ ESTADO
O GO EMPLEAD E ESTADO
O
E001 J01
E001 Alice 26 Michigan
E001 J02
E002 Bob 56 Wyoming
E002 J02
E003 Alice 56 Wyoming
E002 J03
E003 J01

Tabla Cargo
El campo estado ahora es dependiente de cod_estado. Así que,
COD_CARG CARGO si sabes el cod_estado, entonces puedes encontrar el valor
O
de estado.
J01 Chef Para llevar esto a un paso más allá, deberíamos separarlos otra
J02 Waiter vez a una tabla distinta para hacerlo 3NF.
J03 Bartender
Ejemplo Tercera Forma Normal
Tabla RolEmpleados Tabla Empleados
ID_EMPLEA COD_CAR ID_EMPLEA NOMBR COD_ESTAD
DO GO DO E O
E001 J01 E001 Alice 26
E001 J02 E002 Bob 56
E002 J02 E003 Alice 56
E002 J03
E003 J01

Tabla Cargos Tabla Estados


COD_CAR CARGO COD_ESTA ESTADO
GO DO
J01 Chef 26 Michigan
J02 Waiter 56 Wyoming
J03 Bartender
 https://keepcoding.io/blog/que-formas-normales-de-una-base-de-datos/#:~:text=E
n%20t%C3%A9rminos%20sencillos%2C%20las%20formas,y%20la%20duplicid
ad%20de%20informaci%C3%B3n
.

También podría gustarte