Fundamentos de una Base de Datos

26
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Normalización Primera Forma Normal 1FN Segunda Forma Normal 2FN Tercera Forma Normal 3FN Resumen FUNDAMENTOS DE BASES DE DATOS

description

Fundamentos de una base de datos

Transcript of Fundamentos de una Base de Datos

Page 1: Fundamentos de una Base de Datos

Administración de Proyectos de desarrollo de Software

Ciclo de vida de un proyecto

Enfoque moderno

Temas• Normalización• Primera Forma Normal 1FN• Segunda Forma Normal 2FN• Tercera Forma Normal 3FN• Resumen

FUNDAMENTOS DE BASES DE DATOS

Page 2: Fundamentos de una Base de Datos

Administración de Proyectos de desarrollo de Software

Ciclo de vida de un proyecto

Enfoque moderno

Fin de la presentación

Continúe en la siguiente actividad

FUNDAMENTOS DE BASES DE DATOS

Page 3: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

• Formas normales

Teoría de normalización: Teoría que soporta la agrupación de atributos en relaciones

Algunas agrupaciones de atributos son “mejores” que otras.

Existen diferentes maneras de agrupar los atributos para formar las relaciones de la base de datos. Formas normales: formas en que los atributos

pueden ser agrupados definen un conjunto de reglas que las relaciones deben cumplir.

Conceptos

Normalización

Page 4: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Formas NormalesEjemplo:

Cualquier conjunto de atributos que pueda ser expresado en forma tabular, sin campos repetitivos, está al menos en PRIMERA FORMA NORMAL(1NF).

• El rango completo de formas normales reconocidas aparece en la siguiente hoja.

Normalización

Page 5: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Normalización

• Relación entre Formas Normales

D K N F5NF

4NFBoyce Codd NF

Tercera Forma Normal 3NF

Segunda Forma Normal 2NF

Primera Forma Normal 1NF

Page 6: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Registro sin Normalizar• Orden

NUMERO-CLIENTE

NOMBRE-CLIENTE

NUMERO-PRODUCTO

NOMBRE-PRODUCTO

CANTIDAD-ORDENADA

PRECIO-PRODUCTO

TOTAL-ORDENADO

TOTAL-ORDEN# ORDEN

DIRECCION-CLIENTE

FECHA-ORDEN

Normalización

Page 7: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Forma normal menos restrictiva.

• Se define como: – cualquier conjunto de atributos que se expresan en forma

tabular, sin grupos repetitivos.

• De forma más rígida:– Una entidad está en primera forma normal si y solo si todos sus

atributos son atómicos.

Primera Forma Normal (1FN)

Page 8: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Primera Forma Normal (1FN)

Registro sin Normalizar• Atributo atómico:

– Es un atributo que no puede dividirse en otros atributos.• Grupo repetitivo:

– Campo agrupado. Es un campo que resulta de la agrupación de otros campos, bajo un mismo nombre.

• Relaciones en 1NF:– presentan problemas provocados por datos redundantes:

falta de consistencia y falta de integridad de los datos

Page 9: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Primera Forma Normal (1FN)

Anomalías en inserciones:

Se presentan cuando se desea dar de alta datos a una relación,

y no se dispone de una llave primaria completa.

Anomalías en bajas:

Se presentan cuando al dar de baja una tupla causa la pérdida

accidental de datos que deberían permanecer en la base de

datos.

Page 10: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Primera Forma Normal (1FN)

Eliminar los productos no atómicos (campos repetitivos)• Orden

Page 11: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

• Orden - Producto

Primera Forma Normal (1FN)

Page 12: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Una relación esta en 2FN si y solo si:

1. Está en 1NF.

2. Todos los atributos fuera de la llave primaria son funcionalmente dependientes de la misma de manera completa.

Segunda Forma Normal (2FN)

Page 13: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Segunda Forma Normal (2FN)

Dependencia funcional: (DF):

– Clase especial de relación entre dos atributos.

– Dados 2 atributos A y B de una relación R, B depende

funcionalmente de A si y solo si, para cada valor de A, existe uno

y solo uno de B asociado a ese valor de A.

Page 14: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Segunda Forma Normal (2FN)

La DF se escribe así: A B

• Se dice que ´ A ´es el DETERMINANTE de la DF.

• La DF es una relación en un solo sentido, si A determina a B, B no determina necesariamente a A.

• DF completa: – un atributo es completamente dependiente de otro atributo o

combinación de ellos si el determinante de la DF está compuesto de el menor número de atributos, para mantener la DF.

Page 15: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Segunda Forma Normal (2FN)

• De 1NF a 2NF:

descomponer a las relaciones en 1NF en varias relaciones más pequeñas, creando una NUEVA relación para cada determinante en la relación en 1NF.

Los determinantes son las llaves primarias de las nuevas relaciones.

Los atributos de la relación original son aquellos atributos funcionalmente dependientes de la llave primaria, es decir, del determinante de la relación que creó a la nueva relación.

Page 16: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Segunda Forma Normal (2FN)

• Relaciones en 2NF: no están exentas de anomalías en altas, bajas y actualizaciones, por lo cual no son la meta de una base de datos bien normalizada.

• Lo anterior sucede cuando la relación en 2NF presenta dependencias TRANSITIVAS en ella.

Page 17: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Segunda Forma Normal (2FN)

• Eliminar los atributos no dependientes de la llave primaria completa (dependencia parcial)

ORDEN

Page 18: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Segunda Forma Normal (2FN)

• ORDEN – PRODUCTO

• PRODUCTO

Page 19: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Tercera Forma Normal (3FN)

Una relación esta en 3FN si y solo si:

1. Está en 2NF.

2. No posee dependencias transitivas.

Page 20: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Tercera Forma Normal (3FN)

• Dependencia Transitiva:

Existe en una relación si

Atributo A Atributo B Atributo C

• Se presentan anomalías en altas, bajas y modificaciones cuando existen dependencias transitivas.

Page 21: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Tercera Forma Normal (3FN)

• Ejemplo:

Si se tienen los siguientes atributos

Cuenta-bancaria #sucursal horario-sucursal

No es posible añadir una sucursal si no existe una cuenta bancaria en ella.

Si se da de baja la última cuenta bancaria de una sucursal se pierde la información acerca del horario.

El horario de la sucursal se repite cada vez que aparece el número de la sucursal, al cambiar el horario se requiere hacerlo en cada lugar donde este aparece.

Page 22: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Tercera Forma Normal (3FN)

De 2NF a 3NF:

Dividir las relaciones en 2NF en relaciones en 3NF, las cuales no posean dependencias transitivas.

Al dividir las dependencias transitivas en dos dependencias funcionales, cada determinante se convierte en la llave primaria de una nueva relación.

Ejemplo:

CUENTA-SUCURSAL (número-cuenta, #sucursal)

HORARIO-SUCURSAL (#sucursal, horario-sucursal)

Page 23: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Tercera Forma Normal (3FN)

• Eliminar los atributos dependientes de atributos diferentes a la llave primaria (dependencia funcional transitiva)

ORDEN

Page 24: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Tercera Forma Normal (3FN)

CLIENTE

ORDEN - PRODUCTO

Page 25: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Tercera Forma Normal (3FN)

PRODUCTO

Page 26: Fundamentos de una Base de Datos

FUNDAMENTOS DE BASES DE DATOS

Resumen

• Reducir todas las estructuras de datos provenientes del análisis a relaciones bidimensionales

• Eliminar cualquier dependencia parcial de llaves candidatas sobre atributos no-primos.

• Eliminar cualquier dependencia transitiva de llaves candidatas sobre atributos no-primos