Clase4

7
Clase 4 Normalizacion de tablas de Bases de datos

description

 

Transcript of Clase4

Page 1: Clase4

• Clase 4• Normalizacion de tablas

• de Bases de datos

Page 2: Clase4

• Clase 4 - Normalización de tablas de base de datos Atlantis University

Modalidad - OnlineLcda. Carol Puche

En este capítulo, aprenderá a:

4.1. Fundamentos de la normalización

• Loqueeslanormalizaciónyquépapeldesempeñaenelprocesodediseñodebasesde

datos.

• Sobrelasformasnormalizadas,1NF,2NF,BCNFy4NF

Lanormalizacióneselprocesodeorganizarlosdatosdeunabasededatos.Seincluyela

creacióndetablasyelestablecimientoderelacionesentreellassegúnreglasdiseñadastanto

paraprotegerlosdatoscomoparahacerquelabasededatosseamásflexiblealeliminarla

redundanciaylasdependenciasincoherentes.Losdatosredundantesdesperdicianelespaciode

discoycreanproblemasdemantenimiento.Sihayquecambiardatosqueexistenenmásdeun

lugar,sedebencambiardelamismaformaexactamenteentodassusubicaciones.Uncambioen

ladireccióndeunclienteesmuchomásfácildeimplementarsilosdatossólosealmacenanenla

tablaClientesynoenalgúnotrolugardelabasededatos.

¿Quéesuna“dependenciaincoherente”?Aunqueesintuitivoparaunusuariomirarenlatabla

Clientesparabuscarladireccióndeunclienteenparticular,puedenotenersentidomirarallíel

salariodelempleadoquellamaaesecliente.Elsalariodelempleadoestárelacionadoconel

empleado,odependedeél,yporlotantosedeberíapasaralatablaEmpleados.Las

dependenciasincoherentespuedendificultarelaccesoporquelarutaparaencontrarlosdatos

puedenoestaroestarinterrumpida.

Hayalgunasreglasenlanormalizacióndeunabasededatos.Cadareglasedenominauna

“formanormal”.Sisecumplelaprimeraregla,sedicequelabasededatosestáenla“primera

formanormal”.Sisecumplenlastresprimerasreglas,labasededatosseconsideraqueestáen

la“terceraformanormal”.Aunquesonposiblesotrosnivelesdenormalización,laterceraforma

normalseconsideraelmáximonivelnecesarioparalamayorpartedelasaplicaciones.

Page 3: Clase4

• Clase 4 - Normalización de tablas de base de datos Atlantis University

Modalidad - OnlineLcda. Carol Puche

4.2. Primera forma normal

Aligualqueconotrasmuchasreglasyespecificacionesformales,enlosescenariosrealesno

siempresecumplenlosestándaresdeformaperfecta.Engeneral,lanormalizaciónrequiere

tablasadicionalesyalgunosclientesconsideranésteuntrabajoconsiderable.Sidecideinfringir

unadelastresprimerasreglasdelanormalización,asegúresedequesuaplicaciónseanticipaa

losproblemasquepuedanaparecer,comolaexistenciadedatosredundantesydedependencias

incoherentes.Enlasdescripcionessiguientesseincluyenejemplos.

• Eliminelosgruposrepetidosdelastablasindividuales.

• Creeunatablaindependienteparacadaconjuntodedatosrelacionados.

• Identifiquecadaconjuntodedatosrelacionadosconunaclaveprincipal.

Nousevarioscamposenunasolatablaparaalmacenardatossimilares.Porejemplo,pararealizar

elseguimientodeunelementodelinventarioqueprovienededosorígenesposibles,unregistro

delinventariopuedecontenercamposparaelCódigodeproveedor1yparaelCódigode

proveedor2.

¿Quéocurrecuandoseagregauntercerproveedor?Agregaruncamponoeslarespuesta,

requieremodificacionesenlastablasyelprograma,ynoadmitefácilmenteunnúmerovariable

deproveedores.Ensulugar,coloquetodalainformacióndelosproveedoresenunatabla

independientedenominadaProveedoresydespuésvinculeelinventarioalosproveedorescon

elnúmerodeelementocomoclave,olosproveedoresalinventarioconelcódigodeproveedor

comoclave.

Page 4: Clase4

• Clase 4 - Normalización de tablas de base de datos Atlantis University

Modalidad - OnlineLcda. Carol Puche

• Creetablasindependientesparaconjuntosdevaloresqueseapliquenavariosregistros.

• Relacioneestastablasconunaclaveexterna.

Losregistrosnodebendependerdenadaquenoseaunaclaveprincipaldeunatabla,unaclave

compuestasiesnecesario.Porejemplo,considereladireccióndeunclienteenunsistemade

contabilidad.LadirecciónsenecesitaenlatablaClientes,perotambiénenlastablasPedidos,

Envíos,Facturas,CuentasporcobraryColecciones.Enlugardealmacenarladireccióndeun

clientecomounaentradaindependienteencadaunadeestastablas,almacénelaenunlugar,ya

seaenlatablaClientesoenunatablaDireccionesindependiente.

Elimine los campos que no dependan de la clave.

Losvaloresdeunregistroquenoseanpartedelaclavedeeseregistronopertenecenala

tabla.Engeneral,siemprequeelcontenidodeungrupodecampospuedaaplicarseamásde

unúnicoregistrodelatabla,considerecolocarestoscamposenunatablaindependiente.Por

ejemplo,enunatablaContratacióndeempleados,puedeincluirseelnombredelauniversidad

yladireccióndeuncandidato.Peronecesitalunalistacompletadeuniversidadesparaenviar

mensajesdecorreoelectrónicoengrupo.Silainformacióndelasuniversidadessealmacenaenla

tablaCandidatos,nohayformadeenumerarlasuniversidadesquenotengancandidatosenese

momento.CreeunatablaUniversidadesindependienteyvincúlelaalatablaCandidatosconel

códigodeuniversidadcomoclave.

4.3. Segunda forma normal

4.4. Tercera forma normal

Page 5: Clase4

• Clase 4 - Normalización de tablas de base de datos Atlantis University

Modalidad - OnlineLcda. Carol Puche

Lacuartaformanormal,tambiénllamadaFormanormaldeBoyceCodd(BCNF,BoyceCodd

NormalForm),ylaquintaformanormalexisten,peroraravezseconsideranenundiseñoreal.

Sinoseaplicanestasreglas,eldiseñodelabasededatospuedesermenosperfecto,perono

deberíaafectaralafuncionalidad.

EXCEPCIÓN: cumplirlaterceraformanormal,aunqueenteoríaesdeseable,nosiemprees

práctico.SitieneunatablaClientesydeseaeliminartodaslasdependenciasposiblesentrelos

campos,debecreartablasindependientesparalasciudades,códigospostales,representantes

deventa,clasesdeclientesycualquierotrofactorquepuedaestarduplicadoenvariosregistros.

Enteoría,lanormalizaciónmereceeltrabajoquesupone.Sinembargo,muchastablaspequeñas

puedendegradarelrendimientoosuperarlacapacidaddememoriaodearchivosabiertos.

Puedesermásfactibleaplicarlaterceraformanormalsóloalosdatosquecambiancon

frecuencia.Siquedanalgunoscamposdependientes,diseñelaaplicaciónparaquepidaal

usuarioquecompruebetodosloscamposrelacionadoscuandocambiealguno.

4.5.Otras formas de normalización

Page 6: Clase4

• Clase 4 - Normalización de tablas de base de datos Atlantis University

Modalidad - OnlineLcda. Carol Puche

Estos pasos demuestran el proceso de normalización de una tabla de alumnos ficticia.1.Tablasinnormalizar:

2.Primeraformanormal:nohaygruposrepetidos

Lastablassólodebentenerdosdimensiones.Puestoqueunalumnotienevariasclases,estas

clasesdebenaparecerenunatablaindependiente.LoscamposClase1,Clase2yClase3delos

registrosanterioressonindicativosdeunproblemadediseño.

Lashojasdecálculosuelenusarlaterceradimensión,perolastablasnodeberíanhacerlo.Otra

formadeconsiderareseproblemaesconunarelacióndeunoavariosyponerelladodeuno

yelladodevariosentablasdistintas.Ensulugar,creeotratablaenlaprimeraformanormal

eliminandoelgruporepetido(Nºclase),segúnsemuestraacontinuación:

4.6. Normalizar una tabla de ejemplo

Nºalumno Tutor Despacho-Tut Clase1 Clase2 Clase3

1022 García 412 101-07 143-01 159-02

4123 Díaz 216 201-01 211-02 214-01

Nºalumno Tutor Despacho-Tut Nºclase

1022 García 412 101-07

1022 García 412 143-01

1022 García 412 159-02

4123 Díaz 216 201-01

4123 Díaz 216 211-02

4123 Díaz 216 214-01

Page 7: Clase4

• Clase 4 - Normalización de tablas de base de datos Atlantis University

Modalidad - OnlineLcda. Carol Puche

3.Segundaformanormal:eliminarlosdatosredundantes

ObservelosdiversosvaloresdeNºclaseparacadavalordeNºalumnoenlatablaanterior.Nº

clasenodependefuncionalmentedeNºalumno(laclaveprincipal),demodoquelarelación

nocumplelasegundaformanormal.

Lasdostablassiguientesdemuestranlasegundaformanormal:

Alumnos:

4.Terceraformanormal:eliminarlosdatosnodependientesdelaclave

Enelúltimoejemplo,Despacho-Tut(elnúmerodedespachodeltutor)esfuncionalmente

dependientedelatributoTutor.LasoluciónespasareseatributodelatablaAlumnosalatabla

Personal,segúnsemuestraacontinuación:

Alumnos:

Registro:

Nombre Habitación Dept

García 412 42

Díaz 216 42

Nºalumno Nºclase

1022 101-07

1022 143-01

1022 159-02

4123 201-01

4123 211-02

4123 214-01

Nºalumno Tutor Despacho-Tut

1022 García 412

4123 Díaz 216

Nºalumno Tutor

1022 García

4123 Díaz

Personal: