Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion....

59
Catedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lec)vo 2017

Transcript of Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion....

Page 1: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

CatedradeBasedeDatosFacultaddeCienciasExactasyTecnología

UniversidadNacionaldeTucumán

CicloLec)vo2017

Page 2: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 3: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

Normalización– De3inicion

"Elprocesodenormalizaciónpermitequeunconjuntodetablas(queintegranuna

BasedeDatos)cumplaconunaseriedepropiedadesdeseables".

Sebuscaevitar:

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

RedundanciadeDatos

OcurrenciadeAnomalías

Perdidadeintegridaddelosdatos.

Page 4: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 5: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 6: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 7: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 8: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 9: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 10: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 11: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 12: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 13: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

AnomalíasdeInserción

Considerelasiguienterelación:

Cátedra:SistemasdeBasesdeDatosAvanzados

DepartamentoSistemasFacultadRegionalTucumán

UniversidadTecnológicaNacional

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

Page 14: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 15: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

AnomalíasdeEliminacionoBorrado

Considerelasiguienterelación:

Cátedra:SistemasdeBasesdeDatosAvanzados

DepartamentoSistemasFacultadRegionalTucumán

UniversidadTecnológicaNacional

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

Page 16: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 17: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

AnomalíasdeActualizaciónoModi3icacionConsiderelasiguienterelación:

Cátedra:SistemasdeBasesdeDatosAvanzados

DepartamentoSistemasFacultadRegionalTucumán

UniversidadTecnológicaNacional

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

Page 18: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 19: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 20: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 21: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 22: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 23: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

DependenciaFuncionalParcial

De=inicion:

“UnaXàYsedenominaparcialcuando,ademasexisteotradependencia

ZàY,siendoZunsubconjuntodeX”

Este tipodedependencias traenaparejadas repeticionde informacioncomo

seobservaenlaanomaliadeinsercionoactualizacion.

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

Page 24: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 25: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 26: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 27: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 28: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 29: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 30: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 31: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 32: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 33: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

PRIMERAFORMANORMAL

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

Page 34: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 35: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 36: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 37: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 38: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

PRIMERA FORMA NORMAL (PFN o 1FN)

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

Page 39: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

SEGUNDAFORMANORMAL

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

Page 40: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 41: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 42: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 43: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 44: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 45: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 46: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

TERCERAFORMANORMAL

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

Page 47: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 48: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 49: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 50: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 51: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 52: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 53: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 54: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

Compendio de Formas Normales

Integración de conocimientos adquiridos

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

Page 55: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 56: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 57: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

Bibliogra:ía

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS

Page 58: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

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

Page 59: Catedra de Base de Datos - Universidad Nacional de Tucumán · Unidad 5 – Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de

Sitio Web de la Cátedra http://catedras.facet.unt.edu.ar/bd

BasesdeDatos Mg.Ing.GustavoE.Juárez

BASES DE DATOS