normalización

14
Normalización del esquema Relacional Manuel Rodríguez Pozuelo

Upload: caoxman

Post on 22-Jul-2015

2.654 views

Category:

Documents


2 download

TRANSCRIPT

Normalizacióndel esquema Relacional

Manuel Rodríguez Pozuelo

Problemas del esquema Relacional

Debido a problemas de diseño o a otros factoresindetectables, podríamos tener:

• Redundancia: Datos duplicados

• Ambigüedades: No aclaran que representa.

• Pérdida de restricciones de integridad

• Anomalías en operaciones de modificación dedatos: Añadir un dato, añadir duplas; eliminar undato, borrar duplas.

Formas Normales

• Son teorías de normalización para evitar losproblemas del esquema relacional.

• Existen 5 Formas Normales: la 1ª Definida porCodd, la 2ª, la 3ª, la Boyce-Codd, la 4ª y la 5ª.

• Cada norma contiene las características de laanterior pero no al revés: la 5 forma normalcontiene las características de las anteriores.

Primera Forma Normal (1FN)

Toda tabla relacional la cumple.• No se cumple si en una tupla, un atributo

toma más de un valor:

• Para que se cumpliera la Primera Forma Normal:

Dependencias Funcionales

- Dependencia Funcional

Un conjunto de atributos (X) dependefuncionalmente de otros atributos (Y). Un nombredepende funcionalmente de su DNI. Al conjunto Xque depende funcionalmente de Y se le denominaDeterminante. Al conjunto Y se le llama Implicado.

X Y

- Dependencia Funcional Completa

Si Y tiene dependencia funcional de X y además no sepuede obtener de X un conjunto de atributos máspequeño que consiga una dependencia funcional de Y.

Nombre y DNI crean dependencia funcional de Apellidos,pero DNI por si solo también crea dependencia sobreApellidos. DNI crearía una dependencia funcionalcompleta sobre Apellidos.

X => Y

Dependencias Funcionales

- Dependencia funcional elemental

Se produce cuando X e Y forman una dependenciafuncional completa y además Y es un único atributo.

Dependencias Funcionales

- Dependencia funcional transitiva

De tres conjuntos de atributos (X, Y, Z), tenemos:

X Y Y Z Y -/ X

En este caso, Z depende transitivamente de X.

X = Número de Clase, Y = Código Tutor, Z = Código Departamento.

X – Z

Dependencias Funcionales

En esta tabla, la Nota es la única con dependenciafuncional completa. Nombre y Apellido1 dependen deforma completa de DNI. Para que sea de Segunda FormaNormal, la clave debe hacer dependientes el resto deatributos. En esta tabla tenemos dos claves por lo quehay que dividir:

Segunda Forma Normal (2FN)

Ocurre cuando una tabla está en 2FN y además ningúnatributo que no sea clave depende transitivamente de lasclaves de la tabla. Es decir no ocurre cuando algúnatributo depende funcionalmente de atributos que noson clave.

Tercera Forma Normal (3FN)

Ocurre si una tabla está en tercera forma normal y además todo determinante es una

clave candidata.

Forma Normal de Boyce-Codd (FNBD)

En este caso, un Trabajador puede trabajar envarios Departamentos. Cada Departamentopuedo tener varios Responsables, pero cadaTrabajador tiene asignado uno. Pero cadaResponsable, solo puede serlo de unDepartamento.

Responsable Departamento

La solución por FNBD, evitando la redundancia de clave Departamento, sería:

Hay que tener cuidado aldescomponer ya que sepodría perder informaciónpor una maladescomposición.

En esta tabla FNBC no posee dependencias transitivas, y todos los atributos son clave sin dependencia funcional hacia ellos. El Material lo podemos saber por el nº Curso, no por el Profesor. Por lo que debería quedar:

Cuarta Forma Normal (4FN)

- Dependencias de JOIN

Una Proyección de una tabla es la tabla formada porunas cuantas columnas de la tabla original.

La operación JOIN consiste en formar una tabla conla unión de dos tablas.

Una tabla con dependencia de unión (o de tipo JOIN)es aquella que se puede obtener mediante laoperación JOIN de varias proyecciones de la misma.

Quinta Forma Normal (5FN)

Ocurre cuando tenemos una tabla de 4FN y cadadependencia de unión (JOIN) en ella es implicada porlas claves candidatas.

Quinta Forma Normal (5FN)

Se crearía la siguiente proyección: