sql server 2008 - 2012
Post on 25-Feb-2018
229 Views
Preview:
TRANSCRIPT
-
7/25/2019 SQL Server 2008 - 2012
1/18
SQL SERVER 2008 - 2012Curso Terico-Prctico
-
7/25/2019 SQL Server 2008 - 2012
2/18
IMPLEMENTACION DE LABASE DE DATOS
-
7/25/2019 SQL Server 2008 - 2012
3/18
NomenclaturaTodas las tablas tend!n:
- Un identifcador de tipo enteroauto numrico. sta ser la claveprimaria.
La denominamos ID para poder
compatibiliar con el !rame"or#.Un indicador de ba$a l%icadenominado "LA#$MOSTRAR&ue admitir 0 % 1 como valores
' el re%istro es visible
( el re%istro se consideraeliminado
Para procesos internosutiliamos tambin el valor ))
-Un campo de ultima modifcacin*
donde se almacenar la !ec+a ,+ora en &ue un re%istro se dio dealta o +a sido modifcado. irvetambin para blo&uear l%icamenteun re%istro* llamada<IMA$MODI"ICACION
Un campo de usuario donde sealmacenar el usuario &ue reali elalta o modifcacin del re%istro*denominada &S&ARIO
Un campo &ue se utilia para
almacenar el / de transaccin del!rame"or# cuando el pro%ramarealia una accin sobre un re%istrodenominado IDT'
-
7/25/2019 SQL Server 2008 - 2012
4/18
Nomenclatura
Otas es(e)*+)a)*ones0l utiliar un campo comoclave !ornea o re!erenciaral id de otra tablautiliaremos el nombre
ID , NOMBRE TABLA
Tendremos una tabla de lo%por cada tabla a auditar*actualiada por un tri%%er.
Un dise1o tipo se observaen la si%uiente f%ura* lostipos de datos son los reales.
Nobe T*(o N.los
/ int N2TNULL
/3450/2 int NULL
N26758 varc+ar9';
NULL
0P8LL/2 varc+ar9';
N2TNULL
-
7/25/2019 SQL Server 2008 - 2012
5/18
ConsultasT-SQL
- Es el len/.ae .t*l*ado(aa eal*a las )ons.ltas enSQL see
- No es .n len/.ae est!ndaa.n3.e ).(le )on a*os
est!ndaes del SQL /en4*)o5Pe*te
Sele))*6n de datos A)t.al*a)*6n de
datos Inse)*6n de datos El**na)*6n de
datos
eleccin de datos e utilia la instruccin
SELECT
eleccin de un
con$unto de columnassobre un con$unto dedatos de una o variastablas.
Para ele%ir el con$untodedatos se utilia lae@presin "ROM
-
7/25/2019 SQL Server 2008 - 2012
6/18
ConsultasEleentos de .na )ons.lta
SELECT Inst.))*6n desele))*6n7 se *nd*)an las)ol.nas a obtene5
"ROM Es(e)*+)a el o*/en dedatos5
9ERE Cond*)*ones a a(l*)a5#RO&P B: Paa )ons.ltasa/.(adas se *nd*)an las)ol.nas a a/.(a5
9AVIN# De.ele (aa las
)ons.ltas a/.(adas aloeses(e)*+)os5
ORDER B: Ind*)a )oo se!el odena*ento de loses.ltados
El oden de ee).)*6n de.na )ons.lta se eal*a enel s*/.*ente oden;
"ROM
9ERE
#RO&P B:9AVIN#
SELECT
ORDER B:
-
7/25/2019 SQL Server 2008 - 2012
7/18
Consultas - Clausulas
"ROM-e debe especifcar elnombre de las tablas dedonde se obtendrn losdatos.Un SELECTcon "ROMdevuelve los datos de todaslas flas de una tabla.e puede especifcar un alias
para las tablasSELECT N26758* 0P8LL/2
"ROM P852N0 P
9ERE-e indica la e@presin l%ica parafltras las flas &ue sern devueltas.e devolvern a&uellas flas cu,ae@presin sea T5U8.e escribe
8L8CT C2LU6N0
-
7/25/2019 SQL Server 2008 - 2012
8/18
Consultas - Clausulas#RO&P B:-/evuelve los resultados a%rupados por lascolumnas &ue se eli$an como %rupo.
8$emplo
SELECT /N* H8059
-
7/25/2019 SQL Server 2008 - 2012
9/18
Consultas - Clausulas
9AVIN#- Con la clusula =0IN4* se puedeespecifcar un predicado para fltrar los%rupos en lu%ar de fltrado individuales
/ebido a &ue la clusula =0IN4 seprocesa despus de &ue las flas se
+an a%rupado* puede +acer re!erenciaa consultas a%re%adas
8L8CT /N*0N2*U690NC2N8;
-
7/25/2019 SQL Server 2008 - 2012
10/18
Consultas - ClausulasSELECT-irve para especifcar las columnas&ue devolvern las consultas.e pueden especifcar alias para lascolumnase pueden realiar operaciones sobre
las columnas* pero no sobre los alias.e pueden incluir !unciones como%etdate9;* substrin%*!unciones propias.0dmite consultas como columnase puede especifcar un alias para lastablas.
6ediante la clausula /TNCT sepueden i%norar valores duplicadosCon la clausula T2P* devolvemos unacierta cantidad de re%istros* los primeros9T2P;.
SELECTT2P9(';"ROM P852N0/evuelve los primeros ('re%istrosse%n la clave primaria.
SELECT DISTINCT 0P8LL/2"ROM P852N0
8l resultado sern todos los
apellidos &ue e@isten en la tabla.SELECT 0P8LL/2Q R D QN26758as0P8N26 *
-
7/25/2019 SQL Server 2008 - 2012
11/18
Consultas - ClausulasCOMP&TE-irve para calcular resultados en base a la consulta.
-e escribe siempre lue%o del order b,* &ue esobli%atorio.
S C26PUT8 0I4 V C2UNT V 60> V 6N V T/8I VT/8IP V I05 V I05P V U6 W 9 e@pression ; WS *...n X S 7H e@pression S *...n X X X
0I4 V C2UNT V 60> V 6N V T/8I V T/8IP V I05 VI05P V U6 son las !unciones de a%re%ado &ueadmiteNo e@iste para count9J;No se permite utiliar la palabra clave /TNCTPueden especifcarse cortes de control* utiliandomas de un compute 7H
8$emplo
8L8CT /N* C0NT30NC2N8* TP230NC2N
-
7/25/2019 SQL Server 2008 - 2012
12/18
Consultas - Clausulas
ORDER B:-/etermina como estarnordenados los resultados.
-e escribe al fnal de laconsulta0dmite orden ascendente ,descendentee puede dentro de la mismaconsulta ordenar por unaascendente , otra descendente
Puede especifcarse un ordensobre un campo &ue no estedentro del sele)tpero &ue!orme parte de la consulta
PREDICADOS :OPERADORESY* Y* ZY*Z*[Y*[*[ZNL\8
78TA88N- 0N/25N2T9;JQE-Q concatenacinY 0si%nacin
-
7/25/2019 SQL Server 2008 - 2012
13/18
Consultas - Clausulas
Pe)eden)*a de loso(eadoes
(- 9;
F- J* E*]
?- Q*- 9Positivo* ne%ativo*suma* resta* concatenacin;
O- Y* Y* ZY*Z*[Y*[*[ZComparacin
- N2T
- 0N/
G- 78TA88N* N* L\8* 25
M- Y 0si%nacin
IN
8l valor a fltrar puede ser cual&uiera de un setde valores.
8L8CT J
-
7/25/2019 SQL Server 2008 - 2012
14/18
Consultas - Clausulas
Ee(lo de )ons.ltaSELECTN26758 QD RQ0P8LL/2 as 0P8N26*/N
"ROMP852N0
9ERE
-
7/25/2019 SQL Server 2008 - 2012
15/18
Consultas ,,>aaaa?
EARSELECT EAR("EC$A!
0ONT$SELECT 0ONT$("EC$A!
ASELECT A("EC$A!
GETATE(!eue.e .a e*9a de. d@aATEASELECT ATEA(31"EC$A!
ATEI""SELECTATEI""(da#"EC$AESE"EC$A$ASTA!
ATE'ARTSELECT ATE'ART(,7nt912>1+>2+12!
-
7/25/2019 SQL Server 2008 - 2012
16/18
Consultas Iarios
CASE5559ENnstruccin condicionale aplica en el 8L8CT/evuelve una e@presin escalar.0cepta F modos
8valuando la e@presin8L8CT C08 S8@presionX
A=8N SIalor(X T=8N 5esultado(
A=8N SIalorFX T=8N 5esultadoF
8N/ 0 C06P2
-in evaluacin de e@presin
8L8CT C08A=8N C06P2(Z(' T=8N 5esultado(
A=8N C06P2((' T=8N 5esultadoF
8N/ 0 C06P2
Maneo de l*teales )on LI>EPermite bs&uedas de cadenas parcialesmediante patrones.
Utilia el ] como comodn para indicar &ue apartir de a+ o +asta a+ acepta cual&uier valor.
SELECT /N* 0P8LL/2
"ROM P852N0
9ERE 0P8LL/2 LI>ECD/evuelve a&uellas personas empiean con C.
8l comodn $
-
7/25/2019 SQL Server 2008 - 2012
17/18
Consultas IariosManeo de l*teales )on LI>EPermite bs&uedas de cadenas parciales mediantepatrones.
Utilia el ] como comodn para indicar &ue a partir dea+ o +asta a+ acepta cual&uier valor.
SELECT /N* 0P8LL/2
"ROM P852N0
9ERE 0P8LL/2 LI>ECD
/evuelve a&uellas personas empiean con C.
8l comodn $ E
SELECT /N* 0P8LL/2
"ROM P852N0
9ERE 0P8LL/2 L\8D32]D/evuelve a&uellos cu,o apellidocontiene una 2.
Una Slista de caracteresX como comodn
SELECT /N* 0P8LL/2
"ROM P852N0
9ERE 0P8LL/2 LI>EABCD
/evuelve a&uellas personas empiean con 0* 7 o C.
Una Slista de caracteres con ran%o X como comodnSELECT /N* 0P8LL/2
"ROM P852N0
9ERE 0P8LL/2 LI>EA-DD
/evuelve a&uellas personas empiean con 0* 7 *C o .
-
7/25/2019 SQL Server 2008 - 2012
18/18
REC&RSOS VIRT&ALESel a.la *t.al se en).entan los e).sos )o(leenta*os e?e*dosa )ea)*6n de bases de datos en SQL See
top related