top of page
Buscar

Tercera forma normal

Este artículo es una continuación de normalización de base de datos, que hace referencia al paso N° 5 de 5 en nuestro proceso de diseño de una base de datos desde cero.


** Tercera forma normal = 3FN.


Se dice que una tabla está en la 3FN cuando cumple estas reglas:

  1. Cumple todas las reglas de la 2FN.

  2. Todos los campos que no son clave, no dependen transitivamente de la clave.

¿De qué se trata la dependencia transitiva?

Estos tipos de relaciones se generan en campos que además de depender funcionalmente de un campo no clave, indirectamente pueden verse dependientes de la clave primaria, por ejemplo:

En este ejemplo, [C] depende transitivamente de [A] y funcionalmente de [B].


En la 2FN comparamos cada campo no clave versus la clave (compuesta por más de un campo) para evaluar si tenían dependencia funcional a TODA la clave; en la 3FN valida que no haya algún campo no clave que se interponga entre una dependencia funcional de otro campo con la clave primaria.


De esa manera, en el ejemplo propuesto en 2FN bien el # de contacto depende del empleado, pero hasta este punto no sabíamos que primero depende del tipo de teléfono, entonces hay que ajustar la tabla, la finalidad es que cada campo dependa absolutamente de la clave primaria, no parcialmente (2FN) ni indirectamente (3FN).


Analicemos nuestras tablas con claves primarias:


[inventario]

Los campos de "estado" deben ser manejados siempre como un catalogo, por ejemplo:

ESTADO_ITEM = {A, N, I, P}

DESC_ESTADO_ITEM = {ACTIVO, NUEVO, INACTIVO, PROTOTIPO}

[reserva de citas]

La misma recomendación del campo anterior, por ejemplo:

ESTADO_CITA = {RS, RP, A}

DESC_ESTADO_CITA = {RESERVA SIN PAGO, RESERVA CON PAGO, ATENDIDA}

[datos propios de la mascota]

Vemos que gran parte de los campos de la dirección dependen funcionalmente del sector e indirectamente de la mascota, por lo tanto lo que nos dice la regla es que creemos una tabla nueva de relación con los campos afectados y la clave primaria.

[sucursales]

No tiene relaciones indirectas o transtivas

[nómina de doctores y asistentes]

Sucede lo mismo que en las otras tablas, es recomendable hacer este tipo de gráfico para analizar como fluyen la dependencias respecto a la clave primaria.


El resultado es el siguiente:

En este punto nuestra base de datos está en 3FN y ya podemos usarla en un ambiente transaccional, claro que esta base de datos está limitada al propósito del curso; más no resume todo lo que involucra una B.D. tipo veterinaria en la vida real, por ejemplo no hemos incluido tipos de sangre, exámenes médicos, proveedores, linaje (puede ser que una camada de perros de la misma familia sea atendida por el mismo doctor), y más; recuerda que todo dependerá del análisis del propósito de la base de datos.


Este ha sido un ejemplo que combina lo conceptual y práctico en la materia, esperando que te sea de utilidad en aprendizaje o en fortalecimiento de tu criterio respecto a base de datos, me despido, hasta la próxima!.


Eddy.

Comments


Formulario de contacto

Tel. +593 992 448 541

© 2019 derechos de autor FACDISCOVER

Ecuador, Guayaquil

bottom of page