Actividad 5

NORMALIZACIÓN

Definicion

La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes.Los datos redundantes desperdician el espacio de disco y crean problemas de mantenimiento. Si hay que cambiar datos que existen en más de un lugar, se deben cambiar de la misma forma exactamente en todas sus ubicaciones. Un cambio en la dirección de un cliente es mucho más fácil de implementar si los datos sólo se almacenan en la tabla Clientes y no en algún otro lugar de la base de datos..

Hay algunas reglas en la normalización de una base de datos. Cada regla se denomina una "forma normal". Si se cumple la primera regla, se dice que la base de datos está en la "primera forma normal". Si se cumplen las tres primeras reglas, la base de datos se considera que está en la "tercera forma normal". Aunque son posibles otros niveles de normalización, la tercera forma normal se considera el máximo nivel necesario para la mayor parte de las aplicaciones.

Al igual que con otras muchas reglas y especificaciones formales, en los escenarios reales no siempre se cumplen los estándares de forma perfecta. En general, la normalización requiere tablas adicionales y algunos clientes consideran éste un trabajo considerable. Si decide infringir una de las tres primeras reglas de la normalización, asegúrese de que su aplicación se anticipa a los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias incoherentes.  

2. Definir las formas normales 1FN, 2FN, y 3FN

1FN

La primera regla de normalización se expresa generalmente en forma de dos indicaciones 

  • Elimine los grupos repetidos de las tablas individuales.
  • Cree una tabla independiente para cada conjunto de datos relacionados.
  • Identifique cada conjunto de datos relacionados con una clave principal.

No use varios campos en una sola tabla para almacenar datos similares. Por ejemplo, para realizar el seguimiento de un elemento del inventario que proviene de dos orígenes posibles, un registro del inventario puede contener campos para el Código de proveedor 1 y para el Código de proveedor 2.
¿Qué ocurre cuando se agrega un tercer proveedor? Agregar un campo no es la respuesta, requiere modificaciones en las tablas y el programa, y no admite fácilmente un número variable de proveedores. En su lugar, coloque toda la información de los proveedores en una tabla independiente denominada Proveedores y después vincule el inventario a los proveedores con el número de elemento como clave, o los proveedores al inventario con el código de proveedor como clave. 

2FN

  • Cree tablas independientes para conjuntos de valores que se apliquen a varios registros.
  • Relacione estas tablas con una clave externa.

Los registros no deben depender de nada que no sea una clave principal de una tabla, una clave compuesta si es necesario. Por ejemplo, considere la dirección de un cliente en un sistema de contabilidad. La dirección se necesita en la tabla Clientes, pero también en las tablas Pedidos, Envíos, Facturas, Cuentas por cobrar y Colecciones. En lugar de almacenar la dirección de un cliente como una entrada independiente en cada una de estas tablas, almacénela en un lugar, ya sea en la tabla Clientes o en una tabla Direcciones independiente. 

3FN


  • Elimine los campos que no dependan de la clave.

Los valores de un registro que no sean parte de la clave de ese registro no pertenecen a la tabla. En general, siempre que el contenido de un grupo de campos pueda aplicarse a más de un único registro de la tabla, considere colocar estos campos en una tabla independiente.
Por ejemplo, en una tabla Contratación de empleados, puede incluirse el nombre de la universidad y la dirección de un candidato. Pero necesita una lista completa de universidades para enviar mensajes de correo electrónico en grupo. Si la información de las universidades se almacena en la tabla Candidatos, no hay forma de enumerar las universidades que no tengan candidatos en ese momento. Cree una tabla Universidades independiente y vincúlela a la tabla Candidatos con el código de universidad como clave.  


EJEMPLO

En la siguiente imagen identificamos redundancia de Datos, hay varios grupos de repetición, identificamos los campos con la redundancia de datos y empezamos con la normalizacion aplicando las formas.

Creamos una tabla adicional con los datos con mayores repeticiones y grupos de redundancia para ser separadas y que contengan su relación con la primary key entre ellas.
A esta le debemos identificar que dependencia de tabla tienen los datos.

Creamos otras tablas independientes para los conjuntos de valores que se apliquen a varios registros. como se evidencia en la imagen siguiente, creamos las tabla que sean necesarias para eliminar la mayor repetición de datos en cada tabla, teniendo en cuenta la relacion entre las tablas con claves foranea y primarias.

  • Elimine los campos que no dependan de la clave.
    La cual no ayuda a reducir el espacio del almacenamiento y estamos aplicando la tercera forma de normalizacion, aquí debemos de asegurar que no tenemos perdida de información sin perder la relación entre las tablas.

Teniendo los siguientes atributos o campos:

CONTROL_D: Control devoluciones
CED_CLIEN: Cédula del cliente
CEDR_CLIE: Cédula de la referencia del cliente
TELER_P: Teléfono referencia personal del cliente
TITU_PELI: Título de la película
NOM_PROT: Nombre del protagonista
FORM_PELI: Formato de la película
DIR_CLIENTE: Dirección del cliente
TELEF_CLIENTE: Teléfono del cliente
VALOR_P: Valor del préstamo
MULTA_C: Multa a cobrar por día de retraso en la entrega de una película
FECHA_P: Fecha del préstamo.
NOMR_PERS: Nombre de la referencia personal del cliente
DIAS_P: Días de préstamo película
FECHA_V: Fecha de vencimiento
TOTAL_M: Total multa a cobrar
CANT_PEL: Cantidad de películas
NOM_CLIENTE: Nombre del cliente
GENER_PELI: Género de la película
DUR_PELI: Duración de la película
CONTROL_P: Control préstamos de películas.

A continuación;

  • Identifique cada una de las entidades o tablas maestras y relacionales.
  • Aplique en la distribución de atributos de cada tabla 1FN, 2FN y 3FN.
  • Diseñe el modelo relacional.

Recomendación:

En el análisis de datos tenga presente completar los campos necesarios para el desarrollo de su ejercicio.