sentencias dml.ppt

Upload: angel-huerta-robles

Post on 06-Jul-2018

257 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Sentencias DML.ppt

    1/46

    Ing. Marcos Montesinos

    Elaboración desentencias SQL y

    Diccionario de Datos

    Ing. Marcos Montesinos Yarlequé([email protected] )

  • 8/17/2019 Sentencias DML.ppt

    2/46

    Ing. Marcos Montesinos

    Logro de la Sesión

    Al término de la unidad, el alumno desarrolla consultasque obtienen la información solicitada, utilizando el

    diccionario de datos y las principales vistas de la Metadatade la Base de Datos Oracle utilizando las mejores prácticasen la elaboración de sentencias !"#

  • 8/17/2019 Sentencias DML.ppt

    3/46

    Ing. Marcos Montesinos

    Temario

    2.1. Tema 2: Elaboración de Sentencias SQL• 2.1.1. Introducción a SQL

    • 2.1.2. Instrucciones DML y o eradores• 2.1.!. "onsultando dos o m#s tablas• 2.1.$. %unciones rede&inidas

    2.2. Tema !: Diccionario de Datos• 2.2.1 Introducción al Diccionario de Datos• 2.2.2 Estructura del Diccionario• 2.2.! 'so del Diccionario de Datos

  • 8/17/2019 Sentencias DML.ppt

    4/46

    Ing. Marcos Montesinos

    La (istoria de SQL em ie)a en 1*+$, cuando un gru ode I-M desarrolló un lengua e ara la es eci&icación delas caracter/sticas de las bases de datos 0ueado taban el modelo relacional. Este lengua e sellamaba SEQ'EL Structured Englis( Query Language .

    Sin embargo, &ue 345"LE 0uien lo introdu o orrimera 6e) en 1*+* en un rograma comercial.

    El SEQ'EL terminar/a siendo el antecesor del SQL. En1*78 es estandari)ado or el 59SI, dando lugar a la

    rimera 6ersión est#ndar de este lengua e, el SQL 78. 5l a;o siguiente, en 1*7+, este est#ndar es tambi

  • 8/17/2019 Sentencias DML.ppt

    5/46

    Ing. Marcos Montesinos

  • 8/17/2019 Sentencias DML.ppt

    6/46

    Ing. Marcos Montesinos

    "ategorias

    DML DDL TC DCL

    S L CTI!S "T#$D%TD L T

    C" %T%LT "D"&$" !%MT"#!C%T

    C&MMIT"&LL'%CS% $&I!T

    *"%!T" &

  • 8/17/2019 Sentencias DML.ppt

    7/46Ing. Marcos Montesinos

    La mayor/a de sentencias SQL tienen la misma estructura.Todas comien)an or un 6erbo select, insert, u date, create , acontinuación le sigue una o m#s clausulas 0ue nos dicen los datoscon los 0ue 6amos a o erar &rom, =(ere , algunas de estas sono cionales y otras obligatorias como es el caso del &rom.

    "om onentes Sint#cticos

  • 8/17/2019 Sentencias DML.ppt

    8/46Ing. Marcos Montesinos

    3tras "ondiciones de "om aración

    3 erador

    BETWEEN...AND...

    IN(set)

    LIKE

    IS NULL

    Signi&icado

    Entre dos 6alores ambos inclusi6e ,

    "oincide con cual0uiera de una lista de 6alores

    "oincide con un atrón de caracteres

    Es un 6alor nulo

  • 8/17/2019 Sentencias DML.ppt

    9/46Ing. Marcos Montesinos

    "ondiciones Lógicas

    3 erador

    AND

    OR

    NOT

    Signi&icado

    De6uel6e TRUE si las dos condicionescom onentes son 6erdaderas

    De6uel6e TRUE si alguna de lascondiciones com onentes es 6erdadera

    De6uel6e TRUE si la siguientecondición es &alsa

  • 8/17/2019 Sentencias DML.ppt

    10/46Ing. Marcos Montesinos

    SELECT ename, job, salFRO em!W"ERE job # $SALES AN$OR job # $ ANA%ER$AND sal & ' *

    4eglas de >rioridad

    SELECT ename, job, sal

    FRO em!W"ERE ( job # $SALES AN$OR job # $ ANA%ER$ )AND sal & ' *

  • 8/17/2019 Sentencias DML.ppt

    11/46Ing. Marcos Montesinos

    Las &unciones de gru o o eran sobre uegos de &ilas ara ro orcionar unresultado or gru o.

    ?43'> -@

    El salario

    m#Aimo enla tablaE +LO EES .

    B

  • 8/17/2019 Sentencias DML.ppt

    12/46Ing. Marcos Montesinos

    AVG ...PROMEDIO

    COUNT ...CUENTA MAX ...MAXIMO

    MIN ...MINIMO

    STDDEV ...DESVIAC STDSUM ...SUMA

    VARIANCE ..VARIANZA

    Ti os de %unciones de ?ru o

  • 8/17/2019 Sentencias DML.ppt

    13/46

    Ing. Marcos Montesinos

    SELECT job, SU (sal)

    FRO em!%ROU+ B job*

    'so ?43'> -@

  • 8/17/2019 Sentencias DML.ppt

    14/46

    Ing. Marcos Montesinos

    La subconsulta consulta interna se e ecuta una 6e)antes de la consulta rinci al.El resultado de la subconsulta lo utili)a la consulta

    rinci al consulta eAterna .

    SintaAis de Subconsulta

    SELECT select_listFRO tableW"ERE expr operator

    (SELECT select_list FRO table )*

  • 8/17/2019 Sentencias DML.ppt

    15/46

    Ing. Marcos Montesinos

    SELECT enameFRO em!

    W"ERE sal & (SELECT sal FRO em! W"ERE ename #$SCOTT$)*

    'so de una Subconsulta

  • 8/17/2019 Sentencias DML.ppt

    16/46

    Ing. Marcos Montesinos

    5gregue nue6as &ilas a una tablamediante la sentencia INSERT .

    "on esta sintaAis sólo se inserta una&ila cada 6e).

    SintaAis de la Sentencia INSERT

    INSERT INTO table -( column - , column... )/ALUES (value - , value... )*INSERT INTO table -( column - , column... )/ALUES (value - , value... )*

  • 8/17/2019 Sentencias DML.ppt

    17/46

    Ing. Marcos Montesinos

    INSERT INTO em! (em!no,ename, job,m01, 231e4ate,

    sal, 5omm, 4e!tno)/ALUES ('678,

    $CURTIS$, $ ANA%ER$,'''', S SDATE,9: , 6 , ' )*

    ' 1o; 51eate4.' 1o; 51eate4.

    E em lo

  • 8/17/2019 Sentencias DML.ppt

    18/46

    Ing. Marcos Montesinos

    INSERT INTO 4e!t

    (4e!tno, 4name, lo5)

    /ALUES (

  • 8/17/2019 Sentencias DML.ppt

    19/46

    Ing. Marcos Montesinos

    Escriba la sentencia INSERT con unasubconsulta.

    9o utilice la cl#usula /ALUES .aga coincidir el n mero de columnas dela cl#usula INSERT con el de lasubconsulta.

    "o ia de %ilas desde otra Tabla F

    INSERT INTO sales=1e!s(34, name, sala1>, 5omm3ss3on=!5t) SELECT em!lo>ee=34, last=name, sala1>, 5omm3ss3on=!5t FRO em!lo>ees W"ERE job=34 LIKE $?RE+?$*

  • 8/17/2019 Sentencias DML.ppt

    20/46

    Ing. Marcos Montesinos

    Modi&i0ue las &ilas eAistentes con lasentencia U+DATE .

    5ctualice m#s de una &ila cada 6e) si

    es necesario.

    SintaAis Sentencia '>D5TE

    U+DATE tableSET column # value -, column # value, ...-W"ERE condition *

    U+DATE tableSET column # value -, column # value, ...-W"ERE condition *

  • 8/17/2019 Sentencias DML.ppt

    21/46

    Ing. Marcos Montesinos

    Si incluye la cl#usulaW"ERE, las &ilases ec/&icas se modi&ican.

    Se modi&ican todas las &ilas de la tablasi omite la cl#usula W"ERE.

    5ctuali)ación de las %ilas de una Tabla

    U+DATE em!

    SET sal # 6W"ERE ename # $CURTIS$*

    U+DATE em!SET m01# '67*

    U+DATE em!SET m01# '67*

  • 8/17/2019 Sentencias DML.ppt

    22/46

    Ing. Marcos Montesinos

    U+DATE 5o!>=em!SET 4e!a1tment=34 # (SELECT 4e!a1tment=34 FRO em!lo>ees W"ERE em!lo>ee=34 # ' )W"ERE job=34 # (SELECT job=34 FRO em!lo>ees W"ERE em!lo>ee=34 # 6 )*

    'tilice subconsultas en sentencias U+DATE ara actuali)ar las &ilas de una tablabas#ndose en 6alores de otra tabla.

    5ctuali)ación de %ilas-as#ndose en otra Tabla F

  • 8/17/2019 Sentencias DML.ppt

    23/46

    Ing. Marcos Montesinos

    >uede eliminar las &ilas eAistentes de unatabla utili)ando la sentencia DELETE .

    La Sentencia DELETE

    DELETE -FRO table-W"ERE condition *DELETE -FRO table-W"ERE condition *

  • 8/17/2019 Sentencias DML.ppt

    24/46

    Ing. Marcos Montesinos

    Se su rimen &ilas es ec/&icas si incluyela cl#usula W"ERE.

    Su resión de %ilas de una Tabla

    DELETE FRO em! W"ERE ename # $CURTIS$*

    DELETE FRO em! W"ERE ename # $CURTIS$*

    DELETE FRO em!*DELETE FRO em!*

  • 8/17/2019 Sentencias DML.ppt

    25/46

    Ing. Marcos Montesinos

    DELETE FRO em!lo>eesW"ERE 4e!a1tment=34 #

    (SELECT 4e!a1tment=34 FRO 4e!a1tments W"ERE 4e!a1tment=name LIKE $?+@bl35?$

    'tilice subconsultas en sentencias DELETEara eliminar las &ilas de una tablabas#ndose en los 6alores de otra tabla.

    Su resión de %ilas -as#ndoseen otra Tabla F

  • 8/17/2019 Sentencias DML.ppt

    26/46

    Ing. Marcos Montesinos

    La condición de unión ara la uniónnatural es b#sicamente una unión deigualdad de todas las columnas conel mismo nombre.

    >ara es eci&icar condiciones arbitrariaso es eci&icar columnas ara unir, seutili)a la cl#usula ON.

    La condición de unión se se ara deotras condiciones de búsqueda .

    La cl#usula ON &acilita la com rensióndel códi o.

    "reación de 'niones con la "l#usula G3I9

  • 8/17/2019 Sentencias DML.ppt

    27/46

    Ing. Marcos Montesinos

    SELECT e.em!no, e.ename,e.4e!tno, 4.4name

    FRO em! e OIN 4e!t 4ON (e.4e!tno # 4.4e!tno)*

    4ecu eración de 4egistros con la"l#usula G3I9

    SELECT e.em!no, e.ename,e.4e!tno, 4.4name

    FRO em! e, 4e!t 4W"ERE e.4e!tno # 4.4e!tno*

    SELECT e.em!no, e.ename,e.4e!tno, 4.4name

    FRO em! e, 4e!t 4W"ERE e.4e!tno( ) # 4.4e!tno*

  • 8/17/2019 Sentencias DML.ppt

    28/46

    Ing. Marcos Montesinos

    %unciones de "aracteres

    %unciones de%unciones de"aracteres"aracteres

    LOWER

    U++ERINITCA+

    CONCAT

    SUBSTRLEN%T"INSTRL+AD R+ADTRIRE+LACE

    %unciones de mani ulación%unciones de mani ulaciónde may sculasHmin sculasde may sculasHmin sculas

    %unciones de mani ulación%unciones de mani ulaciónde caracteresde caracteres

  • 8/17/2019 Sentencias DML.ppt

    29/46

    Ing. Marcos Montesinos

    %unction 4esult

    Estas &unciones con6ierten lasmay sculasHmin sculas ara cadenas decaracteres.

    %unciones de Mani ulación de

    May sculasHMin sculas

    LOWER($ S L Co@1se $ )

    U++ER( $ S L Co@1se $ )INITCA+( $ S LCo@1se $ )

    s l 5o@1se

    S L COURSES l Co@1se

  • 8/17/2019 Sentencias DML.ppt

    30/46

    Ing. Marcos Montesinos

    CONCAT($"ello$, $Wo1l4$)SUBSTR($"elloWo1l4 $ ,', )LEN%T"($"elloWo1l4$)INSTR($"elloWo1l4$, $W$)L+AD(sala1>,' , $ $ )R+AD(sala1>, ' , $ $)TRI ($"$ FRO $"elloWo1l4$)

    "elloWo1l4"ello'9

    6868elloWo1l4

    %unción 4esultado

    Estas &unciones mani ulan cadenas decaracteres:

    %unciones de Mani ulación de"aracteres

  • 8/17/2019 Sentencias DML.ppt

    31/46

    Ing. Marcos Montesinos

    ROUND + "edondea el ,alor a los decimales especi-icados.

    ROUND(45.926, 2) 45.93

    TRUNC + Trunca el ,alor a los decimales especi-icados.

    TRUNC(45.926, 2) 45.92

    MOD + De,uel,e el resto de la di,isi n. MOD(1600, 300) 100

    ABS + Calcula el ,alor absoluto de n.

    ABS( 16) 16

    C IL+ Calcula el menor numero entero ma/or o igual que n.

    CEI!(16.") 1"

    #!OOR + Calcula el ma/or numero entero menor o igual que n.

    #!OOR(16.") 16

    PO$ER + De,uel,e m ele,ado a la n potencia0 n debe ser entero

    PO$ER(3,2) 9

    %unciones 9um

  • 8/17/2019 Sentencias DML.ppt

    32/46

    Ing. Marcos Montesinos

    La base de datos 3racle almacena &ec(asen un &ormato num

  • 8/17/2019 Sentencias DML.ppt

    33/46

    Ing. Marcos Montesinos

    S%SDATE es una &unción 0ue de6uel6e:%ec(a

    ora

    Traba o con %ec(as

  • 8/17/2019 Sentencias DML.ppt

    34/46

    Ing. Marcos Montesinos

    %unciones de %ec(a

    9 mero de mesesentre dos &ec(as

    ONT"S=BETWEEN

    ADD= ONT"S

    NEGT=DA

    LAST=DA

    ROUND

    TRUNC

    Suma meses de calendario auna &ec(aSiguiente d/a de la &ec(aes eci&icada

    Jltimo d/a del mes

    4edondea la &ec(a

    Trunca la &ec(a

    %unción Descri ción

  • 8/17/2019 Sentencias DML.ppt

    35/46

    Ing. Marcos Montesinos

    H ONT"S=BETWEEN ($ ' SE+ : $,$'' AN :8$)

    'so de %unciones de %ec(a

    H ADD= ONT"S ($'' AN :8$,9)

    H NEGT=DA ($ ' SE+ : $,$FRIDA $)

    H LAST=DA ($ ' FEB : $)

    ':.9JJ8':8

    $'' UL :8$

    $ SE+ : $

    $6 FEB : $

  • 8/17/2019 Sentencias DML.ppt

    36/46

    Ing. Marcos Montesinos

    H ROUND(S SDATE,$ ONT"$) 'AU% :

    H ROUND(S SDATE ,$ EAR$) ' AN:9

    H TRUNC(S SDATE ,$ ONT"$) 'UL :

    H TRUNC(S SDATE ,$ EAR$) 'AN :

    'so de %unciones de %ec(a

    5suma S SDATE # $6 UL : $ :

  • 8/17/2019 Sentencias DML.ppt

    37/46

    Ing. Marcos Montesinos

    "on6ersión EA l/cita de Ti os de Dato

    NU BER " 545"TE4

    TO=C"AR

    TO=NU BER

    DATE

    TO=C"AR

    TO=DATE

  • 8/17/2019 Sentencias DML.ppt

    38/46

    Ing. Marcos Montesinos

    El modelo de &ormato:Se debe escribir entrecomillas sencillas y es sensible a

    may sculasHmin sculas.>uede incluir cual0uier elemento de &ormato de&ec(a 6#lido.

    Tiene un elemento fm ara eliminar es aciosrellenados o su rimir ceros a la i)0uierda.Se se ara del 6alor de &ec(a con una coma.

    'so de la %unción TO=C"AR con %ec(asTO=C"AR( date, $ format_model $)TO=C"AR( date, $ format_model $)

  • 8/17/2019 Sentencias DML.ppt

    39/46

    Ing. Marcos Montesinos

    @@@@

    Elementos del Modelo de %ormatode %ec(a

    @E54

    MMM39T

    D@

    D5@

    5;o com leto en n meros 5;os en letra

    Kalor de dos d/gitos ara el mes

    5bre6iatura de tres letras del d/a de lasemana

    9ombre com leto del d/a de lasemana

    9ombre com leto del mes

    M39 5bre6iatura de tres letras del mes

    DD D/a del mes en n mero

  • 8/17/2019 Sentencias DML.ppt

    40/46

    Ing. Marcos Montesinos

    Los elementos de (ora &ormatean la

    orción de (ora de la &ec(a. 5gregue cadenas de caracteres

    escribi

  • 8/17/2019 Sentencias DML.ppt

    41/46

    Ing. Marcos Montesinos

    'so de la %unción TO=C"AR con %ec(as

    SELECT ename,

    TO=C"AR(231e4ate, $ mDD ont2 $) AS "IREDATEFRO em!*

  • 8/17/2019 Sentencias DML.ppt

    42/46

    Ing. Marcos Montesinos

    Estos son algunos de los elementos de &ormato0ue uede utili)ar con la &unciónTO=C"AR ara

    mostrar un 6alor num

  • 8/17/2019 Sentencias DML.ppt

    43/46

    Ing. Marcos Montesinos

    SELECT TO=C"AR(sal, $::,:::. $) SALARFRO em!

    W"ERE ename # $SCOTT$*

    'so de la %unción TO=C"AR con

    9 meros

  • 8/17/2019 Sentencias DML.ppt

    44/46

    Ing. Marcos Montesinos

    "on6ierta una cadena de caracteres en &ormatonum

  • 8/17/2019 Sentencias DML.ppt

    45/46

    Ing. Marcos Montesinos

    >reguntas N

  • 8/17/2019 Sentencias DML.ppt

    46/46

    Laboratorio