BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

70
BASES DE DATOS 2020 (Código de Materia: ECF) Docentes: Mag. Ing. Gustavo E. Juarez Ing. Franco Menendez Ing. Cristian Lafuente

Transcript of BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Page 1: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

BASES DE DATOS 2020

(Código de Materia: ECF)

Docentes:

Mag. Ing. Gustavo E. Juarez Ing. Franco Menendez Ing. Cristian Lafuente

Page 2: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

UNIDAD V - PROGRAMA ANALITICO

Bases de Datos 2020 (Código de Materia: ECJ)

Page 3: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

ProgramaAnalíticodelaMateria

Bases de Datos 2020 (Código de Materia: ECJ)

Unidad5–Normalizacion.

Conceptosdenormalizaciónenlavinculacióny/orelacióndetablasycontenedoresde

basesdedatos.Normalización.FormasNormales.Anomalías.TipificacióndeFormas

Normales.Estudiode1FN,2FN,3FNyFNdeBoyce-Codd.

Page 4: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Parte I

Bases de Datos 2020 (Código de Materia: ECJ)

Page 5: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Bases de Datos 2020 (Código de Materia: ECJ)

Page 6: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Normalización

LateoríadelmodelorelacionalyelprocesodenormalizacióndelasBasesdeDatos,fue

desarrolladoporEdgarFrankCoddensuspapers:

• “Arelationalmodelforlargeshareddatabanks”–ACM–1970.

• “Furthernormalizationofthedatabaserelationalmodel”–RUSTIN–1972.

En estos papers investiga, identifica las causas y define las primeras tres “formas

normales”.

Comentario:

Una relación es una forma normal específica si satisface el conjunto de requisitos o

restriccionesparadichaforma.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 7: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Normalización

Introducción:

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).

Bases de Datos 2020 (Código de Materia: ECJ)

Page 8: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Normalización

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).

Bases de Datos 2020 (Código de Materia: ECJ)

Page 9: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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

Bases de Datos 2020 (Código de Materia: ECJ)

Page 10: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Normalización-Objetivos

• Desarrollar una “buena” descripción de los datos, sus relaciones y sus restricciones.

• Identificarunconjunto“adecuado”derelaciones.

• MejorarelDiseñoLógico.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 11: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Normalización-Propósitos

• Producir un conjunto estable de relaciones que sea unmodelo fiel de las

operacionesdelaempresa.

• Lograrundiseñoflexiblequepermitaextenderelmodelocuandosenecesite

representarnuevosatributos,conjuntosdeentidadesyrelaciones.

• Diseñar la base de datos fortaleciendo ciertos tipos de restricciones de

integridad.

• Reducirlaredundanciaenlasbasesdedatos,paraahorrarespacioyenposde

evitarinconsistenciasenlosdatos.

ABSTRACCION

ESCALABILIDAD

ANOMALIA

COMPLETITUD

Bases de Datos 2020 (Código de Materia: ECJ)

Page 12: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Anomalias

Bases de Datos 2020 (Código de Materia: ECJ)

Page 13: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Anomalías

Definición:

“Una anomalía es un estado inconsistente, incompleto o contradictorio

de la base de datos“(Ricardo).

Una tabla que cumple con unamínima definición de relación puede no tener una

estructuraeficazuapropiada.

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.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 14: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

TipificacióndelasAnomalías

1. Anomalías de Inserción: ocurre cuando no se puede ingresar una

ocurrenciahastaquesetengaunhechoadicionalacercadeotraentidad.

2. AnomalíasdeModificación:ocurrecuandosemodificaunvalor,ynose

verificanlosvaloresingresados,losquefinalmentesonconsolidadosenla

basededatos.UnaSoluciónaesteproblemaposibleesdividirlarelación

endosrelaciones.

3. Anomalías de Eliminación: ocurre cuando se elimina una tupla o un

valorespecifico,yestehechoafectaaotrasentidades.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 15: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Anomalíasdeinserción,actualizaciónyborrado

Considerelasiguienterelación:

NewClass (classNo, stuId, stuLastName, facId, schedule, room, grade)

Aclaraciones:

• Enesteejemplosesuponequesolamenteexisteunmiembrodelpersonaldocente

paracadaclase(estoes:nohayenseñanzaenequipo).

• Se supone que cada clase siempre tiene asignado el mismo salón.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 16: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Anomalíasdeinserción,actualizaciónyborrado

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.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 17: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Anomalíasdeinserción,actualizaciónyborrado

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

Bases de Datos 2020 (Código de Materia: ECJ)

Page 18: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Anomalíasdeinserción,actualizaciónyborrado

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.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 19: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Formas Normales

Bases de Datos 2020 (Código de Materia: ECJ)

Page 20: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

FormasNormalesCoddmediante la publicación de trabajos como “A relationalmodel for a large

shareddatabanks”,y“Furthernormalizationofthedatabaserelationalmodel”,

definiólas1FN,2FNy3FN(Primera,SegundayTerceraFormaNormal).

Mástarde,otrosautorescontinuaroninvestigandolospatronesdeanomalíasque

ocurríanenlasBasesdeDatosyespecificaronlassiguientesformasnormales:

Bases de Datos 2020 (Código de Materia: ECJ)

Page 21: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

FormasNormales

Lasrelacionessepuedenclasificarportipodeanomalíasdemodificaciónalas

cualessonvulnerables.

EnlaDécadade1970losteóricosrelacionalesinvestigaronacercadeestostipos.

Cuando alguno encontraba una anomalía, la clasificaba y pensaba en una

maneradeprevenirla, las cuales con el tiempo y luegode estudiarnumerosas

ocurrencias,recibieronelnombredeFormasNormales.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 22: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

FormasNormales

Tanto para el Análisis Conceptual como para el desarrollo del Modelo Lógico, es

necesarioconsiderarciertasespecificacionesquefaciliteneltrabajoconlasTablas.

Enestesentido,Sommerville(1988)dijo

"unbuendiseño,eslaclavedeunaeficienteingenieríadelsoftware.Unsoftware

biendiseñadoesfácildeaplicarymantener,ademásdesercomprensibley

fiable.Sistemasmaldiseñados,aunquepuedanfuncionar,seráncostososde

mantener”.

.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 23: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

FormasNormales-Definición

“Lanormalizacióneslatransformacióndelasvistasdeusuariocomplejasydel

almacéndedatosaunjuegodeestructurasdedatosmáspequeñasyestables.

Ademásdesermássimplesyestables,lasestructurasdedatossonmásfácilesde

mantenerqueotrasestructurasdedatos”.

(Kendall,2005)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 24: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

FormasNormalesParamejorareldesempeñodeunabasededatos,asícomoevitarredundanciaen

la información que contiene y, en consecuencia, generar condiciones para un

mejordiseño,elanalistadesistemasdebeconocerlasformasdenormalizacióny

condicionesenlasqueladesnormalizaciónesrecomendable.

El estudio de este tema te permitirá identificar las tres primeras reglas de

normalizacióndeestructurasdebasesdedatos(1FN,2FNy3FN),atravésdelos

pasosparanormalizar odesnormalizaruna, con el fin de implementarmejores

diseñosalasmismas.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 25: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

FormasNormales-DesnormalizacionLas reglas de normalización no consideran el rendimiento. En algunos casos es

necesarioconsiderarladesnormalizaciónparamejorarelrendimiento.

Definición

“Ladesnormalizaciónesladuplicaciónintencionadadecolumnasenvariastablas,lo

cualaumentalaredundanciadedatos”.

VentajadeunamayorvelocidaddeprocesamientoVSDesventajadedatosanómalos.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 26: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

MARCOHISTORICODELASFORMASNORMALES

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 27: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

FormasNormalesEsposibleentendermejorelprocesodenormalizació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.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 28: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

FormasNormalesCoronel, Morris y Rob (2011) refieren que la normalización es utilizada en

diferentesmomentos:

Nueva estructura1. Cuando diseñan una

nueva estructura de bases

de datos fundamentada en

l a s n e c e s i d a d e s d e

negoc ios de usuar ios

finales.

Análisis de relaciones entre atributos

2. Después de que el diseño inicial está completo, el diseñador puede usar normalización para analizar las relaciones que existen entre los atributos dentro de cada entidad, para determinar si la estructura se puede mejorar por medio de normalización.

Mejora en el Diseño3. Por medio de un análisis de relaciones entre los atributos o campos de la estructura de datos, el diseñador puede usar el proceso de normalización para mejorarla, a fin de crear un diseño apropiado de bases de datos.

Modificación de Estructura

4. Para diseñar una nueva estructura de datos o modificar una ya existente, el proceso de normalización es el mismo.

Bases de Datos 2020 (Código de Materia: ECJ)

Page 29: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

PRIMERA FORMA NORMAL

Bases de Datos 2020 (Código de Materia: ECJ)

Page 30: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Restricciones

Paraqueunatablaseaunarelacióndebecumplirconciertasrestricciones:

1. Lasceldasdebenserdeunvalorúnico.Nosepuedetenernirepetirgrupos

nitenerseriesencalidaddevalores.

2. Todaslasentradasenunamismacolumnadebenserdelmismotipo.

3. Cadacolumnatieneunnombreúnicoyelordenenlascolumnasenlatabla

noesimportante.

4. Dosrenglonesenlatablanopuedenseridénticosyelordendelosrenglones

notieneimportancia.

PRIMERA FORMA NORMAL (PFN o 1FN)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 31: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 32: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 33: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 34: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

PRIMERA FORMA NORMAL (PFN o 1FN)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 35: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

SEGUNDA FORMA NORMAL

Bases de Datos 2020 (Código de Materia: ECJ)

Page 36: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Definición:

“SiResunesquemaderelación,yAyBsonconjuntosdeatributosnovacíosenR,sedice

queBesfuncionalmentedependienteenAsiysólosicadavalordeAenRtieneasociado

exactamenteunvalordeBenR”

Estoseescribecomo:

queseleecomo“AdeterminafuncionalmenteaB”.

Unadependenciafuncionalesunaconexiónentreunoomásatributos.Porejemplosise

conoceelvalordeDNI,seinfiereunaconexiónconApellidooNombre.

A B

SEGUNDA FORMA NORMAL (SFN o 2FN)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 37: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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}

Bases de Datos 2020 (Código de Materia: ECJ)

Page 38: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 39: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 40: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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

Bases de Datos 2020 (Código de Materia: ECJ)

Page 41: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 42: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

TERCERA FORMA NORMAL

Bases de Datos 2020 (Código de Materia: ECJ)

Page 43: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 44: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 45: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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

Bases de Datos 2020 (Código de Materia: ECJ)

Page 46: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 47: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 48: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 49: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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)

Bases de Datos 2020 (Código de Materia: ECJ)

Page 50: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Formas Normales

Integración de conocimientos adquiridos

BasesdeDatos Mg.Ing.GustavoE.Juárez

Bases de Datos 2020 (Código de Materia: ECJ)

Page 51: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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

Bases de Datos 2020 (Código de Materia: ECJ)

Page 52: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

• La normalización es una técnica utilizada para diseñar tablas en las que las

redundancias de datos se reducen al mínimo.

• Las primeras tres formas normales (1FN, 2FN y 3FN) son las más utilizadas. Desde un

punto de vista estructural, las formas de mayor nivel son mejores que las de menor

nivel, porque aquellas producen relativamente pocas redundancias de datos en la base

de datos.

• En otras palabras, 3FN es mejor que 2FN y ésta, a su vez, es mejor que 1FN. Casi todos

los diseños de negocios utilizan la 3FN como forma ideal.“Una relación está en la

primera forma normal (1FN) si y sólo si cada

Conclusiones

Bases de Datos 2020 (Código de Materia: ECJ)

Page 53: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

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

Bases de Datos 2020 (Código de Materia: ECJ)

Page 54: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Formas Normales

Resolución Practica de Anomalías de 1FN, 2FN y 3FN

Bases de Datos 2020 (Código de Materia: ECJ)

Page 55: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

ID ApellidoyNombre Puesto/Cargo Sueldo Emails

1 KroenkeDavid JefedeArea 300,000 [email protected],[email protected]

2 AmblerCarol Administrativo 150,000 [email protected]

3 RiveroEnrique Vendedor 30,000 [email protected],[email protected]

Primera Forma Normal:

Sus atributos contienen valores atómicos, lo que quiere decir que sus valores deben ser

indivisibles

Normalizacion de Primera Forma Normal de la Tabla EMPLEADO

1.- Eliminar el atributo Emails.

2.- Crear un atributo Email, el cual deberá contener datos indivisibles y será Indice

Bases de Datos 2020 (Código de Materia: ECJ)

Page 56: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

ID(Pk) ApellidoyNombre Puesto/Cargo Sueldo Email(Pk)

1 KroenkeDavid JefedeArea 300,000 [email protected]

2 AmblerCarol Administrativo 150,000 [email protected]

3 RiveroEnrique Vendedor 30,000 [email protected]

1 KroenkeDavid JefedeArea 300,000 [email protected]

3 RiveroEnrique Vendedor 30,000 [email protected]

Normalizacion de Primera Forma Normal de la Tabla EMPLEADO

1.- Eliminar el atributo Emails.

2.- Crear un atributo Email, el cual deberá contener datos indivisibles y será Indice

EMPLEADO

Bases de Datos 2020 (Código de Materia: ECJ)

Page 57: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

ID(Pk) ApellidoyNombre Puesto/Cargo Sueldo

1 KroenkeDavid JefedeArea 300,000

2 AmblerCarol Administrativo 150,000

3 RiveroEnrique Vendedor 30,000

1 KroenkeDavid JefedeArea 300,000

3 RiveroEnrique Vendedor 30,000

Normalizacion de Primera Forma Normal de la Tabla EMPLEADO

3.- Crear una nueva Tabla EMPLEADOS_B, sin los datos de Email. Se debe normalizar las

Tablas resultantes.

EMPLEADOS_A

Bases de Datos 2020 (Código de Materia: ECJ)

Page 58: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

ID Email(Pk)

1 [email protected]

2 [email protected]

3 [email protected]

1 [email protected]

3 [email protected]

Normalizacion de Primera Forma Normal de la Tabla EMPLEADO

4.- Crear una nueva Tabla EMAIL_B.

EMAIL_B

Bases de Datos 2020 (Código de Materia: ECJ)

Page 59: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

ID(Pk) ApellidoyNombre Puesto/Cargo Sueldo

1 KroenkeDavid JefedeArea 300,000

2 AmblerCarol Administrativo 150,000

3 RiveroEnrique Vendedor 30,000

ID Email(Pk)

1 [email protected]

2 [email protected]

3 [email protected]

1 [email protected]

3 [email protected]

EMPLEADO_B

EMAIL_B

TABLAS NORMALIZADAS

Bases de Datos 2020 (Código de Materia: ECJ)

Page 60: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

Segunda Forma Normal:

1.- Esta en 1FN

2.- Todos los atributos que no son clave primaria tienen dependencia funcional completa con

respecto a todas las claves existentes en el esquema. Para recuperar un atributo no clave, se

necesita acceder por la clave completa, no por una subclave

3.- Las 2FN aplican a las relaciones con claves primarias compuestas por dos o más atributos

Bases de Datos 2020 (Código de Materia: ECJ)

Page 61: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

ID(Pk) ApellidoyNombre Puesto/Cargo Sueldo Email(Pk)

1 KroenkeDavid JefedeArea 300,000 [email protected]

2 AmblerCarol Administrativo 150,000 [email protected]

3 RiveroEnrique Vendedor 30,000 [email protected]

1 KroenkeDavid JefedeArea 300,000 [email protected]

3 RiveroEnrique Vendedor 30,000 [email protected]

Normalizacion de Segunda Forma Normal de la Tabla EMPLEADO

ID —— > Apellido y Nombre, Puesto/Cargo, Sueldo

Email —— > Apellido y Nombre

Se detecta una Dependencia Funcional

Bases de Datos 2020 (Código de Materia: ECJ)

Page 62: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

ID(Pk) ApellidoyNombre Puesto/Cargo Sueldo

1 KroenkeDavid JefedeArea 300,000

2 AmblerCarol Administrativo 150,000

3 RiveroEnrique Vendedor 30,000

1 KroenkeDavid JefedeArea 300,000

3 RiveroEnrique Vendedor 30,000

Normalizacion de Segunda Forma Normal de la Tabla EMPLEADO

1.- Eliminar los atributos con Dependencias Funcionales incompletas, y Normalizar a 1FN.

2.- Crear una nueva Tabla con los atributos y la clave de la que depende.

ID Email(Pk)

1 [email protected]

2 [email protected]

3 [email protected]

1 [email protected]

3 [email protected]

EMPLEADO_A EMAIL_B

Bases de Datos 2020 (Código de Materia: ECJ)

Page 63: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

ID(Pk) ApellidoyNombre Puesto/Cargo Sueldo

1 KroenkeDavid JefedeArea 300,000

2 AmblerCarol Administrativo 150,000

3 RiveroEnrique Vendedor 30,000

Normalizacion de Segunda Forma Normal de la Tabla EMPLEADO_A

1.- Eliminar los atributos con dependencias incompletas.

2.- Crear nueva Tabla con los atributos y la clave de la que realmente dependen.

ID Email(Pk)

1 [email protected]

2 [email protected]

3 [email protected]

1 [email protected]

3 [email protected]_B

EMAIL_B

TABLAS NORMALIZADAS

Bases de Datos 2020 (Código de Materia: ECJ)

Page 64: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

Tercera Forma Normal:

1.- Esta en 2FN

2.- Todos los atributos que no son clave primaria no dependen transitivamente de ésta

Bases de Datos 2020 (Código de Materia: ECJ)

Page 65: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

ID ApellidoyNombre Puesto/Cargo Sueldo

1 KroenkeDavid JefedeArea 300,000

2 AmblerCarol Administrativo 150,000

3 RiveroEnrique Vendedor 30,000

Normalizacion de Tercera Forma Normal de la Tabla EMPLEADO_B

ID —— > Puesto/Cargo

Puesto —— > Sueldo

Se detecta una Dependencia Transitiva

EMPLEADO_B

Bases de Datos 2020 (Código de Materia: ECJ)

Page 66: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

ID ApellidoyNombre Puesto/Cargo Sueldo

1 KroenkeDavid JefedeArea 300,000

2 AmblerCarol Administrativo 150,000

3 RiveroEnrique Vendedor 30,000

Normalizacion de Tercera Forma Normal de la Tabla EMPLEADO_B

1.- Separar en una tabla adicional los atributos que tienen dependencia transitiva con la clave

(Sueldo)

2.- Establecer como Pk el campo que define la transitividad (Puesto/Cargo)

EMPLEADO_B

Bases de Datos 2020 (Código de Materia: ECJ)

Page 67: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Compendio de Aplicación de Formas Normales

Puesto/Cargo(Pk) Sueldo

JefedeArea 300,000

Administrativo 150,000

Vendedor 30,000

ID ApellidoyNombre Puesto/Cargo+(Fk)

1 KroenkeDavid JefedeArea

2 AmblerCarol Administrativo

3 RiveroEnrique Vendedor

Normalizacion de Tercera Forma Normal de la Tabla EMPLEADO_C

3.- Se añade el campo «Puesto/Cargo» como Foreign Key:

EMPLEADO_CPUESTO/CARGO_B

Bases de Datos 2020 (Código de Materia: ECJ)

Page 68: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

Bibliografía

Bases de Datos 2020 (Código de Materia: ECJ)

Page 69: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

BibliográficasPrincipal

Bases de Datos 2020 (Código de Materia: ECJ)

• Paper “A relational model for a large shared data banks”, E. F. Codd.

https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf

• 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.

• Administración de Bases de Datos. Michael Mannino. 3a. Ed.

http://anyflip.com/vede/bmji

• Faculta de Ingeniería. Universidad de Talca (CHI).

http://ing.utalca.cl/~jperez/bd/documentos/al.pdf

Page 70: BASES DE DATOS 2020 - Sitios de las cátedras Facultad de Ci

http://catedras.facet.unt.edu.ar/bd/

https://classroom.google.com/ Código de Clase: lcuklge

https://meet.google.com/iqc-hmvt-zbu

https://www.facebook.com/liafacet/

Bases de Datos 2020 (Código de Materia: ECJ)

TEORIA

PRACTICA https://meet.google.com/crt-defa-mto