Vous êtes sur la page 1sur 5

12/06/2015

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

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Normalizacindebasededatos

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Categorasdeintegridaddelosdatos
Integridadreferencial,seaseguraquelosdatos
seanconsistentesentrelastablasrelacionadas.
Seaseguraatravsdellaveprimariayfornea.
Integridaddefinicindeusuario,seaseguraque
losvaloresalmacenadosenlaBDtengan
consistenciayseanpartedelmodelodenegocio.
Seaseguraatravsdelmodelodelnegocio,
procedimientosytriggers
Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

DesventajadeNormalizacin

Eselprocesodeorganizardatosylabasededatos
queincluyecreacindetablasyestablecer
relacionesentrelastablas.

Ladesventajaesqueproducemuchastablas
connmerodecolumnasrelativamente
pequeo.

Eselprocesodeeliminarlaocurrenciade
redundanciadedatosenlaBD.
Espartedeunalgicadediseodeprocesosyselo
usaenBDOLTP.
Adm-Prog-BD-SQL-Server
5
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

12/06/2015

Casosdenormalizacin

Primeraforma

1NF:eliminagruposrepetitivos.
2NF:eliminadatosredundantes
3NF:eliminacolumnasquenodependansobrelallave
4NF:aislarmltiplesrelacionesindependientes
5NF:aislarsemnticamentelasrelacionesmltiples
relacionadas
Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Ejemplo

Eliminelosgruposrepetidosdelastablas
individuales.
Creeunatablaoentidadindependientepara
cadaconjuntodedatosrelacionados.
Identifiquecadaconjuntodedatos
relacionadosconunaclaveprincipal.
Nousevarioscamposenunasolatablapara
almacenardatossimilares.
Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

2daformanormal

Casodeunproductoquepuedeserdel
proveedor1,proveedor2oN

2daaseguraquecadaatributodescribeala
entidad.

Espreferiblequesecreeunatabla
proveedor.

Creetablasindependientesparaconjuntosde
valoresqueseapliquenavariosregistros.
Relacioneestastablasconunaclaveexterna.
Losregistrosnodebendependerdenadaquenoseauna
claveprincipaldeunatabla.

Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Ejemplo2daformanormal

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

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

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Verificalasdependenciastransitivas.
Elimineloscamposquenodependandela
clave.

Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

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

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Restriccindellaveprimaria

Eslocontrariodenormalizacin.
Seusacuandocombinatablaspequeas
quecontienenatributosrelacionados.
AplicacionescomoOLAPseaplicala
desnormalizacin.

Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

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

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Resumen

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

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.

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

12/06/2015

Vistas

Procedimientos

Esunatablavirtualconformadapor
diferentescolumnasdeunaomastablas.
Adiferenciadelastablas,unavistaes
almacenadaenunaBDcomounaconsulta
deobjeto.
Unavistaesunobjetoqueobtienelosdatos
deunaomastablas
Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

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.

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

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

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

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

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

12/06/2015

Constrains

Checks

Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

GRACIAS!
MsC.DiegoCarrera
ProfesordelaMateria

Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Adm-Prog-BD-SQL-Server
I Trmino 2015

MsC. Diego Carrera, Ing.


dcarrera@espol.edu.ec

Vous aimerez peut-être aussi