Normalización L.I. María Luisa Velasco Ramírez
La teoría de la Normalización es un método objetivo y riguroso que se aplica en el diseño de bases de datos relacionales.
El proceso de  normalización de una  base de datos  consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del  modelo E-R  (entidad-relación) al modelo relacional. Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos.  Evitar problemas de actualización de los datos en las tablas.  Proteger la integridad de los datos.
Dependencias: Funcional:  dado un atributo B de una entidad o relación, este es funcionalmente dependiente de otro A, si para cualquier valor dado del atributo A existe un valor simple asociado en el atributo B. Siempre existe entre los atributos no clave respecto del clave Que es clave? Un Identificador único Claves, son: primaria candidatas
Ejemplos: Matrícula -> Nombre_alumno Un valor único de matrícula determina un solo valor para Nombre_alumno  ISBN-> Título, igualmente un valor único de ISBN determina un solo valor de Título de libro.
Parcial:  un atributo B (no clave) depende de un subconjunto A (clave) Transitiva:  un atributo B (no clave) depende de un atributo C no clave Boyce Codd:  un atributo B (Clave o parte de clave) depende de un atributo que no es clave.  Todo determinante es clave.
Formas normales Primera Forma:  todos los atributos tiene cardinalidad 0 o 1. Evitar grupos repetidos. Segunda Forma:  una tabla está en 2NF si está en 1NF y no existen dependencias parciales. Tercer Forma:  una tabla está en 3NF si está en 2NF y no existen dependencias transitivas Boyce Codd Forma:  una tabla está en BCNF si está en 3NF y no existen dependencias de B-C.
Por ejemplo, dada la siguiente relación: Observen bien las tuplas de la relación, ¿Qué observan en los campos Id_Orden, Fecha, Id_Cliente, Nom_Cliente, Estado?  Id_orden Fecha Id_cliente Nom_cliente Estado Num_Item Desc_Item Cant Precio 2301 23/03/11 101 Martí VE 3786 Red 3 100 2301 23/03/11 101 Martí VE 4011 Raqueta 6 700 2301 23/03/11 101 Martí VE 9132 Paq-3 8 25 2302 25/03/11 102 Sports NL 5794 Paq-6 4 55 2303 27/03/11 103 Mr. Tenis VE 4011 Raqueta 2 700 2303 27/03/11 103 Mr. Tenis VE 3141 Funda 2 125
La relación no cumple con la 1FN, ya que existen grupos repetidos, qué se debe hacer: Eliminar los grupos repetidos Crear una nueva relación con la llave primaria (PK, por sus siglas en inglés) de la relación base y el grupo repetido
Se tienen ahora 2 relaciones: Ordenes Artículos_Ordenes ¿Qué atributo tienen en común las 2 relaciones? Id_orden Fecha Id_cliente Nom_cliente Estado 2301 23/03/11 101 Martí VE 2302 25/03/11 102 Sports NL 2303 27/03/11 103 Mr. Tenis VE Id_Orden Num_Item Desc_Item Cant Precio 2301 3786 Red 3 100 2301 4011 Raqueta 6 700 2301 9132 Paq-3 8 25 2302 5794 Paq-6 4 55 2303 4011 Raqueta 2 700 2303 3141 Funda 2 125
Ahora hay que aplicar la 2FN a las relaciones resultantes Determinar cuáles columnas que no son llave no dependen de la llave primaria de la tabla. Eliminar esas columnas de la tabla base, para lo cual se debe: Crear una segunda tabla con esas columnas y la PK de la cual dependen. Analizar la relación Artículos_Ordenes Observar que las columnas PRECIO y DESC_ITEM son dependientes de NUM_ITEM ( un subconjunto de la llave primaria), pero no son dependientes de ID_ORDEN.  CANT  sin embargo, si depende de la PK, ya que se refiere a la cantidad de artículos que lleva la orden. Artículos_Ordenes ¡Observar que la llave primaria (PK) de esta relación es compuesta! Id_Orden Num_Item Desc_Item Cant Precio 2301 3786 Red 3 100 2301 4011 Raqueta 6 700 2301 9132 Paq-3 8 25 2302 5794 Paq-6 4 55 2303 4011 Raqueta 2 700 2303 3141 Funda 2 125
Artículos_Ordenes Artículos Las relaciones resultantes son: ¿Qué representa Num_Item, en la relación Artículos_Ordenes? ¿La llave primaria de la relación Artículos_Ordenes es compuesta? Id_Orden Num_Item Cant 2301 3786 3 2301 4011 6 2301 9132 8 2302 5794 4 2303 4011 2 2303 3141 2 Num_Item Desc_Item Precio 3786 Red 100 4011 Raqueta 700 9132 Paq-3 25 5794 Paq-6 55 4011 Raqueta 700 3141 Funda 125
Analizar la relación Ordenes Ordenes ¿Cumple la 2FN? Si, porque cualquier valor único de ID_ORDEN determina un sólo valor para cada columna. Por lo tanto, todas las columnas son dependientes de la llave primaria ID_ORDEN. Id_orden Fecha Id_cliente Nom_cliente Estado 2301 23/03/11 101 Martí VE 2302 25/03/11 102 Sports NL 2303 27/03/11 103 Mr. Tenis VE
¿Cumple la 3FN? Ordenes La tercera forma normal indica que se debe eliminar cualquier columna no llave que sea dependiente de otra columna no llave (dependencia transitiva). Los pasos a seguir son: »  Determinar las columnas que son dependientes de otra columna no llave. »  Eliminar esas columnas de la tabla base. »  Crear otra tabla con esas columnas y con la columna no llave de la cual son dependientes. Observar que las columnas Nom_cliente y Estado son dependientes de ID_cliente, que es una columna no clave Id_orden Fecha Id_cliente Nom_cliente Estado 2301 23/03/11 101 Martí VE 2302 25/03/11 102 Sports NL 2303 27/03/11 103 Mr. Tenis VE
Al crear otra relación o tabla se obtiene: Ordenes Clientes Llave foránea ¿La llave foránea Id_cliente, en dónde es primaria? Id_orden Fecha Id_cliente 2301 23/03/11 101 2302 25/03/11 102 2303 27/03/11 103 Id_cliente Nom_cliente Estado 101 Martí VE 102 Sports NL 103 Mr. Tenis VE
Las relaciones resultantes son: Artículos_Ordenes Artículos Ordenes Clientes Id_Orden Num_Item Cant 2301 3786 3 2301 4011 6 2301 9132 8 2302 5794 4 2303 4011 2 2303 3141 2 Num_Item Desc_Item Precio 3786 Red 100 4011 Raqueta 700 9132 Paq-3 25 5794 Paq-6 55 4011 Raqueta 700 3141 Funda 125 Id_orden Fecha Id_cliente 2301 23/03/11 101 2302 25/03/11 102 2303 27/03/11 103 Id_cliente Nom_cliente Estado 101 Martí VE 102 Sports NL 103 Mr. Tenis VE
Analizar ahora la siguiente relación Préstamo   La relación  PRESTAMO(  num_socio, nombre_socio, cod_libro, fec_prest, editorial, país_edit  )   las claves candidatas son:  (num_socio, cod_libro) y (nombre_socio, cod_libro) La combinación de num_socio y cod_libro son las ideales para formar la llave primaria, sin embargo la combinación nombre_socio y cod_libro también es una clave candidata. ¿La relación está en primera forma normal? Primera Forma: todos los atributos tiene cardinalidad 0 ó 1. Si está en 1FN, todos los atributos tienen cardinalidad 0 ó 1
Segunda Forma: una tabla está en 2NF si está en 1NF y no existen dependencias parciales. PRESTAMO(   num_socio,  nombre_socio,  cod_libro , fec_prest, editorial, país_edit  )   Se puede observar que ciertos atributos que no forman parte de las claves candidatas, tales como editorial y país editorial, constituye información acerca del libro, pero no acerca de las claves candidatas (que son compuestas). Por lo tanto, la relación préstamo no se encuentra en  2FN .  La solución es descomponer esta relación en las siguientes:
PRESTAMO1(  num_socio, nombre_socio, cod_libro, fec_prest  )   LIBRO(   cod_libro , editorial, país_edit  )
En la relación  PRESTAMO1 , el único atributo que no forma parte de las claves candidatas es  fec_prest , pero es determinado funcionalmente por la clave completa. Por lo que está en  2FN .  La relación  LIBRO , la clave es  cod_libro , y los dos atributos:  editorial  y  país  son determinados funcionalmente por la clave completa. Por lo tanto, está en  2FN .
Tercer Forma: una tabla está en 3NF si está en 2NF y no existen dependencias transitivas Tercera Forma Normal  ( 3FN ), propuesta por Codd. Una relación está en  3FN , si además de estar en  2FN , los atributos que no forman parte de ninguna clave candidata facilitan información sólo acerca de la(s) clave(s) y no acerca de otros atributos.  En la relación  PRESTAMO1 , el atributo  fec_prest es determinado por  la clave, ya que no existen más atributos. Por lo que está en  3FN .  En la relación  LIBRO , el atributo  país  entrega información acerca de la  editoria l que publica el libro, por lo que no está en  3FN ,  país  es  una columna no clave que es determinado por otra columna no clave que es  editorial  .
La solución es descomponerla en:  LIBRO1(   cod_libro , editorial  )   EDITORIAL(   editorial , país  ) ,  que están en  3FN , ya que todo atributo no clave facilita información acerca de la clave.
Boyce Codd: un atributo B (Clave o parte de clave) depende de un atributo que no es clave.  Todo determinante es clave. Forma Normal de Boycce y Codd  ( FNBC ). La relación  PRESTAMO1 , que está en  3FN , todavía presenta anomalías, ya que  num_socio  y  nombre_socio , se repiten innecesariamente por cada  cod_libro .  Una relación no cumple con la  FNBC si   un atributo B (clave o parte de clave) depende de un atributo que no es clave.  Todo determinante es clave.
En la relación  PRESTAMO1 ,  num_socio  es información acerca de  nombre_socio  y viceversa. Ninguno de estos atributos son clave (aunque formen parte de la clave).  Es decir num_socio -> nombre_socio nombre_socio->num_socio Un atributo no clave  determina a otro que es clave o parte de ella
La solución es: SOCIO (  num_socio , nombre_socio  )   PRESTAMO2(   num_socio, cod_libro , fec_prest  ) , que están en  FNBC
Esquema relacional resultante: LIBRO1(  cod_libro , editorial  )   EDITORIAL(  editorial , país  )   SOCIO(  num_socio , nombre_socio  )   PRESTAMO2(   num_socio, cod_libro , fec_prest  )
Consultar en Mysql-hispano.org el artículo Normalización de bases de datos, del cual se tomaron algunos conceptos y el primer ejemplo.

Más contenido relacionado

PPT
Normalizacion
PPT
Normalizacion
PPT
Normalizacion
PPT
Normalizacion de la bd
PPT
Normalizacion
PPT
Fundamentos de una Base de Datos
DOCX
Forma normal de boyce codd y algoritmos de descomposición
PPT
Normalizaciòn
Normalizacion
Normalizacion
Normalizacion
Normalizacion de la bd
Normalizacion
Fundamentos de una Base de Datos
Forma normal de boyce codd y algoritmos de descomposición
Normalizaciòn

La actualidad más candente (20)

DOCX
Normalización 1 fn,2fn,3fn,4fn,
PPTX
NORMALIZACIÓN
PPTX
Formas normales de codd
PPTX
DOCX
normalizacion base de datos
PPS
Base datos normalización une
PDF
Formas normales
PPT
Normalizacion_Rozic
PDF
5. Ejercicios normalización
DOCX
Guia normalización
PPTX
Normalización de bases de datos
DOCX
Base de datos
DOC
Formnormal
ODP
Núcleo 3 - Normalización de Bases de datos
PPT
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
PPSX
Reglas de integridad bd relacional
PPTX
Segunda forma normal
PDF
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
PPTX
Normalizacion
PPSX
Actividad apropiacion conocimientos_dbenavides
Normalización 1 fn,2fn,3fn,4fn,
NORMALIZACIÓN
Formas normales de codd
normalizacion base de datos
Base datos normalización une
Formas normales
Normalizacion_Rozic
5. Ejercicios normalización
Guia normalización
Normalización de bases de datos
Base de datos
Formnormal
Núcleo 3 - Normalización de Bases de datos
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Reglas de integridad bd relacional
Segunda forma normal
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Normalizacion
Actividad apropiacion conocimientos_dbenavides
Publicidad

Destacado (7)

PPTX
PPT
Normalización
PDF
Formas Normales
PPT
Formas normales
PPTX
Normalizacion de bases de datos
PDF
Normalizacion de base de datos
PPTX
Normalización de la base de datos (3 formas normales)
Normalización
Formas Normales
Formas normales
Normalizacion de bases de datos
Normalizacion de base de datos
Normalización de la base de datos (3 formas normales)
Publicidad

Similar a Normalizacion (20)

PPTX
Normalización en base de datos todo a detalle las principales leyes .pptx
PPT
Normalizacion3
PPT
Normalizacion2
PPT
Normalizacionnosecuanto
PPT
Normalizacion
PDF
5. ejercicios normalización
PDF
5. ejercicios normalización
PDF
5. ejercicios normalización2
PDF
5. ejercicios normalización
PDF
5. ejercicios normalización
PDF
5. ejercicios normalización
PDF
5 150111192230-conversion-gate02
PDF
5. ejercicios normalización
PDF
5. ejercicios normalización
PDF
5. ejercicios normalización
PDF
5. ejercicios normalización
PDF
5. ejercicios normalización
PDF
5. ejercicios normalización
PPTX
Normalización en base de datos todo a detalle las principales leyes .pptx
Normalizacion3
Normalizacion2
Normalizacionnosecuanto
Normalizacion
5. ejercicios normalización
5. ejercicios normalización
5. ejercicios normalización2
5. ejercicios normalización
5. ejercicios normalización
5. ejercicios normalización
5 150111192230-conversion-gate02
5. ejercicios normalización
5. ejercicios normalización
5. ejercicios normalización
5. ejercicios normalización
5. ejercicios normalización
5. ejercicios normalización

Más de María Luisa Velasco (20)

DOCX
Respaldando bd
PDF
Guia eejerciciospracticos
PPTX
Ejercicios normalización
PDF
Guia eejerciciospracticos
PDF
Guia eejerciciospracticos
PDF
Guia eejerciciospracticos
PPT
Modulos sgbd
PDF
Guia eejerciciospracticos
DOC
Induccion fundbd2012
DOC
Induccion fundbd2012
PDF
Guia eejerciciospracticos
PPTX
Paradigmas de programación
DOCX
Proyecto final de algoritmica
DOCX
Ejercicios arreglos4
DOCX
Ejercicios arreglos2
PPT
Seguridad bd
DOCX
Ejercicios3parte
DOCX
Ejercicio privilegios
Respaldando bd
Guia eejerciciospracticos
Ejercicios normalización
Guia eejerciciospracticos
Guia eejerciciospracticos
Guia eejerciciospracticos
Modulos sgbd
Guia eejerciciospracticos
Induccion fundbd2012
Induccion fundbd2012
Guia eejerciciospracticos
Paradigmas de programación
Proyecto final de algoritmica
Ejercicios arreglos4
Ejercicios arreglos2
Seguridad bd
Ejercicios3parte
Ejercicio privilegios

Normalizacion

  • 1. Normalización L.I. María Luisa Velasco Ramírez
  • 2. La teoría de la Normalización es un método objetivo y riguroso que se aplica en el diseño de bases de datos relacionales.
  • 3. El proceso de normalización de una base de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo E-R (entidad-relación) al modelo relacional. Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Evitar problemas de actualización de los datos en las tablas. Proteger la integridad de los datos.
  • 4. Dependencias: Funcional: dado un atributo B de una entidad o relación, este es funcionalmente dependiente de otro A, si para cualquier valor dado del atributo A existe un valor simple asociado en el atributo B. Siempre existe entre los atributos no clave respecto del clave Que es clave? Un Identificador único Claves, son: primaria candidatas
  • 5. Ejemplos: Matrícula -> Nombre_alumno Un valor único de matrícula determina un solo valor para Nombre_alumno ISBN-> Título, igualmente un valor único de ISBN determina un solo valor de Título de libro.
  • 6. Parcial: un atributo B (no clave) depende de un subconjunto A (clave) Transitiva: un atributo B (no clave) depende de un atributo C no clave Boyce Codd: un atributo B (Clave o parte de clave) depende de un atributo que no es clave. Todo determinante es clave.
  • 7. Formas normales Primera Forma: todos los atributos tiene cardinalidad 0 o 1. Evitar grupos repetidos. Segunda Forma: una tabla está en 2NF si está en 1NF y no existen dependencias parciales. Tercer Forma: una tabla está en 3NF si está en 2NF y no existen dependencias transitivas Boyce Codd Forma: una tabla está en BCNF si está en 3NF y no existen dependencias de B-C.
  • 8. Por ejemplo, dada la siguiente relación: Observen bien las tuplas de la relación, ¿Qué observan en los campos Id_Orden, Fecha, Id_Cliente, Nom_Cliente, Estado? Id_orden Fecha Id_cliente Nom_cliente Estado Num_Item Desc_Item Cant Precio 2301 23/03/11 101 Martí VE 3786 Red 3 100 2301 23/03/11 101 Martí VE 4011 Raqueta 6 700 2301 23/03/11 101 Martí VE 9132 Paq-3 8 25 2302 25/03/11 102 Sports NL 5794 Paq-6 4 55 2303 27/03/11 103 Mr. Tenis VE 4011 Raqueta 2 700 2303 27/03/11 103 Mr. Tenis VE 3141 Funda 2 125
  • 9. La relación no cumple con la 1FN, ya que existen grupos repetidos, qué se debe hacer: Eliminar los grupos repetidos Crear una nueva relación con la llave primaria (PK, por sus siglas en inglés) de la relación base y el grupo repetido
  • 10. Se tienen ahora 2 relaciones: Ordenes Artículos_Ordenes ¿Qué atributo tienen en común las 2 relaciones? Id_orden Fecha Id_cliente Nom_cliente Estado 2301 23/03/11 101 Martí VE 2302 25/03/11 102 Sports NL 2303 27/03/11 103 Mr. Tenis VE Id_Orden Num_Item Desc_Item Cant Precio 2301 3786 Red 3 100 2301 4011 Raqueta 6 700 2301 9132 Paq-3 8 25 2302 5794 Paq-6 4 55 2303 4011 Raqueta 2 700 2303 3141 Funda 2 125
  • 11. Ahora hay que aplicar la 2FN a las relaciones resultantes Determinar cuáles columnas que no son llave no dependen de la llave primaria de la tabla. Eliminar esas columnas de la tabla base, para lo cual se debe: Crear una segunda tabla con esas columnas y la PK de la cual dependen. Analizar la relación Artículos_Ordenes Observar que las columnas PRECIO y DESC_ITEM son dependientes de NUM_ITEM ( un subconjunto de la llave primaria), pero no son dependientes de ID_ORDEN. CANT sin embargo, si depende de la PK, ya que se refiere a la cantidad de artículos que lleva la orden. Artículos_Ordenes ¡Observar que la llave primaria (PK) de esta relación es compuesta! Id_Orden Num_Item Desc_Item Cant Precio 2301 3786 Red 3 100 2301 4011 Raqueta 6 700 2301 9132 Paq-3 8 25 2302 5794 Paq-6 4 55 2303 4011 Raqueta 2 700 2303 3141 Funda 2 125
  • 12. Artículos_Ordenes Artículos Las relaciones resultantes son: ¿Qué representa Num_Item, en la relación Artículos_Ordenes? ¿La llave primaria de la relación Artículos_Ordenes es compuesta? Id_Orden Num_Item Cant 2301 3786 3 2301 4011 6 2301 9132 8 2302 5794 4 2303 4011 2 2303 3141 2 Num_Item Desc_Item Precio 3786 Red 100 4011 Raqueta 700 9132 Paq-3 25 5794 Paq-6 55 4011 Raqueta 700 3141 Funda 125
  • 13. Analizar la relación Ordenes Ordenes ¿Cumple la 2FN? Si, porque cualquier valor único de ID_ORDEN determina un sólo valor para cada columna. Por lo tanto, todas las columnas son dependientes de la llave primaria ID_ORDEN. Id_orden Fecha Id_cliente Nom_cliente Estado 2301 23/03/11 101 Martí VE 2302 25/03/11 102 Sports NL 2303 27/03/11 103 Mr. Tenis VE
  • 14. ¿Cumple la 3FN? Ordenes La tercera forma normal indica que se debe eliminar cualquier columna no llave que sea dependiente de otra columna no llave (dependencia transitiva). Los pasos a seguir son: » Determinar las columnas que son dependientes de otra columna no llave. » Eliminar esas columnas de la tabla base. » Crear otra tabla con esas columnas y con la columna no llave de la cual son dependientes. Observar que las columnas Nom_cliente y Estado son dependientes de ID_cliente, que es una columna no clave Id_orden Fecha Id_cliente Nom_cliente Estado 2301 23/03/11 101 Martí VE 2302 25/03/11 102 Sports NL 2303 27/03/11 103 Mr. Tenis VE
  • 15. Al crear otra relación o tabla se obtiene: Ordenes Clientes Llave foránea ¿La llave foránea Id_cliente, en dónde es primaria? Id_orden Fecha Id_cliente 2301 23/03/11 101 2302 25/03/11 102 2303 27/03/11 103 Id_cliente Nom_cliente Estado 101 Martí VE 102 Sports NL 103 Mr. Tenis VE
  • 16. Las relaciones resultantes son: Artículos_Ordenes Artículos Ordenes Clientes Id_Orden Num_Item Cant 2301 3786 3 2301 4011 6 2301 9132 8 2302 5794 4 2303 4011 2 2303 3141 2 Num_Item Desc_Item Precio 3786 Red 100 4011 Raqueta 700 9132 Paq-3 25 5794 Paq-6 55 4011 Raqueta 700 3141 Funda 125 Id_orden Fecha Id_cliente 2301 23/03/11 101 2302 25/03/11 102 2303 27/03/11 103 Id_cliente Nom_cliente Estado 101 Martí VE 102 Sports NL 103 Mr. Tenis VE
  • 17. Analizar ahora la siguiente relación Préstamo La relación PRESTAMO( num_socio, nombre_socio, cod_libro, fec_prest, editorial, país_edit ) las claves candidatas son: (num_socio, cod_libro) y (nombre_socio, cod_libro) La combinación de num_socio y cod_libro son las ideales para formar la llave primaria, sin embargo la combinación nombre_socio y cod_libro también es una clave candidata. ¿La relación está en primera forma normal? Primera Forma: todos los atributos tiene cardinalidad 0 ó 1. Si está en 1FN, todos los atributos tienen cardinalidad 0 ó 1
  • 18. Segunda Forma: una tabla está en 2NF si está en 1NF y no existen dependencias parciales. PRESTAMO( num_socio, nombre_socio, cod_libro , fec_prest, editorial, país_edit ) Se puede observar que ciertos atributos que no forman parte de las claves candidatas, tales como editorial y país editorial, constituye información acerca del libro, pero no acerca de las claves candidatas (que son compuestas). Por lo tanto, la relación préstamo no se encuentra en 2FN . La solución es descomponer esta relación en las siguientes:
  • 19. PRESTAMO1( num_socio, nombre_socio, cod_libro, fec_prest ) LIBRO( cod_libro , editorial, país_edit )
  • 20. En la relación PRESTAMO1 , el único atributo que no forma parte de las claves candidatas es fec_prest , pero es determinado funcionalmente por la clave completa. Por lo que está en 2FN . La relación LIBRO , la clave es cod_libro , y los dos atributos: editorial y país son determinados funcionalmente por la clave completa. Por lo tanto, está en 2FN .
  • 21. Tercer Forma: una tabla está en 3NF si está en 2NF y no existen dependencias transitivas Tercera Forma Normal ( 3FN ), propuesta por Codd. Una relación está en 3FN , si además de estar en 2FN , los atributos que no forman parte de ninguna clave candidata facilitan información sólo acerca de la(s) clave(s) y no acerca de otros atributos. En la relación PRESTAMO1 , el atributo fec_prest es determinado por la clave, ya que no existen más atributos. Por lo que está en 3FN . En la relación LIBRO , el atributo país entrega información acerca de la editoria l que publica el libro, por lo que no está en 3FN , país es una columna no clave que es determinado por otra columna no clave que es editorial .
  • 22. La solución es descomponerla en: LIBRO1( cod_libro , editorial ) EDITORIAL( editorial , país ) , que están en 3FN , ya que todo atributo no clave facilita información acerca de la clave.
  • 23. Boyce Codd: un atributo B (Clave o parte de clave) depende de un atributo que no es clave. Todo determinante es clave. Forma Normal de Boycce y Codd ( FNBC ). La relación PRESTAMO1 , que está en 3FN , todavía presenta anomalías, ya que num_socio y nombre_socio , se repiten innecesariamente por cada cod_libro . Una relación no cumple con la FNBC si un atributo B (clave o parte de clave) depende de un atributo que no es clave. Todo determinante es clave.
  • 24. En la relación PRESTAMO1 , num_socio es información acerca de nombre_socio y viceversa. Ninguno de estos atributos son clave (aunque formen parte de la clave). Es decir num_socio -> nombre_socio nombre_socio->num_socio Un atributo no clave determina a otro que es clave o parte de ella
  • 25. La solución es: SOCIO ( num_socio , nombre_socio ) PRESTAMO2( num_socio, cod_libro , fec_prest ) , que están en FNBC
  • 26. Esquema relacional resultante: LIBRO1( cod_libro , editorial ) EDITORIAL( editorial , país ) SOCIO( num_socio , nombre_socio ) PRESTAMO2( num_socio, cod_libro , fec_prest )
  • 27. Consultar en Mysql-hispano.org el artículo Normalización de bases de datos, del cual se tomaron algunos conceptos y el primer ejemplo.