Académique Documents
Professionnel Documents
Culture Documents
Integridaddelosdatos
Captulo3
Trabajandocontablasyvistas
ITrmino2015
AseguraquelosdatosdentrodelaBDsean
fiablesyseadhierealmodelodenegocios.
MsC.DiegoCarrera,Ing.
dcarrera@espol.edu.ec
Adm-Prog-BD-SQL-Server
I Trmino 2015
Categorasdeintegridaddelosdatos
Integridaddedominio,seaseguraqueelvalorde
lascolumnassonlegales.
Seaseguraatravsdeltipodedatos,
restriccionesdellavefornea,camposNOT
NULLyreglas.
IntegridaddelaEntidad,seaseguraquecadafila
seaidentificadacomonica.
Seaseguraatravsderestriccionesdellave
nica,primariaypropiedaddeidentidad.
Adm-Prog-BD-SQL-Server
I Trmino 2015
Normalizacindebasededatos
Categorasdeintegridaddelosdatos
Integridadreferencial,seaseguraquelosdatos
seanconsistentesentrelastablasrelacionadas.
Seaseguraatravsdellaveprimariayfornea.
Integridaddefinicindeusuario,seaseguraque
losvaloresalmacenadosenlaBDtengan
consistenciayseanpartedelmodelodenegocio.
Seaseguraatravsdelmodelodelnegocio,
procedimientosytriggers
Adm-Prog-BD-SQL-Server
I Trmino 2015
DesventajadeNormalizacin
Eselprocesodeorganizardatosylabasededatos
queincluyecreacindetablasyestablecer
relacionesentrelastablas.
Ladesventajaesqueproducemuchastablas
connmerodecolumnasrelativamente
pequeo.
Eselprocesodeeliminarlaocurrenciade
redundanciadedatosenlaBD.
Espartedeunalgicadediseodeprocesosyselo
usaenBDOLTP.
Adm-Prog-BD-SQL-Server
5
I Trmino 2015
Adm-Prog-BD-SQL-Server
I Trmino 2015
12/06/2015
Casosdenormalizacin
Primeraforma
1NF:eliminagruposrepetitivos.
2NF:eliminadatosredundantes
3NF:eliminacolumnasquenodependansobrelallave
4NF:aislarmltiplesrelacionesindependientes
5NF:aislarsemnticamentelasrelacionesmltiples
relacionadas
Adm-Prog-BD-SQL-Server
I Trmino 2015
Ejemplo
Eliminelosgruposrepetidosdelastablas
individuales.
Creeunatablaoentidadindependientepara
cadaconjuntodedatosrelacionados.
Identifiquecadaconjuntodedatos
relacionadosconunaclaveprincipal.
Nousevarioscamposenunasolatablapara
almacenardatossimilares.
Adm-Prog-BD-SQL-Server
I Trmino 2015
2daformanormal
Casodeunproductoquepuedeserdel
proveedor1,proveedor2oN
2daaseguraquecadaatributodescribeala
entidad.
Espreferiblequesecreeunatabla
proveedor.
Creetablasindependientesparaconjuntosde
valoresqueseapliquenavariosregistros.
Relacioneestastablasconunaclaveexterna.
Losregistrosnodebendependerdenadaquenoseauna
claveprincipaldeunatabla.
Adm-Prog-BD-SQL-Server
I Trmino 2015
Ejemplo2daformanormal
3eraformanormal
LadireccinsenecesitaenlatablaClientes,
perotambinenlastablasPedidos,Envos,
Facturas,CuentasporcobraryColecciones.
Enlugardealmacenarladireccindeun
clientecomounaentradaindependienteen
cadaunadeestastablas,
Almacnelaenunlugar,yaseaenlatabla
ClientesoenunatablaDirecciones
independiente.
Adm-Prog-BD-SQL-Server
I Trmino 2015
Adm-Prog-BD-SQL-Server
I Trmino 2015
Verificalasdependenciastransitivas.
Elimineloscamposquenodependandela
clave.
Adm-Prog-BD-SQL-Server
I Trmino 2015
12/06/2015
EjemploNormalizacin
Desnormalizacin
EnunatablaContratacindeempleados,puedeincluirseelnombrede
launiversidadyladireccindeuncandidato.Peronecesitaunalista
completadeuniversidadesparaenviarmensajesdecorreoelectrnico
engrupo.
Silainformacindelasuniversidadessealmacenaenlatabla
Candidatos,nohayformadeenumerarlasuniversidadesquenotengan
candidatosenesemomento.CreeunatablaUniversidades
independienteyvinclelaalatablaCandidatosconelcdigode
universidadcomoclave.
Adm-Prog-BD-SQL-Server
I Trmino 2015
Restriccindellaveprimaria
Eslocontrariodenormalizacin.
Seusacuandocombinatablaspequeas
quecontienenatributosrelacionados.
AplicacionescomoOLAPseaplicala
desnormalizacin.
Adm-Prog-BD-SQL-Server
I Trmino 2015
Llavefornea
Lastablasusanunallaveprimaria,queesun
atributooconjuntodeatributosusadospara
identificarcomonicaunafila.
Unatablaslopuedetenerunallaveprimariayes
creadacomorestriccindellaveprimariayforzada
mediantelacreacindeunndicanicoenlas
columnasdellaveprimaria.
Esunacolumnaocombinacindecolumnasquesonusadas
paraestablecerenlacesentredatosdedostablas.
Lacolumnausadaparacrearlallaveprimarenotratablaes
usadocomollaveforneaypuedeserusadopara
referenciarlosdatosdenlamismatablaoenotra.
Puedeaceptarvaloresnulos,perosiestnulo,elprocesode
verificacinesomitido.
Lacolumnaquetienellaveprimarianopuede
aceptarvaloresnulos.
Adm-Prog-BD-SQL-Server
I Trmino 2015
Resumen
Creartabla
Llaveprimaria
Llavefornea
Restriccinunique
Uniqueindex
Trigger
Adm-Prog-BD-SQL-Server
I Trmino 2015
Adm-Prog-BD-SQL-Server
I Trmino 2015
Esunacoleccindefilasycolumnasqueson
usadosparaorganizarinformacinsobreuntema.
Cadafiladentrodetablacorrespondeaunregistro
ycontienevariasatributosquedescribenlafila.
Adm-Prog-BD-SQL-Server
I Trmino 2015
12/06/2015
Vistas
Procedimientos
Esunatablavirtualconformadapor
diferentescolumnasdeunaomastablas.
Adiferenciadelastablas,unavistaes
almacenadaenunaBDcomounaconsulta
deobjeto.
Unavistaesunobjetoqueobtienelosdatos
deunaomastablas
Adm-Prog-BD-SQL-Server
I Trmino 2015
Adm-Prog-BD-SQL-Server
I Trmino 2015
Funcionesdedefinicindeusuarios
(UDF)
EjemploStoredProcedures
IF(@QuantityOrdered<(SELECTQuantityOnHandFROM
InventoryWHEREPartID=@PartOrdered))
BEGIN
sentenciasSQLparaactualizartablasyprocesarorden
END
ELSE
BEGIN
selectsentenciapararecuperarelIDdeelementospara
sugerircomorepuestosalconsumidor.
END
Adm-Prog-BD-SQL-Server
I Trmino 2015
EsungrupodesentenciasTransactSQLque
hasidocompiladoyguardadoparaser
ejecutadovariasveces.
Parmetrospuedeserpasadosyentregado
deotroprocedimiento,entoncespuedeser
reusadoparadiferentesvalores.
Diferencias Procedimientosvs
funcionesUDF
(UDF)Sonrutinasquetomancerooms
parmetros,completaunaoperacinyretornael
resultadodelaoperacincomounvalor.
Sontrestiposdefunciones:
Escalar retornarunvalordedatosimple
Tablavalor:retornauntipodedatotabla
Sistema provistasporSQLServer,nopueden
sermodificadas
Adm-Prog-BD-SQL-Server
I Trmino 2015
Convenciones
Procedimientos
SellamanusandolasentenciaEXEC
NopuedehacerunJOINdeprocedimientos
Puedeserusadoparamodificarconfiguracionesde
SQLServer
PascalCase.Laprimeraletradelidentificador
ylaprimeraletradelasiguientepalabra
concatenada,debesermayscula.
EmployeeTable
FuncionesUDF
LlamadodentrodeunasentenciadeSQL
PuedehacerJOINdeUDF
Nopuedeserusadoparamodificarconfiguraciones
deSQLServer
SiempredetieneejecucionesdecdigodeTSQLsiel
errorocurre
camelCase.Laprimeraletradelidentificador
enminsculaylaprimealetradecada
palabrasubsecuente,debesermayscula
employeeTable
Adm-Prog-BD-SQL-Server
I Trmino 2015
Adm-Prog-BD-SQL-Server
I Trmino 2015
12/06/2015
Constrains
Checks
Adm-Prog-BD-SQL-Server
I Trmino 2015
GRACIAS!
MsC.DiegoCarrera
ProfesordelaMateria
Adm-Prog-BD-SQL-Server
I Trmino 2015
Adm-Prog-BD-SQL-Server
I Trmino 2015