Solución laboratorio 13 ADSI SENA

Embed Size (px)

Citation preview

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    1/51

    Laboratorio 13

    Presentado por: Jhon BarcasnegrasA la profesora: Claudia Casas

    Análisis y desarrollo de sistemas de informaciónServicio nacional de aprendizaje

    !"#

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    2/51

    Laboratorio 13

    1. Procedimientos almacenados para inserción de registros

      $n procedimiento almacenado es similar a una función pero no retorna un valor%&eci'en sui nom're por(ue las instrucciones (uedan almacenadas en el servidor% Sufunción es facilitar la ejecución de una tarea en la 'ase de datos ya (ue ahorraejecutar toda la sinta)is ha'itualmente necesaria para ello%  *amos a crear procedimientos almacenados para inserción de datos% Para elloutilizaremos la 'ase de datos la'oratorio%s(l (ue desarrollamos en el la'oratorio "%Para esto hemos aprovechado la 'ase de datos creada en +yS,- y además la hemoscreado nuevamente en .racle%-os primeros ejercicios serán ejecutados en +yS,- y aplican para las ta'lasprofesor/ curso/ estudiante y estudiante)curso%

    1.1 Tabla profesor

      -a ta'la profesor tiene esta estructura:

    mys(l0 descri'e profesor1233333333333333323333333333333332333333323333323333333332333333324 5ield 4 6ype 4 7ull 4 8ey 4 9efault 4 )tra 4233333333333333332333333333333333233333323333323333333332333333324 doc;profesor 4 varchar 4 7$-- 4 44 nom;profesor 4 varchar

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    3/51

    algMn error y luego ejecutar todo el 'lo(ue de instrucciones%

     Procedimiento almacenado para la tabla ins_profesor (nota: dice tabla profesor porque no tengo captura de la corrección. Cambié el nombre para que no se llamaraigual que la tabla).

      Ahora hay (ue ponerlo a prue'a llamando al mGtodo e introduciendo informaciónválida de acuerdo a los parámetros:

    *erificamos (ue se hayan insertado los datos correctamente:

    mys(l0 select from profesor12333333333333333332333333333333333333233333333333333233333333333332333333333324 doc;profesor 4 nom;profesor 4 ape;profesor 4 cate;prof 4 sal;prof 42333333333333333332333333333333333333233333333333333332333333333332333333333324 "%!%DE#%D 4 Alejandra 4 6orres 4 F 4 ""!!!!! 44 "?%E%D 4 +aritza 4 Angarita 4 " 4 ##!!!! 44 E?%#!%D! 4 +artha 4 &ojas 4 4 E!!!! 44 D?#F? 4 &afael 4 Conde 4 ? 4 #!!!! 44 "%"E%!F 4 Carlos 4 PGrez 4 ? 4 #!!!! 4233333333333333333233333333333333333323333333333333333233333333333233333333332

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    4/51

    1.2 Tabla curso

    mysql> select * from curso!""""""""""""!"""""""""""""""""""""""""""""""""""""!"""""""""""""!"""""""""""!# cod_curso # nom_curs # $oras_cur # %alor_cur #!""""""""""""!""""""""""""""""""""""""""""""""""""""!"""""""""""""!"""""""""""!# &'' # +undamentos de bases de datos # ', # -,,,,, #

    # &'/ # Procedmientos almacenados # , # -,,,,, ## -,,0 # +undamentos de 123 # , # ,,,,, ## ,&& # 4ane5o de 4y123 # '- # --,,,, ## /'-0& # +undamentos de 6racle # 0, # /,,,,,, #!""""""""""""!""""""""""""""""""""""""""""""""""""""!""""""""""""!"""""""""""!

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    5/51

    1.3 Tabla estudiantes

    mys(l0 select from estudiante12333333333333333332333333333333332333333333333333332333333333324 doc;est 4 nom;est 4 ape;est 4 edad;est 42333333333333333332333333333333332333333333333333332333333333324 "%!%!%!D 4 Jonatan 4 Ardila 4 "D 44 "%!%DE#%ED 4 Carlos 4 +artinez 4 " 44 E?%#!%D! 4 +arHa 4 Perez 4 ? 44 DF!#?# 4 Jhon 4 Barcasnegras 4 ?D 44 "%F#%ED 4 Carlos Jose 4 -opez 4 # 42333333333333333332333333333333332333333333333333333233333333332

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    6/51

    1.4 Tabla estudiantexcurso

    mys(l0 select cod;curso/ doc;est/ nom;est/ fec;ini;estcur  30 from curso join estudiante join estudiante)curso  30 on doc;est N doc;est;estcur and cod;curso N cod;curso;estcur123333333333332333333333333333332333333333332333333333333333332

    4 cod;curso 4 doc;est 4 nom;est 4 fec;ini;estcur 4233333333333323333333333333333323333333333323333333333333333324 !"" 4 "%!%DE#%ED 4 Carlos 4 !""3!"3! 44 #!!ED 4 E?%#!%D! 4 +arHa 4 !""3!"3!? 44 !"" 4 "%!%!%!D 4 Jonatan 4 !""3!"3! 44 ?F#ED" 4 E?%#!%D! 4 +arHa 4 !""3!"3!F 44 "DF? 4 DF!#?# 4 Jhon 4 !"F3!3!E 4233333333333323333333333333333332333333333323333333333333333332

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    7/51

    1.5 Tabla artículo:

      -as ta'las cliente/ artHculo y pedido la realizaremos usando la interfaz Oe' de

    .racle%

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    8/51

    jecutamos en terminal el procedure:

    S,-0 e)ecute ins;articulo

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    9/51

    1. Tabla cliente

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    10/51

    -a ejecución del procedimiento desde una >9 es algo distinta/ no se puede usare)ecute:

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    11/51

    1.! Tabla pedido

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    12/51

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    13/51

    1." Tabla compa#ía

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    14/51

    mys(l0 select from compaQia12333333333333333323333333333333333333333333233333333333333323333333333333333333333333333324 comnit 4 comnom're 4 comaQofun 4 comreplegal 4233333333333333332333333333333333333333333323333333333333332333333333333333333333333333332

    4 !!!!3 4 Seguros Atlantida 4 " 4 Carlos -ópez 44 3" 4 Aseguradora &ojas 4 "" 4 -uis 5ernando &ojas 44 3# 4 Seguros del stadio 4 !!" 4 +aria +argarita PGrez 44 3D 4 Seguros del cari'e 4 !!# 4 -uis Arrieta 4233333333333333332333333333333333333333333323333333333333332333333333333333333333333333332

    1.$ Tabla tiposautomotores

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    15/51

    mys(l0 select from tiposautomotores12333333%33332333333333333333324 autotipo 4 autnom're 4233333333333233333333333333332

    4 " 4 Automóviles 44 4 Camperos 44 ? 4 Camiones 44 F 4 Auto'uses 4233333333332333333333333333332F roOs in set

    1.1% Tabla automotores

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    16/51

    mys(l0 select from automotores12333333333332333333333333333332333333333323333333333332333333333333333333233333333333333332333333333333333333324 autoplaca 4 automarca 4 autotipo 4 automodelo 4 autonumpasajeros 4autocilindraje4autonumchasis 42333333333332333333333333333332333333333323333333333332333333333333333333233333333333333332333333333333333333324 98R! 4 &eanult stepOay 4 " 4 !! 4 # 4 "E!! 4OyOzzz"#DLL!!dF# 44 596E#! 4 +ercedes 4 F 4 !"! 4 F# 4 "?!! 4OyOzzz"DLL!!f# 44 5--F! 4 Chevrolet corsa 4 " 4 !!? 4 # 4 "F!! 4OyOzzz"EDLL!!d# 44 8J,! 4 8ia sportage 4 4 !! 4 D 4 !!! 4OyOzzz"#DLL!!d# 4233333333333233333333333333333233333333332333333333333233333333333333333323333333333333333233333333333333333332

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    17/51

    1.11 Tabla aseguramientos

    -lamamos al procedimiento:

    call ins;asegura

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    18/51

    4 !!!!! 44 F 4 !"?3!3" 4 !"F3!3" 4 E!!!!!!! 4 *igente 4 596E#!4 "!!!!! 42333333333332333333333333333323333333333333333333323333333333333333333233333333333

    2333333333333333333233333333332

    1.12 Tabla incidentes

    call ins;incidente

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    19/51

    23333333333333333333333333324 " 4 !"3!3?! 4 98R! 4 Bucaramanga 4 ! 4 ! 4 44 4 !"3!3D 4 5--F! 4 irón 4 " 4 ! 4

    " 44 ? 4 !""3!3 4 5--F! 4 Bucaramanga 4 " 4 ! 4 44 F 4 !"?3!3"# 4 596E#! 4 Barran(uilla 4 " 4 ! 4 4

    2 Procedimientos almacenados para procesos en &racle

    2.1 Proceso ordenar salarios:

    ste ejercicio solicita presentar los salarios de los profesores organizados porcategorHas% .racle no me permite crear un procedimiento (ue simplemente lleve elselect en su interior/ sino (ue al investigar veo (ue de'o crear un cursor%l código del cursor en el procedimiento serHa asH:

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    20/51

    jecutamos el procedimiento y o'tenemos el resultado en pantalla:

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    21/51

    2.2 Proceso cursos:+ostrar los cursos cuyo valor sea mayor a #!!!!!:

     

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    22/51

    2.3 Proceso clientes:+uestra los datos de los clientes (ue realizaron pedidos el dHa # de fe'rero del!"%

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    23/51

    2.4 'ostrar todos los pedidos:

    create or replace procedure T->S6A;P9>9.STis

    cursor curs isselect tit;art/ can;art;artped/ val;ven;art;artpedfrom articulo)pedido join articuloon id;art N id;art;artped1'eginfor resultado in curs loopd'ms;output%put;line

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    24/51

    end loop1

    end1

    +uestra el resultado:

    Placa: 5--F! )piración: !I?!I!"? +arca: Chevrolet corsa

    Statement processed%

    3 Procedimientos almacenados para procesos con '*+,L

    n +yS,- los procedimientos con select no son distintos de los insert y re(uierenmucho menos tra'ajo (ue con .racle%

    3.1 Proceso mostrar cursos

    *amos a mostrar todos los cursos ordenados por valor%

    $S Ula'oratorios(lU19&.P procedure >5 V>S6S Umostrar;cursosU19->+>6& $S Ula'oratorios(lU

    C&A6 P&.C9$& mostrar;cursos 7select from curso order 'y valor;cur179

    9->+>6& 1

    -lamamos el procedimiento y o'tenemos los datos (ue (ueremos%

    +ys(l0 call mostrar;cursos1

    233333333333233333333333333333333333333333333333332333333333332333333333332

    4 cod;curso 4 nom;curs 4 horas;cur 4 valor;cur 4

    2333333333332333333333333333333333333333333333333332333333333332333333333332

    4 "FF 4 5undamentos de 'ases de datos 4 F! 4 #!!!!! 4

    4 "DF? 4 Procedimientos almacenados 4 ! 4 #!!!!! 4

    4 !"" 4 +anejo de +yS,- 4 F# 4 ##!!!! 4

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    25/51

    4 #!!ED 4 5undamentos de S,- 4 ! 4 D!!!!! 4

    4 ?F#ED" 4 5undamentos de .racle 4 E! 4 ?!!!!!! 4

    3.2 'ostrar pedidos

    $S Ula'oratorios(lU19&.P procedure >5 V>S6S Umostrar;pedidosU1

    9->+>6& $S Ula'oratorios(lUC&A6 P&.C9$& mostrar;pedidos 7select id;pedido/ id;art/ tit;art/ can;art;artped/ val;ven;art;artpedfrom pedido join articulo join articulo)pedido

    on id;pedido N id;ped;artped and id;art;artped N id;art179

    9->+>6& 1

    -lamamos el proceso y o'tenemos los valores:

    mys(l0 call mostrar;pedidos1

    23333333333323333333323333333333333333333333333333333333333333233333333333333332333333333333333333332

    4 id;pedido 4 id;art 4 tit;art 4 can;art;artped 4 val;ven;art;artped 4

    23333333333323333333323333333333333333333333333333333333333333233333333333333332333333333333333333332

    4 " 4 ? 4 Creación de un portal con php y mys(l 4 # 4 F!!!! 4

    4 " 4 F 4 Administración de sistemas operativos 4 " 4 ##!!! 4

    4 4 " 4 &edes cisco 4 # 4 E#!!! 4

    4 ? 4 4 5ace'ooL y tOitter para adultos 4 "! 4 ##!!! 4

    4 ? 4 ? 4 Creación de un portal con php y mys(l 4 " 4 F#!!! 4

    4 F 4 " 4 &edes cisco 4 ! 4 E#!!! 4

    23333333333323333333323333333333333333333333333333333333333333233333333333333332333333333333333333332

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    26/51

    3.3 -mpresas fundadas entre 1$$1 * 1$$"

    $S Ula'oratorios(lU19&.P procedure >5 V>S6S Umostrar;empresasU1

    9->+>6& $S Ula'oratorios(lUC&A6 P&.C9$& mostrar;empresas7select from compaQiaOhere comaQofun 0N "" and comaQofun WN "179

    9->+>6& 1

    -lamamos el procedimiento:

    mys(l0 call mostrar;empresas1

    2333333333333333323333333333333333333333233333333333333323333333333333333333333332

    4 comnit 4 comnom're 4 comaQofun 4 comreplegal 4

    23333333333333333233333333333333333333333233333333333333323333333333333333333333332

    4 !!!!3 4 Seguros Atlantida 4 " 4 Carlos -ópez 4

    4 3" 4 Aseguradora &ojas 4 "" 4 -uis 5ernando &ojas 4

    2333333333333333323333333333333333333333332333333333333332333333333333333333333333332

    3.4 lientes ordenados por apellidos:

    $S Ula'oratorios(lU19&.P procedure >5 V>S6S Uclientes)apellidoU1

    9->+>6& $S Ula'oratorios(lUC&A6 P&.C9$& clientes)apellido 7select from clienteorder 'y ape;cli desc179

    9->+>6& 1

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    27/51

    -lamamos el procedure:

    3.5 /ncidentes con un )erido

    $S Ula'oratorios(lU19&.P procedure >5 V>S6S Uincidentes"heridoU1

    9->+>6& $S Ula'oratorios(lUC&A6 P&.C9$& incidentes"herido 7select incifecha/ inciplaca/ asefechainicio/ aseestado/ asevaloraseguradofrom incidentes join aseguramientoson inciplaca N aseplaca and incicantheridos N "179

    9->+>6& 1

    -lamamos el proceso:

    3. /ncidentes del (e)ículo 0LL42%

    $S Ula'oratorios(lU19&.P procedure >5 V>S6S UincifllF!U1

    9->+>6& $S Ula'oratorios(lUC&A6 P&.C9$& incifllF! 7select incifecha/ inciplaca/ asefechainicio/ asefechae)piracion/ aseestado/asevalorasegurado

    from incidentes join aseguramientos

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    28/51

    on inciplaca N aseplaca and inciplaca N 5--F!179

    9->+>6& 1

    -lamamos el procedimiento:

    4. 0unciones

    4.1 ontar estudiantes ma*ores de 22

    $S Ula'oratorios(lU19&.P function >5 V>S6S UcontarU1

    9->+>6& $S Ula'oratorios(lUC&A6 5$7C6>.7 contar 76&B>79C-A& cantidad int1

    select count+>6& 1

    -lamamos la función y visualizamos el resultado:

    mys(l0 select contar

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    29/51

    4.2 'ostrar el nombre del ms estudiante ms o(en

    Primero he creado una función (ue devuelve como valor la edad del alumno más joven:

    $S Ula'oratorios(lU19&.P function >5 V>S6S UmasJovenU1

    9->+>6& $S Ula'oratorios(lUC&A6 5$7C6>.7 masJoven 79C-A& masJoven int1S-C6 edad;est into masJoven

    from estudianteorder 'y edad;est asc limit "1&6$&7 masJoven1791

    9->+>6& 1

    @ luego la he com'inado con un select/ asH:

    mys(l0 select nom;est/ edad;est from estudiante Ohere edad;est N masJoven

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    30/51

    9->+>6& 1

    Pro'amos la función:

    4.4 +ueldo promedio de profesores categoría 1

    $S Ula'oratorios(lU19&.P function >5 V>S6S UpromediosueldoU1

    9->+>6& $S Ula'oratorios(lUC&A6 5$7C6>.7 promediosueldo 76&B>79C-A& avgsueldo int1S-C6 A*76. avgsueldo 5&.+ profesorKX& cate;prof N "1&6$&7 avgsueldo179

    9->+>6& 1

    Pro'amos la función con select:

    mys(l0 select promediosueldo

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    31/51

    4.5 ombre del profesor con el menor sueldo

    $S Ula'oratorios(lU19&.P function >5 V>S6S UmenorSueldoU1

    9->+>6& $S Ula'oratorios(lUC&A6 5$7C6>.7 menorSueldo

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    32/51

    5 0unciones con &racle

    5.1 ombre fec)a * (alor del pedido ms costoso

    Para resolver esta función ya (ue hay (ue devolver varios valores en una varia'le/utilice una concatenación% Para conseguir el valor más alto realice una su'consulta%

    C&A6 .& &P-AC 5$7C6>.7 fn;valPed&6$&7 *A&CXA&>Svar;datos *A&CXA&7S-C6 7om're: 44 nom;cli 44 5echa: 44 fec;ped 44 *alor: 44 val;ped>76. var;datos5&.+ cliente

    J.>7 pedido.7 id;cli N id;cli;ped and val;ped N

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    33/51

    create or replace procedure TPA;9>6.&>A-STiscursor curs isselect edi;art 44 44count.7 fn;valpoliza&6$&7 *A&CXA&>Svar;datos *A&CXA&7S-C6 Código: 44 asecod 44 5echa e)piración: 44 asefechae)piracion 44 *alorasegurado: 44 asevalorasegurado

    >76. var;datos5&.+ aseguramientosKX& asevalorasegurado N

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    34/51

    5.4 /ncidentes con el mínimo de autos in(olucrados

    C&A6 .& &P-AC 5$7C6>.7 fn;incidentes&6$&7 *A&CXA&>Svar;datos *A&CXA&7

    S-C6 Código incidente: 44 incicod 44 5echa: 44 incifecha 44 -ugar: 44 incilugar44 Placa: 44 inciplaca44 *alor póliza: 44 asevalorasegurado 44 *ehHculosimplicados: 44 incicanautosinvolucrados>76. var;datos5&.+ incidentesJ.>7 aseguramientos.7 inciplaca N aseplaca and incicanautosinvolucrados N 7

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    35/51

    5.5 6atos de la póli7a de ma*or (alor

    create or replace 5$7C6>.7 fn;autopolizamasval&6$&7 *A&CXA&

    >Svar;datos *A&CXA&7S-C6 Placa: 44 autoplaca 44 +arca: 44 automarca 44 6ipo: 44 autotipo 44+odelo: 44 automodelo 44 >nicio póliza: 44 asefechainicio44 )piración: 44asefechae)piracion 44 stado: 44 aseestado 44 *alor: 44 asevalorasegurado>76. var;datos5&.+ aseguramientosJ.>7 automotores.7 aseplaca N autoplaca A79 asevalorasegurado N

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    36/51

    . 6isparadores o Triggers

    -os disparadores son funciones Mtiles en auditorHa (ue se programan para ejecutarseautomáticamente cuando se efectMa el tipo de acción (ue los dispara% sta acción

    puede ser $pdate/ insert y delete% Pueden ejecutarse antes

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    37/51

    -a aplicación genera el código adecuado:

    $S Ula'oratorios(lU1

    9->+>6&

    9&.P 6&>& >5 V>S6S la'oratorios(l%profesor;B5.&;$P9A6

    $S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Uprofesor;B5.&;$P9A6U B5.& $P9A6 .7 UprofesorU5.& ACX &.KB>7insert into auditoria;profesor

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    38/51

    @ ahora miramos cómo (uedó la ta'la profesor y la ta'la auditoria;profesor 5>9 B@ jhon"?F#1

    le he dado privilegios de acceso:

    &A76 A-- P&>*>-S .7 % 6. jhonBarc[localhost1@ luego refrescamos los privilegios:

    Ahora voy a usar ese nuevo usuario para los ejercicios% Cerrando mi cone)ión y

    regresando con mi nuevo usuario y contraseQa%Ahora la función current;user7>7S&6 >76. auditoria;profesor

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    39/51

    liminamos el registro:

    delete from profesor Ohere doc;profesor N &afael1

    @ ahora miramos (ue ha ocurrido con nuestras ta'las profesor y auditorHa profesor:

    Se ha 'orrado el registro del profesor &afael Conde y ahora sH aparece (ue el eventolo realizó el usuario jhonBarc tal como se ve en la siguiente imagen:

    .2 6isparador para la tabla curso en '*+,L

    .2.1 8ctuali7ar urso

    C&A6 6AB- Ula'oratorios(lU%Uauditoria;cursoU < UidaudiU >76 7.6 7$-- A$6.;>7C&+76/ Uaudi;nom'reAnteriorU *A&CXA&76 7$--/ Uaudi;valor7uevoU >76 7$--/ Uaudi;fecha+odificacionU 9A6 7$--/ Uaudi;usuarioU *A&CXA&

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    40/51

     P&>+A&@ 8@ 7insert into auditoria;curso+>6&

    9&.P 6&>& >5 V>S6S la'oratorios(l%curso;B5.&;$P9A6$S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Ucurso;B5.&;$P9A6U B5.& $P9A6 .7 UcursoU 5.&ACX &.KB>7insert into auditoria;curso

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    41/51

    audi;fecha+odificacion/ audi;usuario/ audi;codCurso/ audi;accion=values< old%nom;curs/ old%horas;cur/ old%valor;cur/ neO%nom;curs/ neO%horas;cur/neO%valor;cur/ noO6& 1$S Ula'oratorios(lU1

    9->+>6&

    9&.P 6&>& >5 V>S6S la'oratorios(l%curso;A56&;9-6$S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Ucurso;A56&;9-6U A56& 9-6 .7 UcursoU 5.&ACX &.KB>7

    insert into auditoria;curso

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    42/51

    9&.P 6&>& >5 V>S6S la'oratorios(l%estudiante;B5.&;$P9A6$S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Uestudiante;B5.&;$P9A6U B5.& $P9A6 .7

    UestudianteU 5.& ACX &.KB>7insert into auditoria;estudiantes7insert into auditoria;estudiante7

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    43/51

    insert into auditoria;automotores6& 1$S Ula'oratorios(lU1

    9->+>6&

    9&.P 6&>& >5 V>S6S la'oratorios(l%automotores;A56&;9-6$S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Uautomotores;A56&;9-6U A56& 9-6 .7UautomotoresU 5.& ACX &.KB>7insert into auditoria;automotoresniAnteriorU 9A6 7.6 7$--/ Uaudi;ase5inAnteriorU 9A6 7$--/ Uaudi;valorAseAnteriorU >76 7$--/ Uaudi;estadoAnteriorU *A&CXA&ni7uevoU 9A6 7.6 7$--/  Uaudi;ase5in7uevoU 9A6 7$--/

      Uaudi;valor7uevoU >76 7$--/

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    44/51

      Uaudi;estado7uevoU *A&CXA&+ 7$--/

      Uaudi;usuarioU *A&CXA&7insert into auditoria;aseguramientosniAnterior/ audi;ase5inAnterior/audi;valorAseAnterior/ audi;estadoAnterior/ audi;placaAnterior/audi;costoAnterior/ audi;ase>ni7uevo/ audi;ase5in7uevo/ audi;valor7uevo/audi;estado7uevo/ audi;placa7uevo/ audi;costo7uevo/ audi;fecha+odificacion/audi;usuario/ audi;asecodigo/ audi;accion=values7insert into auditoria;aseguramientosniAnterior/ audi;ase5inAnterior/ 

    audi;valorAseAnterior/ audi;estadoAnterior/ audi;placaAnterior/ 

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    45/51

    audi;costoAnterior/ audi;fecha+odificacion/ audi;usuario/ audi;asecodigo/audi;accion=values

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    46/51

    values+>6&

    9&.P 6&>& >5 V>S6S la'oratorios(l%incidentes;A56&;9-6

    $S Ula'oratorios(lUC&A6 95>7& N C$&&76;$S& 6&>&Ula'oratorios(lU%Uincidentes;A56&;9-6U A56& 9-6 .7 UincidentesU5.& ACX &.KB>7insert into auditoria;incidentes

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    47/51

    .! 6isparador de actuali7ación con &racle =Tabla artículo>

    Primero creamos la ta'la auditoria;articulos:

    .!.1 8ctuali7ación

    create or replace trigger TAC6$A->RA&;A&6>C$-.T

    B5.&update on TA&6>C$-.Tfor each roO'egininsert into auditoria;articulo6A&6A76&>.&/ A$6A&6A76&>.&/9>A&6A76&>.&/ P&CA&6A76&>.&/ 6>6A&67$*./ A$6A&67$*./9>A&67$*./ P&CA&67$*./ 5CXA+.9>5>CAC>.7/ $S$A&>./>9A&6/ ACC>.7=values

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    48/51

    .!.2 -liminar registros

    create or replace trigger T->+>7A&;A&6>C$-.TA56&

    delete on TA&6>C$-.Tfor each roO'egininsert into auditoria;articulo6A&6A76&>.&/ A$6A&6A76&>.&/9>A&6A76&>.&/ P&CA&6A76&>.&/ 5CXA+.9>5>CAC>.7/$S$A&>./ >9A&6/ ACC>.7=valuesRA&;C->76TB5.&update on TC->76Tfor each roO'egin

    insert into auditoria;clienteA76/ APC->A76/ 9>&C->A76/9PC->A76/ +SA76/ 7.+C->7$/ APC->7$/ 9>&C->7$/9PC->7$/ +S7$/5CXA+.9/ $S$A&>./ >9C->/ ACC>.7=  values/ :old%AP;C->/ :old%9>&;C->/ :old%9P;C->/:old%+S;C$+;C->/ :neO%7.+;C->/ :neO%AP;C->/ :neO%9>&;C->/:neO%9P;C->/ :neO%+S;C$+;C->/ sysdate/ user/ :old%>9;C->/ Actualizacion=1end1

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    49/51

    .".2 -liminar registros

    create or replace trigger T->+>7A&;C->76TA56&

    delete on TC->76Tfor each roO'egininsert into auditoria;clienteA76/ APC->A76/ 9>&C->A76/9PC->A76/ +SA76/5CXA+.9/ $S$A&>./ >9C->/ ACC>.7=  values/ :old%AP;C->/ :old%9>&;C->/ :old%9P;C->/:old%+S;C$+;C->/ sysdate/ user/ :old%>9;C->/ Actualizacion=1end1

    .$ 6isparadores para la tabla pedido

    C&A6 6AB- TA$9>6.&>A;P9>9.T< T>9C->P9AT *A&CXA&9C->P97T *A&CXA&.T *A&CXA&9P9T 7$+B&/TACC>.7T *A&CXA&RA&;P9>9.TB5.&update on TP9>9.Tfor each roO'egin>7S&6 >76. A$9>6.&>A;P9>9.9C->P9A/ 5CP9A/ *A-P9A/

    >9C->P97/ 5CP97/ *A-P97/ 5C+.9/ $S$A&>./ >9P9/ ACC>.7=*A-$S9;C->;P9/ :.-9%5C;P9/:.-9%*A-;P9/:7K%>9;C->;P9/ :7K%5C;P9/ :7K%*A-;P9/S@S9A6/ $S&/:.-9%>9;P9/ Actualización=1end1

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    50/51

    .$.2 -liminar registros

    create or replace trigger T->+>7A&;P9>9.TA56&

    delete on TP9>9.Tfor each roO'egin>7S&6 >76. A$9>6.&>A;P9>9.9C->P9A/ 5CP9A/ *A-P9A/5C+.9/ $S$A&>./ >9P9/ ACC>.7=*A-$S9;C->;P9/ :.-9%5C;P9/ :.-9%*A-;P9/ S@S9A6/$S&/:.-9%>9;P9/ -iminación registro=1

    end1

  • 8/20/2019 Solución laboratorio 13 ADSI SENA

    51/51

    &eferencias

    -as 'ases de datos fueron creadas con las herramientas +yS,- KorL'ench y lainterfaz Oe' de .racle%

    Se utilizó información de las páginas:OOO%oracleya%comOOO%mys(lconclase%comOOO%stacLoverfloO%comOOO%desarrolloOe'%comOOO%el'auldelprogramador%comOOO%techonthenet%coml resto de la información pertenece a los o'jetos de aprendizaje del Sena%

    http://www.oracleya.com/http://www.mysqlconclase.com/http://www.stackoverflow.com/http://www.desarrolloweb.com/http://www.elbauldelprogramador.com/http://www.techonthenet.com/http://www.oracleya.com/http://www.mysqlconclase.com/http://www.stackoverflow.com/http://www.desarrolloweb.com/http://www.elbauldelprogramador.com/http://www.techonthenet.com/