CatedradeBasedeDatosFacultaddeCienciasExactasyTecnología
UniversidadNacionaldeTucumán
CicloLec)vo2017
Unidad5–Normalizacion.
Conceptosdenormalizaciónenlavinculacióny/orelacióndetablasycontenedoresde
basesdedatos.Normalización.FormasNormales.Anomalías.Tipi=icacióndeFormas
Normales.Estudiode1FN,2FN,3FNyFNdeBoyce-Codd.
ProgramaAnalíticodelaMateria
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Normalización– De3inicion
"Elprocesodenormalizaciónpermitequeunconjuntodetablas(queintegranuna
BasedeDatos)cumplaconunaseriedepropiedadesdeseables".
Sebuscaevitar:
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
RedundanciadeDatos
OcurrenciadeAnomalías
Perdidadeintegridaddelosdatos.
Normalización.Origendelconcepto
Lateoríadelmodelorelacionalyelprocesodenormalizaciónde lasBasesdeDatos,
fuedesarrolladoporEdgarFrankCoddensuspapers:
• “Arelationalmodelforlargeshareddatabanks”–ACM–1970.
• “Furthernormalizationofthedatabaserelationalmodel”–RUSTIN–1972.
En estos papers investiga, identi=ica las causas y de=ine las primeras tres “formas
normales”.
Comentario:
Unarelaciónesunaformanormalespecí=icasisatisfaceelconjuntoderequisitosorestriccionesparadicha
forma.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Normalización-Objetivos
• Desarrollar una “buena” descripción de los datos, sus relaciones y sus
restricciones.
• Identi=icarunconjunto“adecuado”derelaciones.
• MejorarelDiseñoLógico.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Normalización-Propósitos
• Producir un conjunto estable de relaciones que sea unmodelo 3iel de las
operacionesdelaempresa.
• Lograrundiseño3lexiblequepermitaextenderelmodelocuandosenecesite
representarnuevosatributos,conjuntosdeentidadesyrelaciones.
• Diseñar la base de datos fortaleciendo ciertos tipos de restricciones de
integridad.
• Reducirlaredundanciaenlasbasesdedatos,paraahorrarespacioyenposde
evitarinconsistenciasenlosdatos.
ABSTRACCION
ESCALABILIDAD
ANOMALIA
COMPLETITUD
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Normalización-Comentarios
Con el fin de corregir algunas redundancias y anomalías, EF Codd (1972) propuso tres
formas normales, 1FN, 2FN y 3FN, logrado tener pérdida menores a causa del proceso
de descomposición, (preservación de la dependencia) de la relación inicial universal
en relaciones más pequeñas, sobre la base de las dependencias funcionales (FDS).
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Normalización–EvolucióndelasFormasNormales
Poco después, Heath y Boyce y Codd (1974) identificaron algunas insuficiencias de la
definición de 3FN, por lo que redefinieron la 3FN y se le cambió el nombre Forma
Normal de BoyceCodd - FNBC.
Ronald Fagin (1977) fue el primero en describir la cuarta forma normal, 4NF, basado
en las dependencias multivaluadas - MVDS (Zaniolo, Fagin, Delobel), así como la quinta
forma normal, 5NF (Fagin, 1979) o forma normal de proyección-enlace (PJ / NF), la
cual se basa en unir dependencias (JDS).
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Normalización–TiposyModeladodeDatos
Dependencias Funcionales Es un tipo de relación entre atributos
Dependencias Multivaluadas Dos tuplas (A,m) donde A es un conjunto
y m es una Función de A
Inclusión Es la existencia de atributos en una tabla R, cuyos valores deben ser un subconjunto de valores de los
atributos correspondientes en la otra tabla S
Enlace / Join Una tabla de T está sujeta a una condición de
enlace (JOIN) si T siempre se puede recrear al unirse varias Tablas, cada una con un
subconjunto de los atributos de T
Problemas
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
AnomalíasDe=inición:
“Una anomalía es un estado inconsistente, incompleto o contradictorio
de la base de datos“(Ricardo).
Una tabla que cumple con unamínima de=inición de relación puede no tener una
estructurae=icazuapropiada.
Si hubiera anomalías presentes en la relación, esta sería incapaz de representar cierta
información, pudiendo perder información a partir de procesar actualizaciones,
corriendo el riesgo de que los datos se vuelvan inconsistentes.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Tipi3icacióndelasAnomalías
1. Anomalías de Inserción: ocurre cuando no se puede ingresar unaocurrenciahastaquesetengaunhechoadicionalacercadeotraentidad.
2. AnomalíasdeModi3icación:ocurrecuandosemodi=icaunvalor,ynose
veri=icanlosvaloresingresados,losque=inalmentesonconsolidadosenla
basededatos.UnaSoluciónaesteproblemaposibleesdividirlarelación
endosrelaciones.
3. Anomalías de Eliminación: ocurre cuando se elimina una tupla o unvalorespeci=ico,yestehechoafectaaotrasentidades.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
AnomalíasdeInserción
Suponerque lasiguientetablacontiene losdatos laboralesde losempleadosdeuna
organizacion:
EMPLEADOS=(idempleado,nombre,salario,fecha_ingreso,idedepto,nombre_depto)
Si se agregaunanuevo empleado, se debe indicar toda la informacion, quepara la
tablaejemploseriaDanaeLopezenelDptodeElectronicaycomputacion,locualsise
observagenerariacon=lictoconlosdatosanteriormentecargados.
Cátedra:SistemasdeBasesdeDatosAvanzados
DepartamentoSistemasFacultadRegionalTucumán
UniversidadTecnológicaNacional
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
AnomalíasdeInserción
Considerelasiguienterelación:
Cátedra:SistemasdeBasesdeDatosAvanzados
DepartamentoSistemasFacultadRegionalTucumán
UniversidadTecnológicaNacional
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
AnomalíasdeEliminacionoBorrado
De identica manera a lo que sucede con las anomalias de Insercion, cuando
eliminamosunatuplacuyainformacionnoesposiblederecuperar.
SiseeliminaalaempleadaKarenPoch,seeliminalainformaciondeldepartamento
donde trabaja, y dado que era la unica que alli trabajaba se pierde Ventas como
Departamentodelaorganización.
Cátedra:SistemasdeBasesdeDatosAvanzados
DepartamentoSistemasFacultadRegionalTucumán
UniversidadTecnológicaNacional
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
AnomalíasdeEliminacionoBorrado
Considerelasiguienterelación:
Cátedra:SistemasdeBasesdeDatosAvanzados
DepartamentoSistemasFacultadRegionalTucumán
UniversidadTecnológicaNacional
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
AnomalíasdeActualizaciónoModi3icacion
Suponiendo que el nombre del Departamento de Electronica y computacion pasa a
llamarse Departamento de Tecnologia. Este cambio deberia realizarse en todas
aquellastuplasen lascuales losempleadoscorrrespondenalviejoDepartamentode
Electronicaycomputacion,loqueimplicariacambiarvariosregistrosdelatabla.
De no realizarse este cambio en la totalidad de las tuplas para el departamento 2,
algunassellamarianconelnombreviejoyotrasconelnuevo.
Cátedra:SistemasdeBasesdeDatosAvanzados
DepartamentoSistemasFacultadRegionalTucumán
UniversidadTecnológicaNacional
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
AnomalíasdeActualizaciónoModi3icacionConsiderelasiguienterelación:
Cátedra:SistemasdeBasesdeDatosAvanzados
DepartamentoSistemasFacultadRegionalTucumán
UniversidadTecnológicaNacional
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Anomalías-Ejemplos
La tabla NewClass
Anomalía de actualización. Suponga que quiere cambiar el horario de ART103A a MWF12. Es
posible que pueda actualizar los dos primeros registros de la tabla NewClass, pero no el
tercero, lo que resulta en un estado inconsistente en la base de datos. Entonces sería imposible
decir el verdadero horario para dicha clase. Ésta es una anomalía de actualización.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Anomalías-Ejemplos
La tabla NewClass
Anomalía de inserción. Ocurre cuando intenta agregar información acerca de un curso para el cual
todavía no hay estudiantes registrados. Por ejemplo, suponga que crea una nueva clase, con valores
MTH110A, F110, MTuTh10, H225 para classNumber, facId, schedule y room. No es posible registrar la
información del curso, aun cuando tenga los valores para estos atributos. Dado que la clave es
{courseNo,stuId}, no tiene permiso para insertar un registro con un valor nulo para stuId. Puesto que no
tiene posibilidad de representar esta información de clase, tiene una anomalía de inserción.
MTH110A F110 MTUTH10 H225
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Anomalías-Ejemplos
La tabla NewClass
Anomalía de borrado. Cuando borra el registro del único estudiante que toma un curso
particular, ocurre una anomalía de borrado. Por ejemplo, si el estudiante S1001 se retira de
HST205A, perdería toda la información acerca de dicho curso. Sería deseable conservar la
información del curso, pero no puede hacerlo sin un stuId correspondiente. De igual modo, si un
estudiante abandona el único curso que toma, se pierde toda la información acerca de dicho
estudiante.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
DependenciasFuncionales
ElconceptodedependenciaFuncionalesunodelosmasimportantecuandose
diseñaelesquema=ísicodeunaBasedeDatos.
De=inición:
“UnaDependenciaFuncional(DF)representaunarestriccionentreatributosde
unamismatabladelabasededatos,enlacualsedicequeunatributoY
dependefuncionalmentedeatributoXcuandoparaunmismovalordel
atributoXsiempreseencuentraelmismovalorparaunatributoY¨.
XàYDeterminanteConsecuente
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
DependenciaFuncional-Ejemplo
DadalasiguientetablaALUMNOS:
ALUMNOS=(idealumno,nombre,direccion,tel,idcarrera)
SeestablecenlassiguientesDFapartirdelaclaveprimaria:
idalumnoàNombre
idalumnoàdireccion
idalumnoàtel
idalumnoàidcarrera
Sepuedeobservarquetodoslosatributosdependenfuncionalmentedesuclave
(idalumno) con lo cual podemos garantizar que dos tuplas distintas nunca
tendranelmismoidealumno.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
DependenciaFuncionalParcial
De=inicion:
“UnaXàYsedenominaparcialcuando,ademasexisteotradependencia
ZàY,siendoZunsubconjuntodeX”
Este tipodedependencias traenaparejadas repeticionde informacioncomo
seobservaenlaanomaliadeinsercionoactualizacion.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
DependenciaFuncionalParcial-Ejemplo
DadalasiguientetablaPEDIDOS:
PEDIDOS=(idpedido,idproducto,descripcionproducto,fechapedido,cantidad)
SeestablecenlassiguientesDFpartirdelaclaveprimaria:
Idpedido,idproductoàdescripcionproducto
Idpedido,idproductoàfechapedido
Idpedido,idproductoàcantidad
Peroademáspuedeobservarseque
Idproductoàdescripcionproducto
Idpedidoàfechapedido
EstasDFsedenominanparcialesydeterminanqueelprimerconjuntodeDFnosemínimo.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
DependenciaFuncionalTransitiva
De=inicion:
“UnaDFXàYsedenominatransitivacuandoexisteunatributoZ,talque
XàZyZàY”
EstetipodedependenciascontradiceladeAiniciondeconjuntominimodeDF,
y en este caso no cumple con la tercera propiedad: se puede quitar del
conjuntodeDFalgunadeellasyseguirteniendounconjuntoequivalente.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
DependenciaFuncionalTransitiva-Ejemplo
DadalasiguientetablaALUMNOS:
ALUMNOS=(idealumno,nombre,direccion,idcarrera,nombre_carrera)
SeestablecenlassiguientesDFpartirdelaclaveprimaria:
idalumnoàNombre
idalumnoàdireccion
idalumnoàidcarrera
idalumnoànombre_carrera
Pero además puede observarse que el nombre de una carrera depende del código de la
carreraencuestion:
idcarreraànombre_carrera
EstasDFsedenominanparcialesydeterminanqueelprimerconjuntodeDFnosemínimo.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
DependenciaFuncionalTransitiva-Ejemplo
DadalasiguientetablaVENTAINMUEBLE:
VENTAINMUEBLE= (Idinmueble, idpropietario, nombre_propietario, valor_inmueble,
idcomprador,nombre_comprador,idvendedor,comision_venta)
SepuedeobservarqueseestablecenlassiguientesDFpartirdelaclaveprimaria:
Idinmuebleàidpropietario,nombre_propietario,valor_inmueble,idcomprador,
nombre_comprador,idvendedor,comision_venta
PeroademáspuedeobservarsequeexistenotrasDF:
Idpropietarioànombre_comprador
Idcompradorànombre_comprador
Idvendedoràcomision_venta
CadaunadeestasDFesasuveztransitiva
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
FormasNormales
Lasrelacionessepuedenclasi=icarportipodeanomalíasdemodi=icaciónalas
cualessonvulnerables.
En la Década de 1970 los teóricos relacionales investigaron acerca de estos
tipos.Cuandoalgunoencontrabaunaanomalía,laclasi=icabaypensabaenuna
maneradeprevenirla, las cuales conel tiempoy luegode estudiarnumerosas
ocurrencias,recibieronelnombredeFormasNormales.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
FormasNormales
Tanto para el Análisis Conceptual como para el desarrollo del Modelo Lógico, es
necesarioconsiderarciertasespeci=icacionesquefaciliteneltrabajoconlasTablas.
Enestesentido,Sommerville(1988)dijo
"unbuendiseño,eslaclavedeunae3icienteingenieríadelsoftware.Un
softwarebiendiseñadoesfácildeaplicarymantener,ademásdeser
comprensibley3iable.Sistemasmaldiseñados,aunquepuedanfuncionar,serán
costososdemantener”.
.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
FormasNormales
Coddmediantelapublicacióndetrabajoscomo“Arelationalmodelforalargeshared
databanks”, y “Furthernormalizationof thedatabaserelationalmodel”,de=inió las
1FN,2FNy3FN(Primera,SegundayTerceraFormaNormal).
Más tarde, otros autores continuaron investigando los patrones de anomalías que
ocurríanenlasBasesdeDatosyespeci=icaronlassiguientesformasnormales:
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Marcohistóricodelasformasnormales
FormasNormales Definidapor
PrimeraFormaNormal(1NF)E.F.Codd(1970)C.J.Date(2003)
SegundaFormaNormal(2NF) E.F.Codd(1971)TerceraFormaNormal(3NF) E.F.Codd(1971)
FormaNormaldeBoyce-Codd(BCNF) RaymondF.BoyceandE.F.Codd(1974)
CuartaFormaNormal(4NF) RonaldFagin(1977)QuintaFormaNormal(5NF) RonaldFagin(1979)
FormaNormaldeDominioClave(DKNF) RonaldFagin(1981)
SextaFormaNormal(6NF) C.J.Date,HughDarwenyNikosLorentzos(2002)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
FormasNormales
Esposibleentendermejorelprocesodenormalizaciónmediante lautilizaciónde
conjuntos incluidos unos de otros, en donde las formas normales se encuentran
anidadasconunmismocentro.
El objetivo del diseño debe ser poner el
esquema en la forma normal más alta,
queesprácticayadecuadaparalosdatosen
labasededatos.
Lanormalizaciónrequieretenerenclarola
semánticadelmodelo.
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
PRIMERAFORMANORMAL
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Restricciones
Paraqueunatablaseaunarelacióndebecumplirconciertasrestricciones:
1. Lasceldasdebenserdeunvalorúnico.Nosepuedetenernirepetirgruposnitenerseriesencalidaddevalores.
2. Todaslasentradasenunamismacolumnadebenserdelmismotipo.
3. Cadacolumnatieneunnombreúnicoyelordenenlascolumnasenlatablanoesimportante.
4. Dosrenglonesenlatablanopuedenseridénticosyelordendelosrenglonesnotieneimportancia.
PRIMERA FORMA NORMAL (PFN o 1FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Para describir la primera forma normal se usará un contraejemplo. Si supone que a un
estudiante se le permite tener más de una especialidad, y se intenta almacenar
especialidades múltiples en el mismo campo del registro del estudiante, la tabla
NewStu puede parecerse a la que muestra la Figura.
Este ejemplo viola la definición de la primera forma normal. La pregunta es como corregimos la anomalia?
PRIMERA FORMA NORMAL (PFN o 1FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Definición 1FN:
“Una relación está en la primera forma normal (1FN) si y sólo si cada
atributo tiene valor sencillo para cada tupla”.
Esto significa que cada atributo en cada fila, o cada “celda” de la tabla, contiene sólo
un valor. Una forma alternativa de describir la primera forma normal es decir que los
dominios de los atributos de la relación son atómicos.
Esto significa que en el dominio no se permiten conjuntos,
listas, campos repetidos o grupos.
PRIMERA FORMA NORMAL (PFN o 1FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Los valores en el dominio deben ser valores únicos que no se puedan descomponer más.
En la Figura se ve la violación de esta regla en los registros de los estudiantes S1006 y
S1010, quienes ahora tienen dos valores mencionados para major.
PRIMERA FORMA NORMAL (PFN o 1FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
PRIMERA FORMA NORMAL (PFN o 1FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
SEGUNDAFORMANORMAL
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
De=inición:
“SiResunesquemaderelación,yAyBsonconjuntosdeatributosnovacíosenR,sedice
queBesfuncionalmentedependienteenAsiysólosicadavalordeAenRtieneasociado
exactamenteunvalordeBenR”
Estoseescribecomo:
queseleecomo“AdeterminafuncionalmenteaB”.
Unadependenciafuncionalesunaconexiónentreunoomásatributos.Porejemplosise
conoceelvalordeDNI,sein3iereunaconexiónconApellidooNombre.
A B
SEGUNDA FORMA NORMAL (SFN o 2FN)
→
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
DependenciafuncionalcompletaySegundaFormaNormal(SFNo2FN)
Para la relación que se muestra en la Figura, se tienen las siguientes dependencias
funcionales además de las triviales:
SEGUNDA FORMA NORMAL (SFN o 2FN)
{courseNo, stuId} → {stuLastName}
{courseNo, stuId} → {facId}
{courseNo, stuId} → {room} {courseNo, stuId} → {grade}
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Dado que no hay otra clave candidata, se elige {courseNo, stuId} para la clave primaria.
De nuevo, al ignorar las dependencias funcionales triviales, también se tienen las
dependencias funcionales
courseNo → facId courseNo → schedule
courseNo → room stuId → lastName
De modo que se encuentran atributos que son funcionalmente dependientes en la
combinación {courseNo, stuId}, pero también funcionalmente dependientes en un
subconjunto de dicha combinación. Se dice que tales atributos no son por completo dependientes funcionales de la
combinación.
SEGUNDA FORMA NORMAL (SFN o 2FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Definición 2FN:
“Una relación está en segunda forma normal (2FN) si y sólo si
está en primera forma normal y todos los atributos
no clave son completamente dependen completamente de la clave”.
Claro está, si una relación es 1FN y la clave consiste en un solo atributo, la relación es
automáticamente 2FN. Tiene que preocuparse por 2FN sólo cuando la clave sea
compuesta.
SEGUNDA FORMA NORMAL (SFN o 2FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
DependenciafuncionalcompletaySegundaFormaNormal(SFNo2FN)
Es importante notar que, cuando se usa esta notación menos formal, los atributos a la
derecha de la flecha se pueden “descomponer” y citar como DF separadas, pero los
atributos en el lado izquierdo deben permanecer unidos, pues es su combinación la que
es determinante. Las dependencias funcionales son
SEGUNDA FORMA NORMAL (SFN o 2FN)
courseNo → facId, schedule, room
stuId → lastName
courseNo,stuId → grade
facId, schedule, room, lastName
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Al usar proyección, se descompone la relación NewClass en el siguiente conjunto de
relaciones:
Register (courseNo, stuId, grade)
Stu (stuId, stuLastName)
Class2 (courseNo, facId, schedule, room)
.
SEGUNDA FORMA NORMAL (SFN o 2FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
TERCERAFORMANORMAL
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Aunque las relaciones de la segunda forma normal son mejores que las de la primera forma normal,
todavía pueden tener anomalías de actualización, inserción y borrado. Considere la siguiente
relación:
TERCERA NORMAL (TFN o 3FN)
La Figura muestra una instancia de
esta relación. Aquí, la única clave
candidata es stuId y se usará como la
clave primaria. Todo otro atributo de la
relación es funcionalmente dependiente
de la clave, así que se tiene la siguiente
dependencia funcional, entre otras:
stuId → credits
NewStudent (stuId, lastName, major, credits, status)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Sin embargo, dado que el número de créditos determina el status, también se tiene
credits → status
Por tanto, stuId de manera funcional determina status en dos formas, directa y
transitivamente, a través del atributo no clave status. Al usar transitividad se tiene
(stuId → credits) ∧ (credits →status)⇒ (stuId → status)
TERCERA NORMAL (TFN o 3FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Definición Dependencia Funcional Transitiva:
“Si A, B y C son atributos de la relación R, tales que A → B
y B → C, entonces C es transitivamente dependiente de A”.
Para la Tercera Forma Normal se quiere eliminar ciertas dependencias transitivas. Las
dependencias transitivas causan anomalías de inserción, borrado y actualización.
TERCERA NORMAL (TFN o 3FN)
A B→ C→ ---------------------→
Dependencia Transitiva
Dependencia Funcional
Dependencia Funcional
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Debido a estos problemas, es deseable remover las dependencias transitivas y crear un
conjunto de relaciones que satisfagan la siguiente definición.
Definición 3FN:
“Una relación está en tercera forma normal (3FN) si, siempre que
exista una dependencia funcional no trivial X → A,
entonces o X es una superclave o A es un miembro
de alguna clave candidata”.
TERCERA NORMAL (TFN o 3FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Las características de la tercera forma normal implican que cada atributo no clave
debe depender de la clave, toda la clave y nada más que la clave.
Al comprobar la tercera forma normal, se busca si algún atributo no clave candidata
(o grupo de atributos) es funcionalmente dependiente de otro atributo no clave (o
grupo).
Si existe tal dependencia funcional, se remueve de la relación el atributo
funcionalmente dependiente, y se le coloca en una nueva relación con su determinante.
El determinante puede permanecer en la relación original.
TERCERA NORMAL (TFN o 3FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
DependenciaTransitivayTerceraFormaNormal(TFNo3FN)
Para el ejemplo NewStudent, dado que la dependencia indeseable es
credits → status, y status no es parte de alguna clave candidata, se forma el conjunto
de relaciones:
NewStu2 (stuId, lastName, major, credits) Stats (credits, status)
TERCERA NORMAL (TFN o 3FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
De hecho, se puede decidir no almacenar status en la base de datos, y calcular el
status para aquellas vistas que la necesiten. En este caso, simplemente se elimina la
relación Status.
Este ejemplo no involucra múltiples claves candidatas. Si en la relación original se
tiene una segunda clave candidata, socialSecurityNumber, se tendría
socialSecurityNumber → status
TERCERA NORMAL (TFN o 3FN)
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Compendio de Formas Normales
Integración de conocimientos adquiridos
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Definición 1FN:
“Una relación está en la primera forma
normal (1FN) si y sólo si cada
atributo tiene valor sencillo para cada
tupla”.
Definición Dependencia Funcional:
“SiResunesquemaderelación,yAyB
sonconjuntosdeatributosnovacíosenR,sediceque
BesfuncionalmentedependienteenAsiysólosicada
valordeAenRtieneasociadoexactamenteunvalor
deBenR”.
Definición 2FN:
“Una relación está en segunda forma normal (2FN) si y sólo si
está en primera forma normal y todos los atributos
no clave son completamente dependientes funcionales sobre la clave”.
Compendio de Formas Normales
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Definición Dependencia Transitiva:
“Si A, B y C son atributos de la relación R, tales que A → B
y B → C, entonces C es transitivamente dependiente de A”.
Definición 3FN:
“Una relación está en tercera forma normal (3FN) si la relacion esta en
Segunda Forma Normal (2FN), siempre que
exista una dependencia funcional no trivial X → A,
entonces o X es una superclave o A es un miembro
de alguna clave candidata”.
Compendio de Formas Normales
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Bibliogra:ía
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Referencias
• Paper “A relational model for a large shared data banks”, E. F. Codd.
• Libro “Fundamentos de Bases de Datos”, Rovarini P., De La Vega H.
• Libro “Sistemas de Bases de Datos. Conceptos Fundamentales”, R. Elmasrhi – S.
Navathe. 2ª Edic. Edit . Addison – Wesley.
• Faculta de Ingeniería. Universidad de Talca (CHI).
http://ing.utalca.cl/~jperez/bd/documentos/al.pdf
• Introduccion a las Bases de Datos – Fundamentos y Diseño – R. Bertone, P Thomas.
Edit Prentice Hall, ISBN 978-097-615-136-8, 2011
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS
Sitio Web de la Cátedra http://catedras.facet.unt.edu.ar/bd
BasesdeDatos Mg.Ing.GustavoE.Juárez
BASES DE DATOS