SQL Server 2008 - 2012

download SQL Server 2008 - 2012

of 18

Transcript of SQL Server 2008 - 2012

  • 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&LTIMA$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