0% encontró este documento útil (0 votos)
14 vistas11 páginas

Ejemplos de Normalizacion

Cargado por

Sergio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas11 páginas

Ejemplos de Normalizacion

Cargado por

Sergio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

NORMALIZACIÓN – bases de datos

EJEMPLO DE NORMALIZACIÓN

Una biblioteca dispone de una base de datos donde se

guardan los registros de los alquileres de libros por parte de los

usuarios de la biblioteca.
NORMALIZACIÓN – bases de datos

EJEMPLO DE NORMALIZACIÓN
TENEMOS EN UNA MISMA TABLA TODA LA INFORMACIÓN SOBRE LOS
ALQUILERES DE LIBROS:

Alquiler (FechaDeAlquiler, CódigoLibroAlquilado, CódigoUsuario,


TítuloLibro, CódigoEditorial, NombreEditorial, CiudadSedeEditorial,
AutoresLibro, NombreUsuario, ApellidosUsuario, TeléfonosUsuario)
NORMALIZACIÓN – bases de datos

Lo primero, pasar a 1ª FN

QUEREMOS PASAR A 1era FORMA NORMAL


PARA ELLO, DEBEMOS ELIMINAR LOS CAMPOS MULTIVALUADOS, ES DECIR,
CON MÁS DE UN VALOR. EN ESTE CASO, OBSERVAMOS QUE LOS CAMPOS
TELÉFONOS DEL USUARIO Y AUTORES DE LIBRO PUEDEN TENER MÁS DE UN VALOR
NORMALIZACIÓN – bases de datos
1ª FN
POR TANTO, PASAMOS A PRIMERA FORMA NORMAL APLICANDO LAS REGLAS:
- Creamos nuevas tablas donde trasladamos los atributos multivaluados junto con su respectiva
clave, siendo ambas claves, primarias en la nueva tabla.

Alquiler (FechaDeAlquiler, CódigoLibroAlquilado,


CódigoUsuario, TítuloLibro, CódigoEditorial,
NombreEditorial, CiudadSedeEditorial, NombreUsuario,
ApellidosUsuario)

Teléfono(NumeroTeléfono, CódigoUsuario)

Autor(NombreAutor, CódigoLibro)
NORMALIZACIÓN – bases de datos

1ª FN
Si nos fijamos, Número de teléfono es clave primaria en su tabla, dado que nunca se va a repetir. (suponemos que
un número de teléfono solo pertenece a una y solo una persona)
Sin embargo, en la otra tabla nueva, Nombre del autor podría repetirse (un autor puede escribir más de 1 libro), así que
debemos montar la clave primaria como compuesta, con el nombre del autor y el código del libro.
NORMALIZACIÓN – bases de datos
Pasar a 2ª FN

Queremos pasar a SEGUNDA FORMA NORMAL:


- Todos los atributos no clave, deben depender de la totalidad de la clave primaria, y no de una
parte de ella, por tanto extraemos de la tabla Alquiler, todos los atributos que no cumplen ese
requisitos.
Alquiler (FechaDeAlquiler, CódigoLibroAlquilado_FK, CódigoUsuario_FK)

Teléfono(NumeroTeléfono, CódigoUsuario_FK)

Autor(NombreAutor, CódigoLibro_FK)

Libro(CódigoLibro, TítuloLibro, CódigoEditorial, NombreEditorial, CiudadSedeEditorial)

Usuario(CódigoUsuario, NombreUsuario, ApellidosUsuario)


NORMALIZACIÓN – bases de datos
Pasar a 2ª FN

Nos fijamos que se han creado una tabla para Libro y Usuario con 1 solo atributo
como clave primaria. Por tanto, indicamos las claves ajenas en otras tablas de libro y usuario.
Para indicar las claves ajenas, las marcamos con FK (Foreign Key, clave ajena)

Alquiler (FechaDeAlquiler, CódigoLibroAlquilado_FK, CódigoUsuario_FK)

Teléfono(NumeroTeléfono, CódigoUsuario_FK)

Autor(NombreAutor, CódigoLibro_FK)

Libro(CódigoLibro, TítuloLibro, CódigoEditorial, NombreEditorial, CiudadSedeEditorial)

Usuario(CódigoUsuario, NombreUsuario, ApellidosUsuario)


NORMALIZACIÓN – bases de datos
Pasar a 3ª FN

Por último, pasamos a TERCERA FORMA NORMAL aplicando las reglas.


- Debemos eliminar las dependencias transitivas. En este caso encontramos dependencia transitiva en la tabla Libro
dado que NombreEditorial y CiudadSedeEditorial dependen directamente del Código de la editorial, no del Alquiler:

Libro(CódigoLibro, TítuloLibro, CódigoEditorial, NombreEditorial, CiudadSedeEditorial)

De tal modo, que se crea una nueva tabla para Editorial:

Editorial(CódigoEditorial, NombreEditorial, CiudadSedeEditorial)


NORMALIZACIÓN – bases de datos
Resultado final tras la 3era Forma Normal

Alquiler ( FechaDeAlquiler, CódigoLibroAlquilado_FK, CódigoUsuario_FK )

Teléfono ( NumeroTeléfono, CódigoUsuario_FK )

Autor ( NombreAutor, CódigoLibro_FK )

Libro ( CódigoLibro, TítuloLibro, CódigoEditorial_FK )

Usuario ( CódigoUsuario, NombreUsuario, ApellidosUsuario )

Editorial ( CódigoEditorial, NombreEditorial, CiudadSedeEditorial)


NORMALIZACIÓN

También podría gustarte