Guía de PLSQL N°04 Escribiendo Estructuras de Control

8
 Escuela de Informática y Telecomunicaciones GUÍA DE PL/SQL N! ES"#I$IEND% EST#U"TU#AS DE "%NT#%L &'( Des)u*s de +a,er es)erado )or dos meses una res)uesta de su )ostulaci-n al ,anco TU .IDA SIN DEUDAS Ud' se encuentra tra,a0ando como )arte del e1ui)o desarrollador de su nue2o sistema de remuneraciones' En esta )rimera eta)a se de,en efectuar )rue,as de las rutinas 1ue se de,erán )ro3ramar )osterio rmente en la ,a se de datos' Por esta ra4-n a tra2*s de $l o1 ues An-nimos de,erá dar so luci-n a los re1uerimientos de informaci-n de acuerdo a cada caso )lanteado' N%TA 5 Los e0ercicios de,en ser desarrollados utili4ando las ta,las del es1uema +r de la $ase de Datos'  a6 Se desea contar con una rutina que a partir de una identificación de empleado se muestre el trabajo que desempeña y si su salario está por sobre el promedio de los salarios entre todos los empleados de la empresa. Para ello desarrolle un bloque PL/SQL que a través de sustitución de variables se acepte la identificación de un empleado y se muestre su nombre apellido y nombre del trabajo de este empleado. !l bloque además debe validar si el salario del empleado es menor al salario promedio se deben mostrar los datos del empleado además del mensaje que indique que su salario es inferior al salario promedio. "e lo contrario el mensaje a mostrar debe indicar que su salario es i#ual o mayor al promedio. !l bloque debe mostrar la información que se muestra en el formato del ejemplo $la prueba se efectuó asi#nando el empleado %&'() ,6 Se desea saber en qué cate#or*a será calificado el salario de los empleados con identificación %'' al %+'. Para ello cree un bloque PL/SQL que muestre la identificació n del empleado su salario s e#uido del mensaje que correspon da se#,n el monto del salario qu e posee) Si su salario es - %'''' el mensaje debe ser !s un !celente salario0. Si su salario está entre los %'''' y los 1''' entonces el mensaje debe ser !s un salario 2ormal0. Si su salario es menor a 1''' el mensaje debe ser Le deben aumentar el salario0. !l ejecutar el bloque se deber*a visuali3ar lo solicitado en el formato que se muestra) c6 4d. será el encar#ado de desarrollar la rutina que efectuará el cálculo de las remuneraciones de los emple ados de l banco . "ebido a es to debe crea r la tabla "AL"UL%7#E8UN que almacenará los resultados del proceso de acuerdo a las si#uientes columnas ) N%8$#E "%LU8NA TIP% DE DAT% .AL%# QUE AL8A"ENA#9 5" !7PL!8"9 2umérico de lar#o : $obli#atorio( 5den ti ficación del empl eado y clav e  primaria de la tabla. ;8L9<6S8L8<59 2umérico de lar#o = $obli#atorio( ;alor del salario actual del empleado ;8L9<6>975S592 2umérico de lar#o = $obli#atorio( ;alor de comisión ca lculada para el empleado

Transcript of Guía de PLSQL N°04 Escribiendo Estructuras de Control

Page 1: Guía de PLSQL N°04 Escribiendo Estructuras de Control

7/25/2019 Guía de PLSQL N°04 Escribiendo Estructuras de Control

http://slidepdf.com/reader/full/guia-de-plsql-n04-escribiendo-estructuras-de-control 1/7

 

Escuela de Informática yTelecomunicaciones

GUÍA DE PL/SQL N!ES"#I$IEND% EST#U"TU#AS DE "%NT#%L

&'(  Des)u*s de +a,er es)erado )or dos meses una res)uesta de su )ostulaci-n al ,anco TU .IDA SINDEUDAS Ud' se encuentra tra,a0ando como )arte del e1ui)o desarrollador de su nue2o sistema deremuneraciones'En esta )rimera eta)a se de,en efectuar )rue,as de las rutinas 1ue se de,erán )ro3ramar )osteriormenteen la ,ase de datos' Por esta ra4-n a tra2*s de $lo1ues An-nimos de,erá dar soluci-n a losre1uerimientos de informaci-n de acuerdo a cada caso )lanteado'

N%TA5 Los e0ercicios de,en ser desarrollados utili4ando las ta,las del es1uema +r de la $ase de Datos' 

a6 Se desea contar con una rutina que a partir de una identificación de empleado se muestre el trabajo que

desempeña y si su salario está por sobre el promedio de los salarios entre todos los empleados de laempresa. Para ello desarrolle un bloque PL/SQL que a través de sustitución de variables se acepte laidentificación de un empleado y se muestre su nombre apellido y nombre del trabajo de este empleado.!l bloque además debe validar si el salario del empleado es menor al salario promedio se deben mostrar los datos del empleado además del mensaje que indique que su salario es inferior al salario promedio."e lo contrario el mensaje a mostrar debe indicar que su salario es i#ual o mayor al promedio. !l bloquedebe mostrar la información que se muestra en el formato del ejemplo $la prueba se efectuó asi#nandoel empleado %&'()

,6 Se desea saber en qué cate#or*a será calificado el salario de los empleados con identificación %'' al%+'. Para ello cree un bloque PL/SQL que muestre la identificación del empleado su salario se#uidodel mensaje que corresponda se#,n el monto del salario que posee)• Si su salario es - %'''' el mensaje debe ser !s un !celente salario0.• Si su salario está entre los %'''' y los 1''' entonces el mensaje debe ser !s un salario 2ormal0.• Si su salario es menor a 1''' el mensaje debe ser Le deben aumentar el salario0.!l ejecutar el bloque se deber*a visuali3ar lo solicitado en el formato que se muestra)

c6 4d. será el encar#ado de desarrollar la rutina que efectuará el cálculo de las remuneraciones de losempleados del banco. "ebido a esto debe crear la tabla "AL"UL%7#E8UN  que almacenará losresultados del proceso de acuerdo a las si#uientes columnas)

N%8$#E "%LU8NA TIP% DE DAT% .AL%# QUE AL8A"ENA#95"6!7PL!8"9 2umérico de lar#o :

$obli#atorio(5dentificación del empleado y clave primaria de la tabla.

;8L9<6S8L8<59 2umérico de lar#o =$obli#atorio(

;alor del salario actual del empleado

;8L9<6>975S592 2umérico de lar#o =$obli#atorio(

;alor de comisión calculada para elempleado

;8L9<6>9L8>5

?2 2umérico de lar#o =$obli#atorio(

;alor de colación calculada para elempleado

;8L9<679;5L5@8>592 2umérico de lar#o =$obli#atorio(

;alor de movili3ación calculada para elempleado

Page 2: Guía de PLSQL N°04 Escribiendo Estructuras de Control

7/25/2019 Guía de PLSQL N°04 Escribiendo Estructuras de Control

http://slidepdf.com/reader/full/guia-de-plsql-n04-escribiendo-estructuras-de-control 2/7

 

Escuela de Informática yTelecomunicaciones

;8L9<6"!S>A96S8L4" 2umérico de lar#o =$obli#atorio(

;alor de descuento de salud calculado para el empleado

;8L9<6"!S>A96P<!; 2umérico de lar#o =$obli#atorio(

;alor de descuento previsional calculado para el empleado

;8L9<68L>6L5Q45"9 2umérico de lar#o =$obli#atorio(

;alor del alcance l*quido calculado parael empleado

B!>C86>8L>4L9 BecDa $obli#atorio( BecDa en que se ejecutó el cálculo de lasremuneraciones del empleado

Los cálculos deberán efectuarse de la si#uiente forma)• >omisión) valor del salario del empleado multiplicado por el valor del porcentaje de comisión.• >olación) considerar que el valor de la colación corresponde al &&E del salario del empleado.• 7ovili3ación) considerar que el valor de la movili3ación corresponde al %F= del salario del

empleado.• "escuento Salud) considerar que el valor del descuento de salud corresponde al F=E del salario del

empleado.

• "escuento Previsional) considerar que el valor del descuento previsional corresponde al :&E delsalario del empleado.

• 8lcance L*quido) considerar el que valor del alcance l*quido corresponde a Salario G >omisión G>olación G 7ovili3ación H "escuento Salud H "escuento Previsional.

Los valores se deben almacenar redondeados y al ejecutar el bloque anónimo el resultado deber*a ser como se muestra en el ejemplo)

d6 4no de los informes que el sistema debe considerar es la relación de los empleados su salario y trabajo

que desempeña. Por aDora sólo interesa poder contar con una simulación de este informe por lo tanto sele solicita que lo desarrolle a través de un bloque 8nónimo. Se requiere saber el nombre completo delempleado su salario y el nombre del trabajo que desempeña. 8l ejecutar el bloque la información sedeber*a visuali3ar en el formato del ejemplo)

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Page 3: Guía de PLSQL N°04 Escribiendo Estructuras de Control

7/25/2019 Guía de PLSQL N°04 Escribiendo Estructuras de Control

http://slidepdf.com/reader/full/guia-de-plsql-n04-escribiendo-estructuras-de-control 3/7

 

Escuela de Informática yTelecomunicaciones

:'( El cole3io de ense;an4a media SAN <UAN desde el a;o :=&= +a sido calificado con e>celenciaacad*mica' La forma de tra,a0ar con los alumnos el m*todo de ense;an4a y sus resultados acad*micos+an )ermitido 1ue se sit?e como el cole3io más im)ortante del )a@s'A comien4os del a;o )asado Ud' efectu- su )ráctica )rofesional en este cole3io o)ortunidad en 1ue tu2o1ue modelar la ,ase de datos )ara almacenar informaci-n de las notas de sus alumnos y defini- elsi3uiente 8odelo5

!ste año en el mes de 8bril el cole#io lo contactó nuevamente para ne#ociar el desarrollo del sistemainformático de control de notas y as* poder automati3ar sus procesos. 4d. lle#ó a acuerdo y debe satisfacer elrequerimiento de información que se plantea.

Para ello)• >onéctese a la base de datos como usuario SSTE8  y ejecute el arcDivo

scri)t7creaci-n7usuario73u@a7PLSQL7NB! que creará el usuario )7)ls1! passIord )ractica'• >onéctese posteriormente como usuario )7)ls1!  y ejecute el arcDivo

scri)t7creaci-n7ta,las73u@a7PLSQL7NB!  para crear y poblar las tablas del 7odelo como se muestraen el ejemplo)

TA$LA "U#S%

TA$LA ASIGNATU#A

TA$LA ALU8N%

Page 4: Guía de PLSQL N°04 Escribiendo Estructuras de Control

7/25/2019 Guía de PLSQL N°04 Escribiendo Estructuras de Control

http://slidepdf.com/reader/full/guia-de-plsql-n04-escribiendo-estructuras-de-control 4/7

Page 5: Guía de PLSQL N°04 Escribiendo Estructuras de Control

7/25/2019 Guía de PLSQL N°04 Escribiendo Estructuras de Control

http://slidepdf.com/reader/full/guia-de-plsql-n04-escribiendo-estructuras-de-control 5/7

 

Escuela de Informática yTelecomunicaciones

TA$LA N%TA7ALU8N%

"ebido al n,mero de alumnos que posee el cole#io el proceso de primera prioridad a construir es el cálculoautomático de promedios de cada alumno por asi#natura y as* además poder obtener su estado final deaprobación o reprobación. "e acuerdo a lo planteado por la dirección del cole#io 4d. debe considerar losi#uiente para este proceso.

&'( Promedios de 8si#naturas)• Los valores se redondean a un decimal.• Para calcular el promedio de notas del alumno por asi#natura debe tener el m*nimo de notas que la

asi#natura requiere. "e lo contrario la situaci-n será P $pendiente( y en la observación de la situaciónse detalla que el alumno de,e rendir )rue,a recu)erati2a.

:'( Situación final de la asi#natura cuyo códi#o finali3a en % ó +)• Si el alumno posee la asistencia m*nima requerida para la asi#natura y si el promedio de notas es

superior o i#ual a J=. !n este caso la situación final es A $aprobado(.• Si el alumno posee un promedio superior o i#ual a J= pero no cumple con el porcentaje de asistencia

m*nima su situación final es P $pendiente( y en la observación de la situación final de la asi#natura sedetalla que este caso de,e ser estudiado )or el )rofesor de la asi3natura.

Page 6: Guía de PLSQL N°04 Escribiendo Estructuras de Control

7/25/2019 Guía de PLSQL N°04 Escribiendo Estructuras de Control

http://slidepdf.com/reader/full/guia-de-plsql-n04-escribiendo-estructuras-de-control 6/7

 

Escuela de Informática yTelecomunicaciones

• Si el alumno posee un promedio inferior a J= pero superior a JK y además cumple con la asistenciam*nima requerida su situación final es P $pendiente( y en la observación de la situación de la asi#naturase detalla que este caso de,e ser estudiado )or la direcci-n.

• Si el alumno posee un promedio inferior a J= y no cumple con la asistencia m*nima requerida su

situación final es < $reprobado(.

C'( Situación final de la asi#natura cuyo códi#o finali3a en K ó J)• Si el alumno posee la asistencia m*nima requerida para la asi#natura y si el promedio de notas es

superior o i#ual a JJ. !n este caso la situación final es A $aprobado(.• Si el alumno posee un promedio superior o i#ual a JJ pero no cumple con el porcentaje de asistencia

m*nima su situación final es P $pendiente( y en la observación de la situación final de la asi#natura sedetalla que este caso de,e ser estudiado )or el )rofesor de la asi3natura.

• Si el alumno posee un promedio inferior a JJ pero superior a J% y cumple con la asistencia m*nimarequerida su situación final es P $pendiente( y en la observación de la situación de la asi#natura sedetalla que este caso de,e ser estudiado )or la direcci-n.

• Si el alumno posee un promedio inferior a JJ y no cumple con la asistencia m*nima requerida susituación final es < $reprobado(.

!'( Situación final del resto de las 8si#naturas)• Si el alumno posee la asistencia m*nima requerida para la asi#natura y si el promedio de notas es

superior o i#ual a J'. !n este caso la situación final es A $aprobado(.• Si el alumno posee un promedio superior o i#ual a J' pero no cumple con el porcentaje de asistencia

m*nima su situación final es P $pendiente( y en la observación de la situación final de la asi#natura sedetalla que este caso de,e ser estudiado )or el )rofesor de la asi3natura.

• Si el alumno posee un promedio inferior a J' su situación final es < $reprobado(.

'( !l proceso que 4d. construya será utili3ado por cada profesor para que calcule los promedios de laasi#natura que imparte en los diferentes cursos. Por esta ra3ón el códi#o del curso y asi#natura deberán ser solicitados en tiempo de ejecución $utili3ar variables de sustitución(. 8l finali3ar la ejecución del bloque paratodos los cursos los resultados deber*an ser como se muestran en el ejemplo)

Page 7: Guía de PLSQL N°04 Escribiendo Estructuras de Control

7/25/2019 Guía de PLSQL N°04 Escribiendo Estructuras de Control

http://slidepdf.com/reader/full/guia-de-plsql-n04-escribiendo-estructuras-de-control 7/7

 

Escuela de Informática yTelecomunicaciones