Normalización de Base de Datos

ACTIVIDAD 
1.Que es normalización de bases de Datos?
2. Definir las formas normales 1FN, 2FN, 3FN
3. Ver cada uno de los vídeos propuestos ( link) para aclarar el tema de Normalización y las tres primeras formas Normales (Lo considera importante,documente lo que dice los tres vídeos digitando texto y capturando imagen).

Link videos

https://sistemasremington.webnode.com/informatica2/base-de-datos-ii/actividades/actividad-3/


SOLUCIÓN

1. El proceso de normalización de una base de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

Su objetivo es:

En las bases de datos relacionales se normalizan para:

  • Evitar la redundancia de los datos.
  • Evitar problemas de actualización de los datos en las tablas.
  • Proteger la integridad de los datos.

En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla bidimensional sea considerada como una relación tiene cumplir con algunas restricciones:

  • Cada columna debe tener su nombre único.
  • No puede haber dos filas iguales. No se permiten los duplicados.
  • Todos los datos en una columna deben ser del mismo tipo.

Tomado de: https://www.ecured.cu/Normalizaci%C3%B3n_de_una_base_de_datos

2.  1FN

  • 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.

 
EXCEPCIÓN: cumplir la tercera forma normal, aunque en teoría es deseable, no siempre es práctico. Si tiene una tabla Clientes y desea eliminar todas las dependencias posibles entre los campos, debe crear tablas independientes para las ciudades, códigos postales, representantes de venta, clases de clientes y cualquier otro factor que pueda estar duplicado en varios registros. En teoría, la normalización merece el trabajo que supone. Sin embargo, muchas tablas pequeñas pueden degradar el rendimiento o superar la capacidad de memoria o de archivos abiertos.

Puede ser más factible aplicar la tercera forma normal sólo a los datos que cambian con frecuencia. Si quedan algunos campos dependientes, diseñe la aplicación para que pida al usuario que compruebe todos los campos relacionados cuando cambie alguno. 

Tomado de: https://support.microsoft.com/es-co/help/283878/description-of-the-database-normalization-basics

3. Informaion tomada de los videos:

https://www.youtube.com/watch?v=bO18omSzeR4

https://www.youtube.com/watch?v=mTD7EY2Ch0o

Normalizacion--> Proceso de simplificación de los datos para evitar inconsistencias,donde se aplican reglas para pulir un modelo relacional

Objetivos:

-Tener almacenado con el menor espacio posible(optimizar)

-Eliminar datos Repetidos

-Eliminar errores Lógicos

-Datos ordenados

Existen varias formas que son: 1FN, 2FN, 3FN, 4FN, 5FN.

NOTA:La simplificación debe darse sin que haya perdida de información

EJEMPLO

Tenemos en una base datos;los datos principales de los alumnos,la materia,carrera,etc

Es una base de datos no formalizada ya que existen datos repetidos como es:

Matricula:Se repite 3 veces y sus respectivos campos

1FN: Consiste en Identificar si hay un grupo de repetición sobre el mismo registro,es decir, Consiste en sacar un grupo de datos que se repiten a otra tabla

En este caso los campos que estan generando redundancia son la materia y NumMateria por lo que se crearan dos tablas asi:

Entonces ya tenemos Normalizado la primera forma Norma.Las tablas las podemos llamar: 1Tabla--alumno y Tabla2-->alumnoMateria, pero se debe tener en cuenta no perder la relación.

SEGUNDA FORMA NORMAL 2FN)

Para aplicar esta forma  La tabla debes estar en 1FN y consiste en Identificar las dependencias funcionales y transitivas,ademas Los atributos deben de depender directamente de la clave primaria

Dependencia Funcional: Tener varios atributos pero uno de estos contiene la clave primaria

Dependencia Transitiva:Tener varios atributos donde todos depende de todos.

Como podemos Observar la tabla alumnoMateria tiene 2 claves primarias que son Matricula y NumMateria,pero Matricula tambien puede actuar como clave Foránea.

Materia depende de NumMateria pero no tiene dependencia con matricula,por lo que se separan de nuevo en dos tablas y y otra tabla solo con las claves Primarias y/o foráneas que no es una tabla fuerte.

TERCERA FORMA NORMAL(3FN)

Tener en cuenta que para aplicar esta forma No deben haber dependencias transitivas

Podemos observar en la tabla de alumno que la carrera depende del alumno,sin embargo el nombre del alumno no es una clave primaria;La clave primaria del alumno vendria siendo Matricula,por lo que de la tabla alumno se puede separa a otra tabla NCarrera y Carrera, donde  Ncarrera es una clave primaria

Hasta  aquí tenemos la 3FN y  podemos observar que reducimos espacio y estamos normalizando.

Teniendo en cuenta todo lo visto se puede decir que la normalizacion de datos no debería ser considera opcional si no necesaria para garantizar un diseño de base de datos de éxito.Ya que esta elimina cualquier tipo de error, anomalía y redundancia que pudiera haber en el diseño de tablas y en la relación entre la información y por otro lado define bases de datos más naturales y limpias.

 

© 2018 Compás Lab S.L,  P° de la Castellana 79, Madrid, 28046
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar