12.07.2015 Views

Tema 5 - Dpto. Ciencias de la Computación e Inteligencia Artificial.

Tema 5 - Dpto. Ciencias de la Computación e Inteligencia Artificial.

Tema 5 - Dpto. Ciencias de la Computación e Inteligencia Artificial.

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Tema</strong> 5:Normalización en Bases da DatosAndrés Cordón FrancoDepartamento <strong>de</strong><strong>Ciencias</strong> <strong>de</strong> <strong>la</strong> Computación e <strong>Inteligencia</strong> <strong>Artificial</strong>UNIVERSIDAD DE SEVILLABases <strong>de</strong> DatosCurso 2005–061


Contenido:5.1 Introducción a <strong>la</strong> Teoría <strong>de</strong> <strong>la</strong> Normalizaciónen Bases <strong>de</strong> Datos5.2 Depen<strong>de</strong>ncias funcionales. Tipos: completa,transitiva, trivial, elemental5.3 Primera Forma Normal (1FN)5.4 Segunda Forma Normal (2FN)5.5 Tercera Forma Normal (3FN)5.6 Forma Normal <strong>de</strong> Boyce–Codd (FNBC)2


Re<strong>la</strong>ción ESCRIBE:Introducción:AUTOR PAÍS COD TÍTULO EDIT.Date, C. USA. 01 DB AdDate, C. USA 02 SQL(I) AdGardarin Chile 03 Mo<strong>de</strong>loER Ver<strong>la</strong>gGardarin Chile 04 SQL(II) ACMKim,W. China 04 SQL(II) ACMProblemas:1. Redundancia <strong>de</strong> datos2. Anomaĺıas <strong>de</strong> modificación <strong>de</strong> datos3. Anomaĺıas <strong>de</strong> inserción <strong>de</strong> datos4. Anomaĺıas <strong>de</strong> borrados <strong>de</strong> datosFormas normales(FN): conjunto <strong>de</strong> restriccionessobre tab<strong>la</strong>s que evitan problemas <strong>de</strong>redundancia y anomaĺıas <strong>de</strong> modificación, insercióny borrado <strong>de</strong> datos.3


Depen<strong>de</strong>ncias funcionales(I):R re<strong>la</strong>ción, X, Y subconjuntos <strong>de</strong> sus campos.(•) Y <strong>de</strong>pen<strong>de</strong> funcionalmente <strong>de</strong> X si cadavalor <strong>de</strong> X tiene asociado el mismo valor <strong>de</strong> Yen <strong>la</strong> re<strong>la</strong>ción R. Lo escribiremos: X → Y .X ≡ <strong>de</strong>terminante o implicanteY ≡campos implicadosEjemplo: Escribe(autor, pais, codigo, titulo, edit)autor → paiscodigo → titulo, editorialcod, autor → editorial, paisNota: Dado un valor <strong>de</strong> X, no tiene por qué serposible averiguar el valor <strong>de</strong> Y . Sólo se exigeque todas <strong>la</strong>s tup<strong>la</strong>s que aparezcan en <strong>la</strong> tab<strong>la</strong>R con el mismo valor para los campos <strong>de</strong> Xobligatoriamente tengan el mismo valor paralos campos <strong>de</strong> Y .4


Depen<strong>de</strong>ncias funcionales(II):(•) Depen<strong>de</strong>ncia funcional plena o completa:Y tiene <strong>de</strong>pen<strong>de</strong>ncia funcional plena o completa<strong>de</strong>l conjunto <strong>de</strong> campos X si <strong>de</strong>pen<strong>de</strong> funcionalmente<strong>de</strong> X, pero NO <strong>de</strong>pen<strong>de</strong> <strong>de</strong> ningúnsubconjunto propio <strong>de</strong> X.Ejemplo: EVAL(alumno, asignatura, nota)El campo nota <strong>de</strong> <strong>la</strong> re<strong>la</strong>ción EVAL tiene <strong>de</strong>pen<strong>de</strong>nciacompleta <strong>de</strong> alumno + asignatura.alumno, asignatura → notaalumno ↛ notaasignatura ↛ nota(•) Depen<strong>de</strong>ncia funcional trivial:X → Y es trivial si Y es un subconjunto <strong>de</strong> X.Ejemplo: autor, cod → autoralumno, asignatura, nota → nota5


Depen<strong>de</strong>ncias funcionales(III):(•) Depen<strong>de</strong>ncia funcional transitiva:Z tiene <strong>de</strong>pen<strong>de</strong>ncia funcional transitiva respecto<strong>de</strong> X a través <strong>de</strong> Y si se cumple:(i) X → Y , Y → Z, pero(ii) Y ↛ XEjemplo 1: LIBRO(isbn, editorial, pais, fecha)pais <strong>de</strong>pen<strong>de</strong> transitivamente <strong>de</strong> isbn, pues:isbn → editorialeditorial → paiseditorial ↛ isbnEjemplo 2: CORREO(usuario, DNI, pais)pais NO <strong>de</strong>pen<strong>de</strong> <strong>de</strong> manera transitiva <strong>de</strong> DNI,puesto que:DNI → usuariousuario → pais,usuario → DNIpero...Nota: DNI y usuario son campos equivalentes(lo escribiremos DNI ↔ usuario).6


Primera Forma Normal:Para estudira el grado <strong>de</strong> normalización <strong>de</strong> unare<strong>la</strong>ción R se parte <strong>de</strong>:1. Conjunto <strong>de</strong> <strong>la</strong>s <strong>de</strong>pen<strong>de</strong>ncias funcionaleselementales que aparecen en R, y2. Conjunto <strong>de</strong> todas <strong>la</strong>s c<strong>la</strong>ves candidatas.Definición:[Codd,1970] Una re<strong>la</strong>ción R está enprimera forma normal (1FN) si NO se admitenatributos multivaluados.Nota: Por <strong>la</strong> propia <strong>de</strong>finición <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong>datos re<strong>la</strong>cional, NO se admiten atributos multivaluados.En consecuencia, TODAS <strong>la</strong>s re<strong>la</strong>cionesque aparecen en el mo<strong>de</strong>lo <strong>de</strong> datosre<strong>la</strong>cional están en 1FN.8


Segunda Forma Normal(I):Definición: Un campo <strong>de</strong> R es principal sipertenece a alguna c<strong>la</strong>ve candidata <strong>de</strong> R.Ejemplo: LIBRO(isbn, codlibro, autor, edi, fecha)Campos principales: isbn, codlibro.Definición:[Codd,1970] R está en segunda formanormal (2FN) si:1. R está en 1FN, y2. cada campo NO principal <strong>de</strong> R tiene <strong>de</strong>pen<strong>de</strong>nciafuncional completa respecto <strong>de</strong>cada una <strong>de</strong> <strong>la</strong>s c<strong>la</strong>ves candidatas.Nota: Para <strong>de</strong>terminar si una re<strong>la</strong>ción está en2FN es necesario calcu<strong>la</strong>r previamente todassus c<strong>la</strong>ves candidatas.9


Segunda Forma Normal(II):Ejemplo: ESCRIBE(autor, pais, isbn, titulo, edit)La re<strong>la</strong>ción ESCRIBE no está en 2FN.C<strong>la</strong>ve candidata: (autor, isbn)autor, isbn → pais¡Pero <strong>la</strong> <strong>de</strong>pen<strong>de</strong>ncia no es completa!:autor → pais(•) ¿Cómo conseguir un conjunto <strong>de</strong> re<strong>la</strong>cionesequivalentes en 2FN?I<strong>de</strong>a: R1(autor, isbn), R2(autor, pais),R3(isbn, titulo, edit)Propiedad: Si todas <strong>la</strong>s c<strong>la</strong>ves candidatas <strong>de</strong>una re<strong>la</strong>ción son campos unitarios, dicha re<strong>la</strong>ciónestá en 2FN.10


Tercera Forma Normal:Definición:[Codd,1970] R está en tercera formanormal (3FN) si:1. R está en 2FN, y2. ningún campo NO principal <strong>de</strong>pen<strong>de</strong> transitivamente<strong>de</strong> una c<strong>la</strong>ve candidata.Ejemplo: SOCIO(dni, ciudad, pais, edad)La re<strong>la</strong>ción SOCIO no está en 3FN. El campono principal pais <strong>de</strong>pen<strong>de</strong> transitivamente <strong>de</strong> <strong>la</strong>c<strong>la</strong>ve dni (a través <strong>de</strong>l campo ciudad).(•) ¿Cómo conseguir un conjunto <strong>de</strong> re<strong>la</strong>cionesequivalentes en 3FN?I<strong>de</strong>a: R1(dni, ciudad, edad), R2(ciudad, pais)Propiedad: Si una re<strong>la</strong>ción tiene a lo sumo uncampo no principal, entonces está en 3FN.11


Forma Normal <strong>de</strong> Boyce-Codd(I):Recordar : Si X → Y , entonces X es el implicante<strong>de</strong> <strong>la</strong> <strong>de</strong>pen<strong>de</strong>ncia funcional.Definición:[Boyce–Codd,1974] R está en formanormal <strong>de</strong> Boyce–Codd (FNBC) si:1. R está en 2FN, y2. todo implicante <strong>de</strong> R es una c<strong>la</strong>ve candidata<strong>de</strong> <strong>la</strong> re<strong>la</strong>ción.Propiedad: Si R está en forma normal <strong>de</strong> Boyce–Codd, entones también está en 3FN.Dem: Si un campo no principal X <strong>de</strong>pen<strong>de</strong>transitivamente <strong>de</strong> una c<strong>la</strong>ve a través <strong>de</strong> uncampo Y , entones Y es un implicante <strong>de</strong> <strong>la</strong>re<strong>la</strong>ción que no actúa como c<strong>la</strong>ve candidata.12


Forma Normal <strong>de</strong> Boyce-Codd(II):Ejemplo: Re<strong>la</strong>ción EVALEVAL(dni, nombre, codalumno, asig, nota)La re<strong>la</strong>ción EVAL no está en FNBC.C<strong>la</strong>ves candidatas:(dni, codasig) y (codalumno, codasig)Se cumple que dni → nombre.Luego, dni es un implicante que NO funcionacomo calve <strong>de</strong> <strong>la</strong> re<strong>la</strong>ción EVAL.(•) ¿Cómo obtener un conjunto <strong>de</strong> re<strong>la</strong>cionesequivalentes en FNBC?I<strong>de</strong>a: R1(dni, codalumno, nombre),R2(dni, codasig, nota)Propiedad: Si R está en 3FN y sus c<strong>la</strong>ves candidatasNO se so<strong>la</strong>pan, entonces R tambiénestá en FNBC.13


Bibliografía:Concepción y diseño <strong>de</strong> bases <strong>de</strong> datos,Adoración <strong>de</strong> Miguel, Mario Piattini, RA–MA Editorial (1993)Apuntes <strong>de</strong> Ficheros y Bases <strong>de</strong> Datos,Merce<strong>de</strong>s Marqués, Universidad Jaume I enCastellón (2001)14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!