Home Bases de Datos El Modelo Relacional Tercera Forma Normal

PostHeaderIcon Tercera Forma Normal

Usar puntuación: / 1
MaloBueno 

Una relación en tercera forma normal debe cumplir dos condiciones:

Está en 2ª FN y además cada atributo que no sea de la clave primaria no depende transitivamente de ningún otro campo que a su vez dependa de la clave primaria.  O dicho de otra manera, los atributos solamente dependen de la clave primaria.
Para eliminar que los atributos estén en una forma transitiva, se eliminan los atributos transitivos y se forma una nueva relación.

 

Veamos un ejemplo para pasar a 3ª FN:

COD_LIBRO

TÍTULO

EDITORIAL

PAÍS

154863014

Diseño de BD Relacionales

RAMA

España

156348917

Instalación y mantenimiento de equipos

MC Graw Hill

España

852152126

Fundamentos de programación

Santillana

España

972347885

Bases de Datos Orientadas  a Objetos

Thomson

Argentina

477965235

Diseño de BD Relacionales

Thomson

Argentina

456287128

Montaje y Mantenimiento de equipos

Mc Graw Hill

España

556874512

Fundamentos de Bases de Datos

RAMA

España

La definición de la tabla es la siguiente:

LIBRO:{(COD_LIBRO:Numérico), (TÍTULO: Texto),(EDITORIAL: Texto),(PAÍS: Texto)}

Aquí nos encontramos con que un libro tiene una editorial un país y un título. Según se observa en la tabla, el campo PAÍS depende del campo EDITORIAL (siempre que aparece un valor concreto en la editorial, aparece el mismo valor siempre en el país: RAMA - España, Mc Graw Hill - España, Thomson - Argentina... pero no se cruzan sus valores) y sin embargo, editorial no es la clave principal, por lo que depende de COD_LIBRO. Ésto es una dependencia transitiva.

Para solucionarlo separamos las editoriales en una tabla aparte de la siguiente manera:

LIBRO :{(TÍTULO: texto), (COD_LIBRO: numérico), (CA_COD_EDITORIAL: numérico)}

EDITORIAL :{(COD_EDITORIAL: numérico), (NOMBRE: texto), (PAÍS: texto)}

LIBRO --> COD_EDITORIAL --> EDITORIAL

Se le ha añadido a la tabla de la editorial un código de editorial

Veamos otro ejemplo

AÑO_DEL_TORNEO

GANADOR

FECH_NAC

EQUIPO

2008

Pedro Martín Fleitas

18-02-1975

Real Madrid

2009

Gabriel Sanz Sanz

31-03-1974

Atlético Madrid

2010

Javier Jiménez Pérez

30-01-1978

UD Las Palmas

2011

Ángel Díaz Lorenzo

03-05-1978

FC Barcelona

2012

Javier Jiménez Pérez

30-01-1978

UD Las Palmas

La solución aquí

 

Escribir un comentario


Código de seguridad
Refescar

PostHeaderIcon Más Comentado

PostHeaderIcon Últimos Comentarios

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterHoy273
mod_vvisit_counterAyer427
mod_vvisit_counterEsta semana273
mod_vvisit_counterLa semana pasada5382
mod_vvisit_counterEste mes15557
mod_vvisit_counterEl mes pasado29418
mod_vvisit_counterTodos los días1623193

We have: 40 guests, 2 bots online
Hoy es: Jun 18, 2018