normalización 1fn-2fn-3fn-fnbc. normalización una vez obtenido el esquema relacional resultante...

15
Normalización 1FN-2FN-3FN-FNBC

Upload: jose-ignacio-molina-salinas

Post on 24-Jan-2016

292 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

Normalización

1FN-2FN-3FN-FNBC

Page 2: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

Normalización

Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de datos, normalmente tendremos una buena base de datos. Pero puede haber problemas: Redundancia: Datos que se repiten continua e

innecesariamente por las tablas de las bases de datos. Ambigüedades. Datos que no clarifican suficientemente el

registro al que representan. Pérdida de restricciones de integridad. Normalmente debido

a dependencias funcionales. Anomalías en operaciones de modificación de datos.

Insertar=Repetir tuplas en una tabla para variar unos pocos datos. Borrar=Eliminar varias tuplas de varias tablas

Page 3: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

Formas normales

Teoría de normalización iniciada por Codd y continuada por otros autores. Definió en 1970 la 1FN. Consecutivamente aparecieron 2FN, 3FN, Boyce-Codd, 4FN y 5FN

Una tabla puede encontrarse en primera forma normal y no en segunda forma normal, pero no al contrario. Es decir los números altos de formas normales son más restrictivos (la quinta forma normal cumple todas las anteriores).

Page 4: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

1ª FN

Se dice que una tabla se encuentra en primera forma normal si impide que un atributo de una tupla pueda tomar más de un valor: NO ESTA EN PRIMERA FORMA NORMAL

12121212A-Andrés-Mantenimiento 12345345G-Andrea-Dirección, Gestión

SI ESTA EN PRIMERA FORMA NORMAL 12121212A-Andrés-Mantenimiento 12345345G-Andrea-Dirección 12345345G-Andrea-Gestión

Page 5: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

2ª FN

La tabla está en 1FN y además cada atributo que no sea clave, depende de forma completa respecto de cualquiera de las claves.

La clave principal completa debe hacer dependientes al resto de atributos

Si hay atributos que dependen sólo de parte de la clave, entonces esa parte de la clave y esos atributos formarán otra tabla.

Page 6: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

2ª FN

Page 7: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

3ª FN

Una tabla está en 2FN y además ningún atributo que no sea clave depende transitivamente de las claves de la tabla.

Es decir no está en 3FN si algún atributo depende de atributos que no son clave.

Page 8: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

3ª FN

Page 9: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

FNBC

Una tabla está en FNBC si está en 3FN y además todo determinante es una clave candidata

Ejemplo Sea una empresa en la que: Un trabajador puede trabajar en varios departamentos. Un departamento tiene varios encargados Cada trabajador sólo tiene asignado un encargado Un encargado sólo puede serlo en un departamento.

Page 10: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

FNBC

Page 11: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

Ejercicio: tabla sin normalizar

Situación de partida: Tabla “a lo loco”

AGENTESnombre empresa direccion_empresa Equipo1 Contacto1 Equipo2 Contacto2

Juan Palomo Futbolistas SL Mayor, 34. Villaconejos Real Madrid Valdano Barca Rosell

Arguiñano Los Cracks Luna, 52. Donostia Real Madrid Buyo

Pepito Pi Timo SL Real, 25. Soria Barca Rosell

Page 12: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

Primera forma normal(eliminar atributos multivaluados)

AGENTES

Clave nombre empresa direccion_empresa Equipo Contacto

1 Juan Palomo Futbolistas SL Mayor, 34. Villaconejos R.Madrid Valdano

1 Juan Palomo Futbolistas SL Mayor, 34. Villaconejos Barca Rosell

2 Arguiñano Los Cracks Luna, 52. Donostia R.Madrid Buyo

3 Pepito Pi Timo SL Real 25. Soria Barca Rosell

• No existe clave de agente Creo una

• URL multivaluada Duplico filas

Page 13: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

Segunda forma normal(dependencia de la clave)

Agentes

Clave nombre empresa direccion_empresa

1Juan Palomo

Futbolistas SL Mayor, 34. Villaconejos

2 Arguiñano Los Craks Luna, 52. Donostia

3 Pepito Pi Timo SL Real 25, Soria

• Crear tablas separadas para aquellos grupos de datos que se aplican a varios registros.

• Relacionar estas tablas mediante una clave externa

ContactosCl Ind equipo Contacto

1 1 R.Madrid Valdano

2 1 Barca Rosell

3 2 R.Madrid Buyo

4 3 Barca Rosell

Page 14: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

Tercera forma normal(dependencias transitivas)

contactosCl nombre Emp

1Juan Palomo

1

2 Arguiñano 2

3 Pepito Pi 3

• direccion de la empresa depende de empresa dependencia transitiva nueva tabla empresas

empresasCl empresa direccion

1 Melones Alba Mayor, 34. Villaconejos

2 Restaurante Pi Luna, 52. Donostia

3 Timo SL Real, 25. Soria

ContactosCl Ind equipo Contacto

1 1 R.Madrid Valdano

2 1 Barca Rosell

3 2 R.Madrid Buyo

4 3 Barca Rosell

Page 15: Normalización 1FN-2FN-3FN-FNBC. Normalización Una vez obtenido el esquema relacional resultante del esquema entidad/relación que representa la base de

Boyce-Codd(dependencia de la clave)

agentesCl nombre Emp

1Juan Palomo

1

2 Arguiñano 2

3 Pepito Pi 3

contactosClave contacto Equipo

1 Valdano R.Madrid

2 Rosell Barca

3 Buyo R.Madrid

empresasCl empresa direccion

1 Melones AlbaMayor, 34. Villaconejos

2Restaurante Pi

Luna, 52. Donostia

3 Timo SL Real, 25. Soria

• El contacto de un equipo, trabaja SOLO para ese equipo

Agentes-contactosagente contacto

1 1

1 2

2 3

3 2