Normalización en Bases de Datos Relacionales

162
Introducci´ on Dependencias funcionales Formas Normales Normalizaci´on Biblio Normalizaci´ on en Bases de Datos Relacionales Luis Valencia Cabrera ([email protected]) Research Group on Natural Computing Departamento de Ciencias de la Computaci´on e Inteligencia Artificial Universidad de Sevilla 11-01-2021, Bases de Datos Luis Valencia Cabrera ([email protected]) Bases de Datos Normalizaci´on en Bases de Datos Relacionales

Transcript of Normalización en Bases de Datos Relacionales

Page 1: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Normalizacion en Bases de Datos Relacionales

Luis Valencia Cabrera ([email protected])

Research Group on Natural ComputingDepartamento de Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

11-01-2021, Bases de Datos

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 2: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Indice

1 Introduccion a la normalizacion

2 Dependencias funcionales

3 Formas Normales

4 Normalizacion

5 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 3: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Indice

1 Introduccion a la normalizacion

2 Dependencias funcionales

3 Formas Normales

4 Normalizacion

5 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 4: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

IntroduccionEchando la vista atras...

Mirando un poco el bagaje que llevamos surgen algunaspreguntas...

¿Hemos aprendido a desarrollar buenas bases de datos?¿Hemos capturado y organizado de forma adecuada los datosque responden a los requisitos establecidos?¿En que sustentamos nuestra respuesta?¿Existe alguna manera de medir esto?

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 5: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

IntroduccionEchando la vista atras...

Mirando un poco el bagaje que llevamos surgen algunaspreguntas...

¿Hemos aprendido a desarrollar buenas bases de datos?

¿Hemos capturado y organizado de forma adecuada los datosque responden a los requisitos establecidos?¿En que sustentamos nuestra respuesta?¿Existe alguna manera de medir esto?

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 6: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

IntroduccionEchando la vista atras...

Mirando un poco el bagaje que llevamos surgen algunaspreguntas...

¿Hemos aprendido a desarrollar buenas bases de datos?¿Hemos capturado y organizado de forma adecuada los datosque responden a los requisitos establecidos?

¿En que sustentamos nuestra respuesta?¿Existe alguna manera de medir esto?

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 7: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

IntroduccionEchando la vista atras...

Mirando un poco el bagaje que llevamos surgen algunaspreguntas...

¿Hemos aprendido a desarrollar buenas bases de datos?¿Hemos capturado y organizado de forma adecuada los datosque responden a los requisitos establecidos?¿En que sustentamos nuestra respuesta?

¿Existe alguna manera de medir esto?

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 8: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

IntroduccionEchando la vista atras...

Mirando un poco el bagaje que llevamos surgen algunaspreguntas...

¿Hemos aprendido a desarrollar buenas bases de datos?¿Hemos capturado y organizado de forma adecuada los datosque responden a los requisitos establecidos?¿En que sustentamos nuestra respuesta?¿Existe alguna manera de medir esto?

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 9: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Algunos pasos dados...

Hemos profundizado en el diseno conceptual, empleando...

� Un conjunto de requisitos de partida� Un cierto formalismo, el diagrama Entidad-Interrelacion� Un proceso de abstraccion para capturar lo relevante de

los requisitos y conjugarlo con el formalismo� El sentido comun, para terminar de ver la division

estructural entre entidades, interrelaciones, jerarquıas...

Ası hemos llegado a un esquema conceptual razonablementebueno...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 10: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Algunos pasos dados...

Hemos profundizado en el diseno conceptual, empleando...

� Un conjunto de requisitos de partida

� Un cierto formalismo, el diagrama Entidad-Interrelacion� Un proceso de abstraccion para capturar lo relevante de

los requisitos y conjugarlo con el formalismo� El sentido comun, para terminar de ver la division

estructural entre entidades, interrelaciones, jerarquıas...

Ası hemos llegado a un esquema conceptual razonablementebueno...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 11: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Algunos pasos dados...

Hemos profundizado en el diseno conceptual, empleando...

� Un conjunto de requisitos de partida� Un cierto formalismo, el diagrama Entidad-Interrelacion

� Un proceso de abstraccion para capturar lo relevante delos requisitos y conjugarlo con el formalismo

� El sentido comun, para terminar de ver la divisionestructural entre entidades, interrelaciones, jerarquıas...

Ası hemos llegado a un esquema conceptual razonablementebueno...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 12: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Algunos pasos dados...

Hemos profundizado en el diseno conceptual, empleando...

� Un conjunto de requisitos de partida� Un cierto formalismo, el diagrama Entidad-Interrelacion� Un proceso de abstraccion para capturar lo relevante de

los requisitos y conjugarlo con el formalismo

� El sentido comun, para terminar de ver la divisionestructural entre entidades, interrelaciones, jerarquıas...

Ası hemos llegado a un esquema conceptual razonablementebueno...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 13: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Algunos pasos dados...

Hemos profundizado en el diseno conceptual, empleando...

� Un conjunto de requisitos de partida� Un cierto formalismo, el diagrama Entidad-Interrelacion� Un proceso de abstraccion para capturar lo relevante de

los requisitos y conjugarlo con el formalismo� El sentido comun, para terminar de ver la division

estructural entre entidades, interrelaciones, jerarquıas...

Ası hemos llegado a un esquema conceptual razonablementebueno...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 14: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Algunos pasos dados...

Hemos profundizado en el diseno conceptual, empleando...

� Un conjunto de requisitos de partida� Un cierto formalismo, el diagrama Entidad-Interrelacion� Un proceso de abstraccion para capturar lo relevante de

los requisitos y conjugarlo con el formalismo� El sentido comun, para terminar de ver la division

estructural entre entidades, interrelaciones, jerarquıas...

Ası hemos llegado a un esquema conceptual razonablementebueno...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 15: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Bueno, ¿que mas hemos hecho?

Hemos trasladado el esquema conceptual a un esquemalogico, empleando...

� Un procedimiento sistematico para tratar cada elementodel esquema conceptual

� Un formalismo, el modelo relacional� Una dosis de saber hacer para tomar pequenas decisiones

en funcion de la semantica de los elementos del esquemaconceptual

Ası hemos llegado a un esquema logico coherente con eldiseno conceptual, y por tanto fiel a los requisitos iniciales...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 16: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Bueno, ¿que mas hemos hecho?

Hemos trasladado el esquema conceptual a un esquemalogico, empleando...

� Un procedimiento sistematico para tratar cada elementodel esquema conceptual

� Un formalismo, el modelo relacional� Una dosis de saber hacer para tomar pequenas decisiones

en funcion de la semantica de los elementos del esquemaconceptual

Ası hemos llegado a un esquema logico coherente con eldiseno conceptual, y por tanto fiel a los requisitos iniciales...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 17: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Bueno, ¿que mas hemos hecho?

Hemos trasladado el esquema conceptual a un esquemalogico, empleando...

� Un procedimiento sistematico para tratar cada elementodel esquema conceptual

� Un formalismo, el modelo relacional� Una dosis de saber hacer para tomar pequenas decisiones

en funcion de la semantica de los elementos del esquemaconceptual

Ası hemos llegado a un esquema logico coherente con eldiseno conceptual, y por tanto fiel a los requisitos iniciales...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 18: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Bueno, ¿que mas hemos hecho?

Hemos trasladado el esquema conceptual a un esquemalogico, empleando...

� Un procedimiento sistematico para tratar cada elementodel esquema conceptual

� Un formalismo, el modelo relacional

� Una dosis de saber hacer para tomar pequenas decisionesen funcion de la semantica de los elementos del esquemaconceptual

Ası hemos llegado a un esquema logico coherente con eldiseno conceptual, y por tanto fiel a los requisitos iniciales...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 19: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Bueno, ¿que mas hemos hecho?

Hemos trasladado el esquema conceptual a un esquemalogico, empleando...

� Un procedimiento sistematico para tratar cada elementodel esquema conceptual

� Un formalismo, el modelo relacional� Una dosis de saber hacer para tomar pequenas decisiones

en funcion de la semantica de los elementos del esquemaconceptual

Ası hemos llegado a un esquema logico coherente con eldiseno conceptual, y por tanto fiel a los requisitos iniciales...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 20: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Bueno, ¿que mas hemos hecho?

Hemos trasladado el esquema conceptual a un esquemalogico, empleando...

� Un procedimiento sistematico para tratar cada elementodel esquema conceptual

� Un formalismo, el modelo relacional� Una dosis de saber hacer para tomar pequenas decisiones

en funcion de la semantica de los elementos del esquemaconceptual

Ası hemos llegado a un esquema logico coherente con eldiseno conceptual, y por tanto fiel a los requisitos iniciales...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 21: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Algun paso adicional se ha llevado a cabo...

Hemos llevado el diseno logico a una implementacionempleando distintos SGBD relacionales...Hemos realizado una prueba de concepto a nivel de aplicacioncliente mediante Access, permitiendo vislumbrar elcumplimiento de la funcionalidad esperadaSe han planteado consultas a realizar sobre la base de datos,confirmando la idoneidad de las estructuras disenadas yfinalmente implementadas, de cara a proporcionar lainformacion requeridaSe han realizado acciones de manejo de la base de datos,comprobando que permite poblar adecuadamente de datos,actualizar o eliminar algunos de los mismos

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 22: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Algun paso adicional se ha llevado a cabo...

Hemos llevado el diseno logico a una implementacionempleando distintos SGBD relacionales...

Hemos realizado una prueba de concepto a nivel de aplicacioncliente mediante Access, permitiendo vislumbrar elcumplimiento de la funcionalidad esperadaSe han planteado consultas a realizar sobre la base de datos,confirmando la idoneidad de las estructuras disenadas yfinalmente implementadas, de cara a proporcionar lainformacion requeridaSe han realizado acciones de manejo de la base de datos,comprobando que permite poblar adecuadamente de datos,actualizar o eliminar algunos de los mismos

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 23: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que hemos hecho hasta ahora?

Algun paso adicional se ha llevado a cabo...

Hemos llevado el diseno logico a una implementacionempleando distintos SGBD relacionales...Hemos realizado una prueba de concepto a nivel de aplicacioncliente mediante Access, permitiendo vislumbrar elcumplimiento de la funcionalidad esperadaSe han planteado consultas a realizar sobre la base de datos,confirmando la idoneidad de las estructuras disenadas yfinalmente implementadas, de cara a proporcionar lainformacion requeridaSe han realizado acciones de manejo de la base de datos,comprobando que permite poblar adecuadamente de datos,actualizar o eliminar algunos de los mismos

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 24: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que podemos sacar en claro?

Algunas impresiones iniciales...

Parece que hemos desarrollado una capacidad para identificar loselementos esenciales de nuestros problemas y ver relaciones logicas, decara a proporcionar una organizacion adecuada.

El modelo conceptual en que nos hemos basado dota de unos mimbresidoneos para agrupar los atributos de acuerdo a entes tangibles queintuitivamente se pueden reconocer, resulta un agrupamiento natural.

El modelo logico escogido facilita la identificacion de esquemas derelacion y su conexion mediante claves ajenas, dando una estructurarazonablemente facil de manejar para nuestra base de datos

Parece por tanto que debemos estar en un camino prometedor para eldesarrollo de buenas bases de datos, con una organizacion adecuada ysustentada en cierto modo por los modelos conceptual y logico escogidos,y las reglas sistematicas adoptadas...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 25: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que podemos sacar en claro?

Algunas impresiones iniciales...

Parece que hemos desarrollado una capacidad para identificar loselementos esenciales de nuestros problemas y ver relaciones logicas, decara a proporcionar una organizacion adecuada.

El modelo conceptual en que nos hemos basado dota de unos mimbresidoneos para agrupar los atributos de acuerdo a entes tangibles queintuitivamente se pueden reconocer, resulta un agrupamiento natural.

El modelo logico escogido facilita la identificacion de esquemas derelacion y su conexion mediante claves ajenas, dando una estructurarazonablemente facil de manejar para nuestra base de datos

Parece por tanto que debemos estar en un camino prometedor para eldesarrollo de buenas bases de datos, con una organizacion adecuada ysustentada en cierto modo por los modelos conceptual y logico escogidos,y las reglas sistematicas adoptadas...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 26: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que podemos sacar en claro?

Algunas impresiones iniciales...

Parece que hemos desarrollado una capacidad para identificar loselementos esenciales de nuestros problemas y ver relaciones logicas, decara a proporcionar una organizacion adecuada.

El modelo conceptual en que nos hemos basado dota de unos mimbresidoneos para agrupar los atributos de acuerdo a entes tangibles queintuitivamente se pueden reconocer, resulta un agrupamiento natural.

El modelo logico escogido facilita la identificacion de esquemas derelacion y su conexion mediante claves ajenas, dando una estructurarazonablemente facil de manejar para nuestra base de datos

Parece por tanto que debemos estar en un camino prometedor para eldesarrollo de buenas bases de datos, con una organizacion adecuada ysustentada en cierto modo por los modelos conceptual y logico escogidos,y las reglas sistematicas adoptadas...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 27: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Que podemos sacar en claro?

Algunas impresiones iniciales...

Parece que hemos desarrollado una capacidad para identificar loselementos esenciales de nuestros problemas y ver relaciones logicas, decara a proporcionar una organizacion adecuada.

El modelo conceptual en que nos hemos basado dota de unos mimbresidoneos para agrupar los atributos de acuerdo a entes tangibles queintuitivamente se pueden reconocer, resulta un agrupamiento natural.

El modelo logico escogido facilita la identificacion de esquemas derelacion y su conexion mediante claves ajenas, dando una estructurarazonablemente facil de manejar para nuestra base de datos

Parece por tanto que debemos estar en un camino prometedor para eldesarrollo de buenas bases de datos, con una organizacion adecuada ysustentada en cierto modo por los modelos conceptual y logico escogidos,y las reglas sistematicas adoptadas...

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 28: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Es suficiente?

Bueno, reflexionemos un poco mas...

Correcto, estamos en el buen camino, y todo lo anterior nosha situado en una posicion ventajosaEsto no implica que podamos garantizar que hemos dotadodel mejor esquema logico posible y nuestra implementacion dela base de datos es la mejor que se puede realizarEs necesario incrementar nuestro sustento, mediante teorıaspara analizar objetivamente el nivel de organizacion deuna base de datos relacionalHara falta medir en que punto se encuentra nuestra BD,identificar efectos no deseados y establecer medidassistematicas para reconducirla hacia una organizacion masadecuada

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 29: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Es suficiente?

Bueno, reflexionemos un poco mas...

Correcto, estamos en el buen camino, y todo lo anterior nosha situado en una posicion ventajosa

Esto no implica que podamos garantizar que hemos dotadodel mejor esquema logico posible y nuestra implementacion dela base de datos es la mejor que se puede realizarEs necesario incrementar nuestro sustento, mediante teorıaspara analizar objetivamente el nivel de organizacion deuna base de datos relacionalHara falta medir en que punto se encuentra nuestra BD,identificar efectos no deseados y establecer medidassistematicas para reconducirla hacia una organizacion masadecuada

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 30: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Es suficiente?

Bueno, reflexionemos un poco mas...

Correcto, estamos en el buen camino, y todo lo anterior nosha situado en una posicion ventajosaEsto no implica que podamos garantizar que hemos dotadodel mejor esquema logico posible y nuestra implementacion dela base de datos es la mejor que se puede realizar

Es necesario incrementar nuestro sustento, mediante teorıaspara analizar objetivamente el nivel de organizacion deuna base de datos relacionalHara falta medir en que punto se encuentra nuestra BD,identificar efectos no deseados y establecer medidassistematicas para reconducirla hacia una organizacion masadecuada

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 31: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Es suficiente?

Bueno, reflexionemos un poco mas...

Correcto, estamos en el buen camino, y todo lo anterior nosha situado en una posicion ventajosaEsto no implica que podamos garantizar que hemos dotadodel mejor esquema logico posible y nuestra implementacion dela base de datos es la mejor que se puede realizarEs necesario incrementar nuestro sustento, mediante teorıaspara analizar objetivamente el nivel de organizacion deuna base de datos relacionalHara falta medir en que punto se encuentra nuestra BD,identificar efectos no deseados y establecer medidassistematicas para reconducirla hacia una organizacion masadecuada

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 32: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Como podemos avanzar?

Primeros pasos...

Analizaremos posibles problemas derivados de un diseno logico

Veremos el concepto de dependencia funcional y describiremossus tipos e implicaciones

Estudiaremos los fundamentos de la teorıa de lanormalizacion, haciendo uso de los conceptos anteriores

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 33: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Como podemos avanzar?

Primeros pasos...

Analizaremos posibles problemas derivados de un diseno logico

Veremos el concepto de dependencia funcional y describiremossus tipos e implicaciones

Estudiaremos los fundamentos de la teorıa de lanormalizacion, haciendo uso de los conceptos anteriores

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 34: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Introduccion¿Como podemos avanzar?

Primeros pasos...

Analizaremos posibles problemas derivados de un diseno logico

Veremos el concepto de dependencia funcional y describiremossus tipos e implicaciones

Estudiaremos los fundamentos de la teorıa de lanormalizacion, haciendo uso de los conceptos anteriores

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 35: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Posibles problemas en un esquema logico

Sea una relacionR(AUTOR,PAIS,COD-LIBRO,TITULO,EDITORIAL)

con el siguiente cuerpo:

¿Que problemas observa?

1. Redundancia de datos.2. Anomalıas de modificacion de datos.3. Anomalıas de insercion de datos.4. Anomalıas de borrado de datos.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 36: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Posibles problemas en un esquema logico

Sea una relacionR(AUTOR,PAIS,COD-LIBRO,TITULO,EDITORIAL)

con el siguiente cuerpo:

¿Que problemas observa?

1. Redundancia de datos.

2. Anomalıas de modificacion de datos.3. Anomalıas de insercion de datos.4. Anomalıas de borrado de datos.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 37: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Posibles problemas en un esquema logico

Sea una relacionR(AUTOR,PAIS,COD-LIBRO,TITULO,EDITORIAL)

con el siguiente cuerpo:

¿Que problemas observa?

1. Redundancia de datos.2. Anomalıas de modificacion de datos.

3. Anomalıas de insercion de datos.4. Anomalıas de borrado de datos.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 38: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Posibles problemas en un esquema logico

Sea una relacionR(AUTOR,PAIS,COD-LIBRO,TITULO,EDITORIAL)

con el siguiente cuerpo:

¿Que problemas observa?

1. Redundancia de datos.2. Anomalıas de modificacion de datos.3. Anomalıas de insercion de datos.

4. Anomalıas de borrado de datos.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 39: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Posibles problemas en un esquema logico

Sea una relacionR(AUTOR,PAIS,COD-LIBRO,TITULO,EDITORIAL)

con el siguiente cuerpo:

¿Que problemas observa?

1. Redundancia de datos.2. Anomalıas de modificacion de datos.3. Anomalıas de insercion de datos.4. Anomalıas de borrado de datos.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 40: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Medicion y soluciones

En este contexto surge la teorıa de la normalizacion en bases dedatos, que define una serie de formas normales.

Formas normales (FN)

Conjunto de restricciones sobre tablas relacionales que evitan losproblemas de redundancia de datos, y de anomalıas demodificacion, insercion y borrado de datos.

1FN =⇒ 2FN =⇒ 3FN =⇒ FNBC =⇒ 4FN =⇒ 5FN

Nota: en este curso estudiaremos hasta tercera forma normal, 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 41: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Indice

1 Introduccion a la normalizacion

2 Dependencias funcionales

3 Formas Normales

4 Normalizacion

5 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 42: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencias entre atributos

Si las formas normales van a venir a medir la situacion de partidade nuestro esquema logico, identificar problemas en el mismo yayudarnos a mejorarlo, las dependencias funcionales vendran adotarnos de los elementos basicos para llevarlo a cabo.

Entre los atributos de una relacion pueden existirdependencias de varios tipos.

Las dependencias son propiedades inherentes al contenidosemantico de los datos, formando parte de las restriccionesde usuario del modelo relacional.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 43: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencias funcionales

Sea el esquema de relacion R(AT, DEP), donde R es la relacion, ATsu conjunto de atributos y DEP su conjunto de dependencias.Sean X e Y dos subconjuntos de AT denominados descriptores.

Dependencia funcional

Y depende funcionalmente de X si para cada valor de X solo existe unposible valor de Y ; es decir, fijado un valor de los campos que forman X ,podemos fijar tambien el valor que toma cada campo de Y en R. Seescribe X → Y , con:X ≡ determinante o implicante

Y ≡ campo implicado

Nota: X1, · · · ,Xk → Y1, · · · ,Yn significa que cada campo Yi tienedependencia funcional respecto del conjunto X1, · · · ,Xk .

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 44: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencias funcionales. Ejemplo

ESCRIBE(AT={autor,paıs,codigo,tıtulo,editorial,paginas},DEP). DEP:autor → paiscodigo → titulo codigo → editorial codigo → paginascodigo → titulo, editorial , paginas

codigo, autor → editorial , pais

Nota

No debe confundirse con el concepto de campo derivado. Esta claro quesi Y es un campo derivado de X (e.g., edad derivado defecha nacimiento), entonces X → Y .

Sin embargo, al reves no es cierto. Para que Y tenga dependenciafuncional de X , no es necesario que se pueda calcular el valor de Y apartir de X .

Ejemplo: el campo fecha nacimiento queda fijado cuando sabemos el

campo DNI (depende funcionalmente), pero no podemos calcular la fecha

de nacimiento a partir del valor del DNI (no es derivado).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 45: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencias funcionales

Un ejemplo de dependencia funcional es la que existe entre losatributos DNI de profesor y Nombre de Profesor:

PROFESOR(AT, DEP)

AT= {DNI profesor, Nombre profesor}DEP={DNI profesor → Nombre profesor}

Si ademas se cumpliera que no pueden existir dos profesores con elmismo nombre, esto implicarıa que el nombre tambien puedeactuar como clave de la relacion PROFESOR, y por tanto tambiendetermina funcionalmente a su DNI, es decir, se tendrıa que:

Nombre profesor ↔ DNI profesor

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 46: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencia funcional plena

Diremos que Y tiene dependencia funcional plena o completa delconjunto de campos X1, · · · ,Xk si depende funcionalmente de dichoconjunto, pero NO depende de ningun subconjunto propio deX1, · · · ,Xk .

Ejemplos: EVAL(alumno,asignatura,conv,dpto,nota)

El campo nota tiene dependencia plena de alumno, asignatura, convalumno, asignatura, conv → notaalumno 9 notaasignatura 9 notaalumno, asignatura 9 nota

El campo dpto NO tiene dependencia plena de alumno, asignatura, convalumno, asignatura, conv → dptoasignatura→ dpto

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 47: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencia funcional trivial

Diremos que Y tiene dependencia funcional trivial delconjunto de campos X1, · · · ,Xk si Y es un subconjuntode los campos X1, · · · ,Xk .

Ejemplo: algunas dependencias funcionales triviales

autor , codigo → autoralumno, asignatura, conv , nota→ notalibro → libroDNI, Nombre profesor, Depto → Nombre profesor

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 48: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencia funcional elemental (I)

El campo Y tiene dependencia funcional elemental del conjuntoX1, · · · ,Xk si tiene dependencia funcional y es:

completa

no trivial

Nota

En una dependencia funcional elemental X1, · · · ,Xk → Y , elcampo implicado Y siempre ha de ser unitario.

Ejemplo:

DNI profesor → Nombre profesor

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 49: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencia funcional elemental (II)

Ejemplo: EVAL(alumno,edad,asignatura,dpto,conv,nota)

Un conjunto de dependencias funcionales elementales quedescriben la tabla EVAL es:

alumno, asignatura, conv → nota

alumno → edad

asignatura→ depto

Nota

Para la normalizacion de una tabla relacional, solamente setienen en cuenta las dependencias funcionales elementales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 50: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos equivalentes

Cuando dos o mas atributos se implican funcionalmentemutuamente se dice que son equivalentes. Formalizando:

Campos equivalentes

Sea R una tabla relacional y X1, · · · ,Xk ,Y1, · · · ,Yn campos de R.Diremos que X1, · · · ,Xk e Y1, · · · ,Yn son conjuntos de camposequivalentes si:

X1, · · · ,Xk depende funcionalmente de Y1, · · · ,Yn, eY1, · · · ,Yn depende funcionalmente de X1, · · · ,Xk

Lo escribiremos:

X1, · · · ,Xk ↔ Y1, · · · ,Yn

Nota: Habitualmente k = n = 1 y hablaremos de camposequivalentes de una tabla.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 51: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencia funcional transitiva

Existe una dependencia funcional transitiva X → Z , si dado elesquema de la relacion R(AT={X,Y,Z},DEP), en DEP existenlas dependencias X → Y , Y → Z y ademas Y 9 X

Ejemplo:

� DNI profesor → Codigo Postal;� Codigo Postal → Ciudad;� Codigo Postal 9 DNI profesor

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 52: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencia funcional transitivaConjunto de campos

Dependencia funcional transitiva

El campo Z tiene dependencia funcional transitivarespecto de los campos X1, · · · ,Xk a traves de loscampos Y1, · · · ,Yn si se cumple que:

X1, · · · ,Xk → Y1, · · · ,Yn y

Y1, · · · ,Yn → Z , pero

Y1, · · · ,Yn 9 X1, · · · ,Xk

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 53: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencia funcional transitiva. Ejemplos

Ejemplo 1: LIBRO(isbn,paginas,autor,paıs)

pais depende transitivamente de isbn a traves de autor , pues:isbn→ autor yautor → pais, peroautor 9 isbn

Ejemplo 2: CORREO(username,NIF,nombre,apellidos,edad,paıs)

pais NO depende de manera transitiva de NIF a traves deusername, puesto que:

NIF → username yusername → pais, perousername → NIF

Nota: NIF y username son campos equivalentes.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 54: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencia funcional transitiva y campos equivalentes

VENTA(codigo,numero,vendedor,artıculo,color,precio)

codigo ↔ numero, vendedor

codigo → articulo

articulo → color , precio

articulo NO depende transitivamente del conjunto decampos numero, vendedor , ya que:

numero, vendedor → codigo

codigo → articulo

numero, vendedor ↔ codigo

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 55: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos equivalentes. Ejemplo 2

VENTA(codigo,numero,vendedor,artıculo,color,precio)

codigo ↔ numero, vendedor

codigo → articulo

articulo → color , precio

precio SI depende transitivamente de numero, vendedor :

numero, vendedor → articulo

articulo → precio

articulo 9 numero, vendedor

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 56: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Axiomas de Armstrong

Suponiendo que X , Y y Z son conjuntos de atributos, los Axiomasde Armstrong son los siguientes:

Reflexividad: Si X , entonces X → X .

Proyectividad: Si X → Y y Z es subconjunto de Y , entoncesX → Z .

Aumentatividad: Si X → Y y Z contiene a X , entoncesZ → Y .

Aditividad: Si X → Y y Z → V , X ∪ Z → Y ∪ V .

Transitividad: Si X → Z y Z → Y , entonces X → Y .(No confundir con dependencia funcional transitiva.)

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 57: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Atributos extranos

Un atributo A perteneciente a X es extrano en la dependenciaX → Y si la dependencia (X − A)→ Y ya se deduce delresto de las dependencias de la relacion (podemos llegar a lamisma dependencia usando los axiomas de Armstrong).

Por ejemplo, consideremos

R({A,B,C ,D}, {A→ B,B → C ,AD → C})

Puesto que A→ C se deduce de las dependencias A→ B yB → C por transitividad, entonces D es extrano en ladependencia AD → C .

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 58: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencias redundantes

Una dependencia es redundante si sus implicados se deducena partir del resto de las dependencias de la relacion(empleando los axiomas de Armstrong).

Por ejemplo, sea R({A,B,C}, {A→ B,B → C ,A→ C}).Como el atributo A determina transitivamente al atributo C,la ultima dependencia A→ C es una dependencia redundante.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 59: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Recubrimiento Minimal

Un conjunto de dependencias es mınimo, y se denota como DEPm,cuando se cumplen las siguientes condiciones:

Todas sus dependencias son elementales, es decir, que todassus dependencias sean plenas, no triviales y tengan un unicoatributo implicado.

No existe en ninguna de las dependencias atributos extranos.

No existe en la relacion ninguna dependencia redundante.

Puede ocurrir que existan varios conjuntos de dependenciasmınimos validos, ya que todo depende de la eleccion de lasdependencias redundantes y de los atributos extranos que seeliminan en el proceso del calculo del conjunto minimal.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 60: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Cierre Transitivo

Dado un conjunto de dependencias funcionales F , el cierretransitivo de F , F+, es el conjunto de dependenciasfuncionales implicadas logicamente por F .

F = {A→ B, B → C} F+ = {A→ B, B → C , A→ C}

Dado un conjunto de atributos X , el cierre transitivo de X sedefine como el conjunto de atributos determinados por Xaplicando los axiomas de Armstrong, y se escribe X+.Por ejemplo, en el esquema

R({A,B,C ,D}, {A→ B,D;B → C})

� A+ = {A,B,C ,D}� B+ = {B,C}� C+ = {C}� D+ = {D}

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 61: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Conjuntos de Dependencias Equivalentes

Dos conjuntos de dependencias, L y M, relativas al mismo universoT de atributos, son equivalentes si L+ = M+, en cuyo casoR(T , L) y S(T ,M) son esquemas equivalentes, i.e.,representaciones alternativas y equivalentes del mismo problema.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 62: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Indice

1 Introduccion a la normalizacion

2 Dependencias funcionales

3 Formas Normales

4 Normalizacion

5 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 63: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Primera Forma Normal: 1FN

Definicion (Codd, 1970)

Una tabla relacional R esta en primera forma normal (1FN) siNO contiene campos multivaluados (cada atributo 1 valor).

Nota

Por la propia definicion del modelo de datos relacional, NOadmitimos campos multivaluados.En consecuencia, TODAS las relaciones del modelo de datosrelacional que creamos estan automaticamente en 1FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 64: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales

Para estudiar si una tabla R esta en 2FN o 3FN se parte de:

1. Conjunto de las dependencias elementales de R

2. Conjunto de todas las claves candidatas para R

3. Conjunto de los campos equivalentes de R

4. Conjunto de los campos principales de R

5. Conjunto de los campos no principales de R

Definicion

Un campo de una tabla relacional R es principal si pertenecea alguna de las claves candidatas de R.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 65: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

VENTA(codigo,numero,vendedor,artıculo,color,precio)

Dependencias elementales:

� codigo → numero, codigo → vendedor ,codigo → articulo

� numero, vendedor → codigo� articulo → color , color → precio

Claves candidatas:

1. codigo2. (numero, vendedor)

Campos equivalentes: codigo ↔ numero, vendedor

Campos principales: codigo, numero, vendedor

Campos no principales: articulo, color , precio

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 66: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

VENTA(codigo,numero,vendedor,artıculo,color,precio)

Dependencias elementales:

� codigo → numero, codigo → vendedor ,codigo → articulo

� numero, vendedor → codigo� articulo → color , color → precio

Claves candidatas:

1. codigo2. (numero, vendedor)

Campos equivalentes:

codigo ↔ numero, vendedor

Campos principales: codigo, numero, vendedor

Campos no principales: articulo, color , precio

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 67: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

VENTA(codigo,numero,vendedor,artıculo,color,precio)

Dependencias elementales:

� codigo → numero, codigo → vendedor ,codigo → articulo

� numero, vendedor → codigo� articulo → color , color → precio

Claves candidatas:

1. codigo2. (numero, vendedor)

Campos equivalentes: codigo ↔ numero, vendedor

Campos principales:

codigo, numero, vendedor

Campos no principales: articulo, color , precio

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 68: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

VENTA(codigo,numero,vendedor,artıculo,color,precio)

Dependencias elementales:

� codigo → numero, codigo → vendedor ,codigo → articulo

� numero, vendedor → codigo� articulo → color , color → precio

Claves candidatas:

1. codigo2. (numero, vendedor)

Campos equivalentes: codigo ↔ numero, vendedor

Campos principales: codigo, numero, vendedor

Campos no principales:

articulo, color , precio

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 69: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

VENTA(codigo,numero,vendedor,artıculo,color,precio)

Dependencias elementales:

� codigo → numero, codigo → vendedor ,codigo → articulo

� numero, vendedor → codigo� articulo → color , color → precio

Claves candidatas:

1. codigo2. (numero, vendedor)

Campos equivalentes: codigo ↔ numero, vendedor

Campos principales: codigo, numero, vendedor

Campos no principales: articulo, color , precio

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 70: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Segunda Forma Normal: 2FN

Definicion (Codd, 1970)

Una tabla relacional R esta en segunda forma normal (2FN) si:

R esta en 1FN, y

cada campo no principal de R tiene dependencia funcionalplena respecto de cada una de las claves candidatas de R.

Nota

Si R tiene k claves candidatas y m campos no principales,entonces para asegurar que R esta en 2FN son necesarias m ∗ kcomprobaciones.

¿R1({A,B,C ,D}, {A,B → C ;A→ D})?

Relacion no en 2FN

¿R2({A,B,C ,D}, {A,B → C ;A,B → D})? Relacion en 2FN

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 71: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Segunda Forma Normal: 2FN

Definicion (Codd, 1970)

Una tabla relacional R esta en segunda forma normal (2FN) si:

R esta en 1FN, y

cada campo no principal de R tiene dependencia funcionalplena respecto de cada una de las claves candidatas de R.

Nota

Si R tiene k claves candidatas y m campos no principales,entonces para asegurar que R esta en 2FN son necesarias m ∗ kcomprobaciones.

¿R1({A,B,C ,D}, {A,B → C ;A→ D})? Relacion no en 2FN

¿R2({A,B,C ,D}, {A,B → C ;A,B → D})? Relacion en 2FN

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 72: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Segunda Forma Normal: 2FN

Definicion (Codd, 1970)

Una tabla relacional R esta en segunda forma normal (2FN) si:

R esta en 1FN, y

cada campo no principal de R tiene dependencia funcionalplena respecto de cada una de las claves candidatas de R.

Nota

Si R tiene k claves candidatas y m campos no principales,entonces para asegurar que R esta en 2FN son necesarias m ∗ kcomprobaciones.

¿R1({A,B,C ,D}, {A,B → C ;A→ D})? Relacion no en 2FN

¿R2({A,B,C ,D}, {A,B → C ;A,B → D})?

Relacion en 2FN

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 73: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Segunda Forma Normal: 2FN

Definicion (Codd, 1970)

Una tabla relacional R esta en segunda forma normal (2FN) si:

R esta en 1FN, y

cada campo no principal de R tiene dependencia funcionalplena respecto de cada una de las claves candidatas de R.

Nota

Si R tiene k claves candidatas y m campos no principales,entonces para asegurar que R esta en 2FN son necesarias m ∗ kcomprobaciones.

¿R1({A,B,C ,D}, {A,B → C ;A→ D})? Relacion no en 2FN

¿R2({A,B,C ,D}, {A,B → C ;A,B → D})? Relacion en 2FN

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 74: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @Campos principales: alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 75: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad

� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @Campos principales: alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 76: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto

� alumno, asignatura, conv → notaClaves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @Campos principales: alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 77: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @Campos principales: alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 78: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @Campos principales: alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 79: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes:

@Campos principales: alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 80: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @

Campos principales: alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 81: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @Campos principales:

alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 82: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @Campos principales: alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 83: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @Campos principales: alumno, asignatura, conv

Campos no principales

: edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 84: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @Campos principales: alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones:

3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 85: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Dependencias funcionales elementales:

� alumno → edad� asignatura→ dpto� alumno, asignatura, conv → nota

Claves candidatas:

� (alumno, asignatura, conv)Campos equivalentes: @Campos principales: alumno, asignatura, conv

Campos no principales : edad , dpto, nota

Numero de comprobaciones: 3 ∗ 1 = 3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 86: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo¿Esta en 2FN?

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Comprobaciones:

1. ¿Es alumno, asignatura, conv → edad completa?NO

2. ¿Es alumno, asignatura, conv → dpto completa?NO

3. ¿Es alumno, asignatura, conv → nota completa?SI

¿Conclusion?EVAL no esta en 2FN porque el campo no principaledad no tiene dependencia plena respecto de la clave(alumno, asignatura, conv).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 87: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo¿Esta en 2FN?

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Comprobaciones:

1. ¿Es alumno, asignatura, conv → edad completa?

NO

2. ¿Es alumno, asignatura, conv → dpto completa?NO

3. ¿Es alumno, asignatura, conv → nota completa?SI

¿Conclusion?EVAL no esta en 2FN porque el campo no principaledad no tiene dependencia plena respecto de la clave(alumno, asignatura, conv).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 88: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo¿Esta en 2FN?

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Comprobaciones:

1. ¿Es alumno, asignatura, conv → edad completa?NO

2. ¿Es alumno, asignatura, conv → dpto completa?NO

3. ¿Es alumno, asignatura, conv → nota completa?SI

¿Conclusion?EVAL no esta en 2FN porque el campo no principaledad no tiene dependencia plena respecto de la clave(alumno, asignatura, conv).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 89: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo¿Esta en 2FN?

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Comprobaciones:

1. ¿Es alumno, asignatura, conv → edad completa?NO

2. ¿Es alumno, asignatura, conv → dpto completa?

NO

3. ¿Es alumno, asignatura, conv → nota completa?SI

¿Conclusion?EVAL no esta en 2FN porque el campo no principaledad no tiene dependencia plena respecto de la clave(alumno, asignatura, conv).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 90: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo¿Esta en 2FN?

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Comprobaciones:

1. ¿Es alumno, asignatura, conv → edad completa?NO

2. ¿Es alumno, asignatura, conv → dpto completa?NO

3. ¿Es alumno, asignatura, conv → nota completa?SI

¿Conclusion?EVAL no esta en 2FN porque el campo no principaledad no tiene dependencia plena respecto de la clave(alumno, asignatura, conv).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 91: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo¿Esta en 2FN?

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Comprobaciones:

1. ¿Es alumno, asignatura, conv → edad completa?NO

2. ¿Es alumno, asignatura, conv → dpto completa?NO

3. ¿Es alumno, asignatura, conv → nota completa?

SI

¿Conclusion?EVAL no esta en 2FN porque el campo no principaledad no tiene dependencia plena respecto de la clave(alumno, asignatura, conv).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 92: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo¿Esta en 2FN?

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Comprobaciones:

1. ¿Es alumno, asignatura, conv → edad completa?NO

2. ¿Es alumno, asignatura, conv → dpto completa?NO

3. ¿Es alumno, asignatura, conv → nota completa?SI

¿Conclusion?EVAL no esta en 2FN porque el campo no principaledad no tiene dependencia plena respecto de la clave(alumno, asignatura, conv).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 93: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo¿Esta en 2FN?

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Comprobaciones:

1. ¿Es alumno, asignatura, conv → edad completa?NO

2. ¿Es alumno, asignatura, conv → dpto completa?NO

3. ¿Es alumno, asignatura, conv → nota completa?SI

¿Conclusion?

EVAL no esta en 2FN porque el campo no principaledad no tiene dependencia plena respecto de la clave(alumno, asignatura, conv).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 94: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. Ejemplo¿Esta en 2FN?

EVAL(alumno,edad,asignatura,dpto,conv,nota)

Comprobaciones:

1. ¿Es alumno, asignatura, conv → edad completa?NO

2. ¿Es alumno, asignatura, conv → dpto completa?NO

3. ¿Es alumno, asignatura, conv → nota completa?SI

¿Conclusion?EVAL no esta en 2FN porque el campo no principaledad no tiene dependencia plena respecto de la clave(alumno, asignatura, conv).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 95: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. EjemploNormalizacion

EVAL(alumno,edad,asignatura,dpto,conv,nota)

¿Como conseguir un conjunto de tablas en 2FN equivalente?

R1(alumno, edad)PK = alumno

R2(asignatura, dpto)PK = asignatura

R3(alumno, asignatura, conv , nota)PK = (alumno, asignatura, conv)FK = alumno( R1) FK = asignatura( R2)

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 96: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. EjemploNormalizacion

EVAL(alumno,edad,asignatura,dpto,conv,nota)

¿Como conseguir un conjunto de tablas en 2FN equivalente?

R1(alumno, edad)PK = alumno

R2(asignatura, dpto)PK = asignatura

R3(alumno, asignatura, conv , nota)PK = (alumno, asignatura, conv)FK = alumno( R1) FK = asignatura( R2)

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 97: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. EjemploNormalizacion

EVAL(alumno,edad,asignatura,dpto,conv,nota)

¿Como conseguir un conjunto de tablas en 2FN equivalente?

R1(alumno, edad)PK = alumno

R2(asignatura, dpto)PK = asignatura

R3(alumno, asignatura, conv , nota)PK = (alumno, asignatura, conv)FK = alumno( R1) FK = asignatura( R2)

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 98: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Campos principales y no principales. EjemploNormalizacion

EVAL(alumno,edad,asignatura,dpto,conv,nota)

¿Como conseguir un conjunto de tablas en 2FN equivalente?

R1(alumno, edad)PK = alumno

R2(asignatura, dpto)PK = asignatura

R3(alumno, asignatura, conv , nota)PK = (alumno, asignatura, conv)FK = alumno( R1) FK = asignatura( R2)

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 99: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Segunda Forma Normal. Propiedades

Si el implicante de una dependencia funcional es unitario, entonces ladependencia es automaticamente completa. Por tanto:

Propiedad 1

Si todas las claves candidatas de una tabla relacional R sonunitarias, R esta automaticamente en 2FN.

Ejemplo: ALUMNO(codigo,nif,nombre,edad,direccion)

Claves candidatas:

1. codigo2. nif

¿Conclusion?Puesto que ambas claves candidatas son unitarias,la tabla ALUMNO esta en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 100: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Segunda Forma Normal. Propiedades

Si el implicante de una dependencia funcional es unitario, entonces ladependencia es automaticamente completa. Por tanto:

Propiedad 1

Si todas las claves candidatas de una tabla relacional R sonunitarias, R esta automaticamente en 2FN.

Ejemplo: ALUMNO(codigo,nif,nombre,edad,direccion)

Claves candidatas:

1. codigo

2. nif

¿Conclusion?Puesto que ambas claves candidatas son unitarias,la tabla ALUMNO esta en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 101: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Segunda Forma Normal. Propiedades

Si el implicante de una dependencia funcional es unitario, entonces ladependencia es automaticamente completa. Por tanto:

Propiedad 1

Si todas las claves candidatas de una tabla relacional R sonunitarias, R esta automaticamente en 2FN.

Ejemplo: ALUMNO(codigo,nif,nombre,edad,direccion)

Claves candidatas:

1. codigo2. nif

¿Conclusion?Puesto que ambas claves candidatas son unitarias,la tabla ALUMNO esta en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 102: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Segunda Forma Normal. Propiedades

Si el implicante de una dependencia funcional es unitario, entonces ladependencia es automaticamente completa. Por tanto:

Propiedad 1

Si todas las claves candidatas de una tabla relacional R sonunitarias, R esta automaticamente en 2FN.

Ejemplo: ALUMNO(codigo,nif,nombre,edad,direccion)

Claves candidatas:

1. codigo2. nif

¿Conclusion?

Puesto que ambas claves candidatas son unitarias,la tabla ALUMNO esta en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 103: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Segunda Forma Normal. Propiedades

Si el implicante de una dependencia funcional es unitario, entonces ladependencia es automaticamente completa. Por tanto:

Propiedad 1

Si todas las claves candidatas de una tabla relacional R sonunitarias, R esta automaticamente en 2FN.

Ejemplo: ALUMNO(codigo,nif,nombre,edad,direccion)

Claves candidatas:

1. codigo2. nif

¿Conclusion?Puesto que ambas claves candidatas son unitarias,la tabla ALUMNO esta en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 104: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal: 3FN

Definicion (Cood, 1970)

Una tabla relacional R esta en tercera forma normal (3FN) si:

R esta en 2FN, y

ningun campo no principal de R depende transitivamente dealguna clave candidata de R.

Nota

Si R esta en 2FN y tiene k claves candidatas y m campos noprincipales, entonces para asegurar que R tambien esta en 3FNson necesarias m ∗ k comprobaciones.

¿R1({A,B,C}, {A→ B;A→ C})?

Relacion en 3FN

¿R2({A,B,C}, {A→ B;B → C})? Relacion no en 3FN

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 105: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal: 3FN

Definicion (Cood, 1970)

Una tabla relacional R esta en tercera forma normal (3FN) si:

R esta en 2FN, y

ningun campo no principal de R depende transitivamente dealguna clave candidata de R.

Nota

Si R esta en 2FN y tiene k claves candidatas y m campos noprincipales, entonces para asegurar que R tambien esta en 3FNson necesarias m ∗ k comprobaciones.

¿R1({A,B,C}, {A→ B;A→ C})? Relacion en 3FN

¿R2({A,B,C}, {A→ B;B → C})? Relacion no en 3FN

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 106: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal: 3FN

Definicion (Cood, 1970)

Una tabla relacional R esta en tercera forma normal (3FN) si:

R esta en 2FN, y

ningun campo no principal de R depende transitivamente dealguna clave candidata de R.

Nota

Si R esta en 2FN y tiene k claves candidatas y m campos noprincipales, entonces para asegurar que R tambien esta en 3FNson necesarias m ∗ k comprobaciones.

¿R1({A,B,C}, {A→ B;A→ C})? Relacion en 3FN

¿R2({A,B,C}, {A→ B;B → C})?

Relacion no en 3FN

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 107: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal: 3FN

Definicion (Cood, 1970)

Una tabla relacional R esta en tercera forma normal (3FN) si:

R esta en 2FN, y

ningun campo no principal de R depende transitivamente dealguna clave candidata de R.

Nota

Si R esta en 2FN y tiene k claves candidatas y m campos noprincipales, entonces para asegurar que R tambien esta en 3FNson necesarias m ∗ k comprobaciones.

¿R1({A,B,C}, {A→ B;A→ C})? Relacion en 3FN

¿R2({A,B,C}, {A→ B;B → C})? Relacion no en 3FN

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 108: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 109: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn

� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 110: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor

� autor → paıs autClaves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 111: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 112: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 113: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 114: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes:

codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 115: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 116: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales:

codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 117: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 118: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales:

titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 119: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 120: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN?

Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 121: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (I)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)

Dependencias funcionales elementales:

� codigo → isbn� isbn→ codigo, isbn→ titulo, isbn→ autor� autor → paıs aut

Claves candidatas:

1. codigo2. isbn

Campos equivalentes: codigo ↔ isbn

Campos principales: codigo, isbn

Campos no principales: titulo, autor ,paıs aut

¿En 2FN? Como todas las claves candidatas son unitarias,la tabla LIBRO esta automaticamente en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 122: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (II)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Esta la tabla LIBRO en 3FN? Nº de comprobaciones:

3 ∗ 2 = 6

1. ¿titulo depende transitivamente de codigo? NO

2. ¿titulo depende transitivamente de isbn? NO

3. ¿autor depende transitivamente de codigo? NO

4. ¿autor depende transitivamente de isbn? NO

5. ¿paıs aut depende transitivamente de codigo? SI

6. ¿paıs aut depende transitivamente de isbn? SI

¿Conclusion? El campo paıs aut tiene dependencia transitiva decodigo a traves del campo autor. Por lo tanto, LIBRO no esta en3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 123: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (II)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Esta la tabla LIBRO en 3FN? Nº de comprobaciones: 3 ∗ 2 = 6

1. ¿titulo depende transitivamente de codigo? NO

2. ¿titulo depende transitivamente de isbn? NO

3. ¿autor depende transitivamente de codigo? NO

4. ¿autor depende transitivamente de isbn? NO

5. ¿paıs aut depende transitivamente de codigo? SI

6. ¿paıs aut depende transitivamente de isbn? SI

¿Conclusion? El campo paıs aut tiene dependencia transitiva decodigo a traves del campo autor. Por lo tanto, LIBRO no esta en3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 124: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (II)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Esta la tabla LIBRO en 3FN? Nº de comprobaciones: 3 ∗ 2 = 6

1. ¿titulo depende transitivamente de codigo?

NO

2. ¿titulo depende transitivamente de isbn? NO

3. ¿autor depende transitivamente de codigo? NO

4. ¿autor depende transitivamente de isbn? NO

5. ¿paıs aut depende transitivamente de codigo? SI

6. ¿paıs aut depende transitivamente de isbn? SI

¿Conclusion? El campo paıs aut tiene dependencia transitiva decodigo a traves del campo autor. Por lo tanto, LIBRO no esta en3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 125: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (II)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Esta la tabla LIBRO en 3FN? Nº de comprobaciones: 3 ∗ 2 = 6

1. ¿titulo depende transitivamente de codigo? NO

2. ¿titulo depende transitivamente de isbn?

NO

3. ¿autor depende transitivamente de codigo? NO

4. ¿autor depende transitivamente de isbn? NO

5. ¿paıs aut depende transitivamente de codigo? SI

6. ¿paıs aut depende transitivamente de isbn? SI

¿Conclusion? El campo paıs aut tiene dependencia transitiva decodigo a traves del campo autor. Por lo tanto, LIBRO no esta en3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 126: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (II)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Esta la tabla LIBRO en 3FN? Nº de comprobaciones: 3 ∗ 2 = 6

1. ¿titulo depende transitivamente de codigo? NO

2. ¿titulo depende transitivamente de isbn? NO

3. ¿autor depende transitivamente de codigo?

NO

4. ¿autor depende transitivamente de isbn? NO

5. ¿paıs aut depende transitivamente de codigo? SI

6. ¿paıs aut depende transitivamente de isbn? SI

¿Conclusion? El campo paıs aut tiene dependencia transitiva decodigo a traves del campo autor. Por lo tanto, LIBRO no esta en3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 127: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (II)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Esta la tabla LIBRO en 3FN? Nº de comprobaciones: 3 ∗ 2 = 6

1. ¿titulo depende transitivamente de codigo? NO

2. ¿titulo depende transitivamente de isbn? NO

3. ¿autor depende transitivamente de codigo? NO

4. ¿autor depende transitivamente de isbn?

NO

5. ¿paıs aut depende transitivamente de codigo? SI

6. ¿paıs aut depende transitivamente de isbn? SI

¿Conclusion? El campo paıs aut tiene dependencia transitiva decodigo a traves del campo autor. Por lo tanto, LIBRO no esta en3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 128: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (II)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Esta la tabla LIBRO en 3FN? Nº de comprobaciones: 3 ∗ 2 = 6

1. ¿titulo depende transitivamente de codigo? NO

2. ¿titulo depende transitivamente de isbn? NO

3. ¿autor depende transitivamente de codigo? NO

4. ¿autor depende transitivamente de isbn? NO

5. ¿paıs aut depende transitivamente de codigo?

SI

6. ¿paıs aut depende transitivamente de isbn? SI

¿Conclusion? El campo paıs aut tiene dependencia transitiva decodigo a traves del campo autor. Por lo tanto, LIBRO no esta en3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 129: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (II)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Esta la tabla LIBRO en 3FN? Nº de comprobaciones: 3 ∗ 2 = 6

1. ¿titulo depende transitivamente de codigo? NO

2. ¿titulo depende transitivamente de isbn? NO

3. ¿autor depende transitivamente de codigo? NO

4. ¿autor depende transitivamente de isbn? NO

5. ¿paıs aut depende transitivamente de codigo? SI

6. ¿paıs aut depende transitivamente de isbn?

SI

¿Conclusion? El campo paıs aut tiene dependencia transitiva decodigo a traves del campo autor. Por lo tanto, LIBRO no esta en3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 130: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (II)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Esta la tabla LIBRO en 3FN? Nº de comprobaciones: 3 ∗ 2 = 6

1. ¿titulo depende transitivamente de codigo? NO

2. ¿titulo depende transitivamente de isbn? NO

3. ¿autor depende transitivamente de codigo? NO

4. ¿autor depende transitivamente de isbn? NO

5. ¿paıs aut depende transitivamente de codigo? SI

6. ¿paıs aut depende transitivamente de isbn? SI

¿Conclusion?

El campo paıs aut tiene dependencia transitiva decodigo a traves del campo autor. Por lo tanto, LIBRO no esta en3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 131: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (II)

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Esta la tabla LIBRO en 3FN? Nº de comprobaciones: 3 ∗ 2 = 6

1. ¿titulo depende transitivamente de codigo? NO

2. ¿titulo depende transitivamente de isbn? NO

3. ¿autor depende transitivamente de codigo? NO

4. ¿autor depende transitivamente de isbn? NO

5. ¿paıs aut depende transitivamente de codigo? SI

6. ¿paıs aut depende transitivamente de isbn? SI

¿Conclusion? El campo paıs aut tiene dependencia transitiva decodigo a traves del campo autor. Por lo tanto, LIBRO no esta en3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 132: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Ejemplo (III)Normalizacion

LIBRO(codigo,isbn,tıtulo,autor,paıs aut)¿Como conseguir un conjunto de tablas en 3FN equivalente?

R1(autor , paıs aut )PK = autor

R2(codigo, isbn, titulo, autor)PK = codigoFK = autor( R1)

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 133: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:

1. nif2. codigo

Campos equivalentes: nif ↔ codigo

Campos principales: nif , codigo No principales: edad

¿Conclusiones? Las claves candidatas son unitarias, luego SOCIO esta en2FN. Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 134: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:1. nif2. codigo

Campos equivalentes: nif ↔ codigo

Campos principales: nif , codigo No principales: edad

¿Conclusiones? Las claves candidatas son unitarias, luego SOCIO esta en2FN. Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 135: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:1. nif2. codigo

Campos equivalentes:

nif ↔ codigo

Campos principales: nif , codigo No principales: edad

¿Conclusiones? Las claves candidatas son unitarias, luego SOCIO esta en2FN. Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 136: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:1. nif2. codigo

Campos equivalentes: nif ↔ codigo

Campos principales: nif , codigo No principales: edad

¿Conclusiones? Las claves candidatas son unitarias, luego SOCIO esta en2FN. Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 137: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:1. nif2. codigo

Campos equivalentes: nif ↔ codigo

Campos principales:

nif , codigo No principales: edad

¿Conclusiones? Las claves candidatas son unitarias, luego SOCIO esta en2FN. Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 138: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:1. nif2. codigo

Campos equivalentes: nif ↔ codigo

Campos principales: nif , codigo

No principales: edad

¿Conclusiones? Las claves candidatas son unitarias, luego SOCIO esta en2FN. Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 139: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:1. nif2. codigo

Campos equivalentes: nif ↔ codigo

Campos principales: nif , codigo No principales:

edad

¿Conclusiones? Las claves candidatas son unitarias, luego SOCIO esta en2FN. Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 140: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:1. nif2. codigo

Campos equivalentes: nif ↔ codigo

Campos principales: nif , codigo No principales: edad

¿Conclusiones? Las claves candidatas son unitarias, luego SOCIO esta en2FN. Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 141: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:1. nif2. codigo

Campos equivalentes: nif ↔ codigo

Campos principales: nif , codigo No principales: edad

¿Conclusiones?

Las claves candidatas son unitarias, luego SOCIO esta en2FN. Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 142: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:1. nif2. codigo

Campos equivalentes: nif ↔ codigo

Campos principales: nif , codigo No principales: edad

¿Conclusiones? Las claves candidatas son unitarias, luego SOCIO esta en2FN.

Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 143: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (I)

Propiedad 2

Si R esta en 2FN y posee un unico campo no principal, entonces R estaen 3FN.

Ejemplo: SOCIO(nif,codigo,edad)nif → codigo, nif → edadcodigo → nif

Claves candidatas:1. nif2. codigo

Campos equivalentes: nif ↔ codigo

Campos principales: nif , codigo No principales: edad

¿Conclusiones? Las claves candidatas son unitarias, luego SOCIO esta en2FN. Tiene 1 campo no principal (edad), luego esta tambien en 3FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 144: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (II)

Propiedad 3

Si todos los campos de R son principales, entonces R estaautomaticamente en 3FN.

Ejemplo: ESTUDIAR(nif,cod alum,asignatura)nif → cod alum, cod alum→ nif

Claves candidatas:

1. (nif , asignatura)2. (cod alum, asignatura)

Campos equivalentes: nif ↔ cod alumCampos principales: nif , cod alum, asignaturaCampos no principales: @

¿Conclusion? ESTUDIAR esta automaticamente en 3FN, yaque solo posee campos principales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 145: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (II)

Propiedad 3

Si todos los campos de R son principales, entonces R estaautomaticamente en 3FN.

Ejemplo: ESTUDIAR(nif,cod alum,asignatura)nif → cod alum, cod alum→ nif

Claves candidatas:

1. (nif , asignatura)

2. (cod alum, asignatura)Campos equivalentes: nif ↔ cod alumCampos principales: nif , cod alum, asignaturaCampos no principales: @

¿Conclusion? ESTUDIAR esta automaticamente en 3FN, yaque solo posee campos principales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 146: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (II)

Propiedad 3

Si todos los campos de R son principales, entonces R estaautomaticamente en 3FN.

Ejemplo: ESTUDIAR(nif,cod alum,asignatura)nif → cod alum, cod alum→ nif

Claves candidatas:

1. (nif , asignatura)2. (cod alum, asignatura)

Campos equivalentes:

nif ↔ cod alumCampos principales: nif , cod alum, asignaturaCampos no principales: @

¿Conclusion? ESTUDIAR esta automaticamente en 3FN, yaque solo posee campos principales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 147: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (II)

Propiedad 3

Si todos los campos de R son principales, entonces R estaautomaticamente en 3FN.

Ejemplo: ESTUDIAR(nif,cod alum,asignatura)nif → cod alum, cod alum→ nif

Claves candidatas:

1. (nif , asignatura)2. (cod alum, asignatura)

Campos equivalentes: nif ↔ cod alum

Campos principales: nif , cod alum, asignaturaCampos no principales: @

¿Conclusion? ESTUDIAR esta automaticamente en 3FN, yaque solo posee campos principales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 148: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (II)

Propiedad 3

Si todos los campos de R son principales, entonces R estaautomaticamente en 3FN.

Ejemplo: ESTUDIAR(nif,cod alum,asignatura)nif → cod alum, cod alum→ nif

Claves candidatas:

1. (nif , asignatura)2. (cod alum, asignatura)

Campos equivalentes: nif ↔ cod alumCampos principales:

nif , cod alum, asignaturaCampos no principales: @

¿Conclusion? ESTUDIAR esta automaticamente en 3FN, yaque solo posee campos principales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 149: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (II)

Propiedad 3

Si todos los campos de R son principales, entonces R estaautomaticamente en 3FN.

Ejemplo: ESTUDIAR(nif,cod alum,asignatura)nif → cod alum, cod alum→ nif

Claves candidatas:

1. (nif , asignatura)2. (cod alum, asignatura)

Campos equivalentes: nif ↔ cod alumCampos principales: nif , cod alum, asignatura

Campos no principales: @¿Conclusion? ESTUDIAR esta automaticamente en 3FN, yaque solo posee campos principales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 150: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (II)

Propiedad 3

Si todos los campos de R son principales, entonces R estaautomaticamente en 3FN.

Ejemplo: ESTUDIAR(nif,cod alum,asignatura)nif → cod alum, cod alum→ nif

Claves candidatas:

1. (nif , asignatura)2. (cod alum, asignatura)

Campos equivalentes: nif ↔ cod alumCampos principales: nif , cod alum, asignaturaCampos no principales:

@¿Conclusion? ESTUDIAR esta automaticamente en 3FN, yaque solo posee campos principales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 151: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (II)

Propiedad 3

Si todos los campos de R son principales, entonces R estaautomaticamente en 3FN.

Ejemplo: ESTUDIAR(nif,cod alum,asignatura)nif → cod alum, cod alum→ nif

Claves candidatas:

1. (nif , asignatura)2. (cod alum, asignatura)

Campos equivalentes: nif ↔ cod alumCampos principales: nif , cod alum, asignaturaCampos no principales: @

¿Conclusion? ESTUDIAR esta automaticamente en 3FN, yaque solo posee campos principales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 152: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (II)

Propiedad 3

Si todos los campos de R son principales, entonces R estaautomaticamente en 3FN.

Ejemplo: ESTUDIAR(nif,cod alum,asignatura)nif → cod alum, cod alum→ nif

Claves candidatas:

1. (nif , asignatura)2. (cod alum, asignatura)

Campos equivalentes: nif ↔ cod alumCampos principales: nif , cod alum, asignaturaCampos no principales: @

¿Conclusion?

ESTUDIAR esta automaticamente en 3FN, yaque solo posee campos principales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 153: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma Normal. Propiedades (II)

Propiedad 3

Si todos los campos de R son principales, entonces R estaautomaticamente en 3FN.

Ejemplo: ESTUDIAR(nif,cod alum,asignatura)nif → cod alum, cod alum→ nif

Claves candidatas:

1. (nif , asignatura)2. (cod alum, asignatura)

Campos equivalentes: nif ↔ cod alumCampos principales: nif , cod alum, asignaturaCampos no principales: @

¿Conclusion? ESTUDIAR esta automaticamente en 3FN, yaque solo posee campos principales.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 154: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Tercera Forma NormalResumen

Siempre estan en 3FN las relaciones:

� Binarias� En las que todos sus atributos son principales� Que tienen un unico atributo no principal

La 3FN no se cumple cuando existen atributos no principalesque dependen funcionalmente de otros atributos no principales

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 155: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Indice

1 Introduccion a la normalizacion

2 Dependencias funcionales

3 Formas Normales

4 Normalizacion

5 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 156: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Dependencias entre atributos

La normalizacion trata las dependencias que hay entre los atributosde una relacion. Los pasos que se realizan son los siguientes:

1. Calculo de dependencias funcionales entre los atributos.

2. Calculo del recubrimiento minimal.

3. Calculo de claves candidatas, atributos principales y no ppales.

4. Calculo de la forma normal en la que se encuentra la relacion.

5. Aplicar metodos de sıntesis y analisis para obtener la formanormal deseada:

Descomposicion de la relacion en dos o mas relacionesque mantengan las propiedades deseadas.Relacionar las tablas con claves ajenas.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 157: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Paso a la Segunda Forma Normal

Para pasar una tabla en 1FN a 2FN hay que eliminar lasdependencias parciales de las claves candidatas.

Para ello, se eliminan de la relacion original los atributos queson funcionalmente dependientes de otros de forma parcial(dependen de un subconjunto de alguna clave).

Dichos atributos se ponen en una nueva tabla con una copiade su determinante (formado por los atributos de la clave delos que depende de forma plena).

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 158: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Paso a la Segunda Forma Normal

Consideremos la relacion

INSCRIPCION(Estudiante,Actividad,Precio)

Un estudiante puede inscribirse en varias actividades y unaactividad tiene muchos estudiantes, por lo que Estudiante yActividad son la clave primaria. Si suponemos que Precio solodepende de Actividad, esta relacion no esta en 2FN porquetenemos la dependencia funcional

Actividad → Precio

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 159: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Paso a la Segunda Forma Normal

Podemos descomponer la relacion

INSCRIPCION(Estudiante,Actividad,Precio)

en dos relaciones

R1(Estudiante,Actividad)

R2(Actividad,Precio)

R1.Actividad es clave ajena a R2.

De este modo, R1 y R2 mantienen la informacion de la relacionoriginal INSCRIPCION, y ambas estan en 2FN.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 160: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Paso a la Tercera Forma Normal

Para pasar una relacion en 2FN a 3FN hay que eliminar lasdependencias transitivas. Para ello, se eliminan los atributosque dependen transitivamente y se ponen en una nuevarelacion con una copia de su determinante (el atributo oatributos no clave de los que depende).

ESCRITOR(Nombre,Paıs,Poblacion-paıs)

Dependencia funcional transitiva

Nombre → Poblacion-paıs

Podemos descomponer la relacion en dos relaciones en 3FNR1(Nombre,Paıs)R2(Paıs,Poblacion-paıs)Notese que R1.Paıs es clave ajena a R2.

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 161: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Indice

1 Introduccion a la normalizacion

2 Dependencias funcionales

3 Formas Normales

4 Normalizacion

5 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales

Page 162: Normalización en Bases de Datos Relacionales

Introduccion Dependencias funcionales Formas Normales Normalizacion Biblio

Bibliografıa

Ramez Elmasri, Shamkant B. NavatheFundamentos de Sistemas de Bases de Datos.Pearson Educacion S.A. - Addison Wesley Quinta Ed. (2007)ISBN: 978-84-7829-085-7

Adoracion de Miguel, Mario Piattini, Esperanza MarcosDiseno de Bases de Datos Relacionales.RA-MA Editorial (1999)ISBN: 978-84-7897-385-9

Mercedes MarquesApuntes de Bases de Datos.Universidad Jaume I en Castellon (2011)ISBN: 978-84-693-0146-3

Luis Valencia Cabrera ([email protected]) Bases de Datos

Normalizacion en Bases de Datos Relacionales