Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Rec 1, 2 y 3 Evaluación de (3 Ev) GTB 14-15

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

Gestión de Bases de Datos

2ª Rec. 1ª, 2ª y 3ª EVALUACIÓN (12 de Junio de 2015)


2º CS ADMINISTRACIÓN

Apellidos:…Carmen Nieves……….….………….. DE
SISTEMAS INFORMÁTICOS
EN RED
Curso: 2014-2015
Nombre:…Hdez. Glez.………... Nº: ……

3ª Evaluación:

Teoría: (1 punto – 0.5 puntos cada una)


1.- .- Sentencias de procesamiento de transacciones: COMMIT y ROLLBACK. Ejemplos.
En el mysqul viene por defecto la opción “autocommit” que lo que hace es confirmar automáticamente la
ejecución de el proceso que estemos realizando. Esta opción la podemos desactivar creando una transacción o a
través de un comando. Para desactivarlo a través de una transacción tan solo tendremos que poner begin o start
transition. Commit es usado para confirmar los procesos que estemos haciendo en cambio rollback es para
deshacer el proceso hasta la parte que este guardada. Por ejemplo:
Begin
Insert into (tabla) values(valores)
Select *from (tabla)
Commit;
Update (table) set (campo)=(valor) where(…)
Select * from (tabla)
Rollback
2.- ¿Para qué sirve el LOCK TABLES y qué tienes que tener en cuenta para poder usarlo?
Sirve para bloquear la tabla en la que vas a trabajar, para hacegurarte de que ningún usuario modifique la tabla
mientras tu trabajas en ella ya que es de suma importancia la modificación que vamos ha hacer
Ejercicio: (9 puntos)
COMIDAS A DOMICILIO
Taburiente Foot, una empresa palmera dedicada a la comercialización de comidas rápidas, tiene la
intención de ubicar una franquicia en Puerto Naos, siéndole necesario informatizar la gestión de los
pedidos y sus repartos. Esta empresa se dedica a la venta de pizzas y bocadillos, además de productos
complementarios como refrescos, helados, etc.

Una vez realizado el modelo conceptual tenemos las siguientes tablas ya normalizadas:

CLIENTES(teléfono, nombre, apellidos, cp)


PEDIDOS(n_pedido, fecha, total_pedido, dni, teléfono)
REPARTIDOR(id, dni, nombre, talla, sueldo)
MOTOS(matrícula, año)
MOTOS-REPARTIDOR(matrícula, dni, casco)
1.- Ahora vamos a insertar a un repartidor que se acaba de contratar, como es un tema delicado vamos a hacerlo
con un proceso de transacciones que grabaremos cuando estemos seguros de que está bien. Insertamos el
repartidor Pedro Jiménez con DNI 42.222.111-B, su teléfono es 666555222 y va a tener un sueldo de 900€. Lo
grabamos, pero luego me doy cuenta que no he puesto su talla de casco. Actualiza el registro añadiendo la talla M
para ese repartidor. Parece que todo está bien, graba definitivamente las transacciones hechas.
(1 punto)
(PANTALLAZOS DONDE SE VEA TODO EL PROCESO)

Si lo ejecutas completo de una vez te sale el siguiente screem:


Si lo ejecutamos por partes:
2.- Hacer el siguiente procedimiento utilizando IF y SWICH, que pide:
- Si introduzco la palabra ‘ALTO’ por teclado, la variable tomará el valor 1 y les bajará el sueldo a los
repartidores que cobren más de 1500€ el equivalente al valor que tomó la variable multiplicada por 100.
- Si introduzco la palabra ‘BAJO’ por teclado, la variable tomará el valor 2 y les subirá el sueldo a los
trabajadores que cobren más de 500€ y menos de 1000€ en un 10%.
- Si introduzco cualquier otra palabra por teclado, la variable tomará el valor de la suma de las dos
variables usadas en los casos anteriores y se borrará el repartidor que coincida su id con el valor de la
variable si lleva una talla ‘M’.
(2 puntos)
(PANTALLAZO del procedimiento y de la ejecución en los tres casos)
3.- Vamos a hacer un procedimiento para premiar a nuestros repartidores actualizando el salario, utilizando el
bucle WHILE:
- Si introduzco un salario entre 500 y 1000€ le incremento dicho salario un 10%, de los 5 primeros
vendedores que cobren el salario introducido por teclado.
- Si se introduce un salario de más de 1000€ le incremento dicho salario un 5% a los 10 primeros
repartidores con ID impar empezando por el que tenga el id 5, donde su salario sea de más de 1000€.
- En cualquier opción elegida quiero ver un listado con el nombre del empleado y su nuevo salario.
(2.5 puntos)
(PANTALLAZO del procedimiento y de la ejecución en los dos casos)

4.- En estos momentos de crisis nos vemos obligados a despedir algunos repartidores, utilizando el bucle WHILE:
- Introduzco el nombre el repartidor por teclado y me da el id que tiene. Luego borro el repartidor que
tenga esa id y después el que tenga la id inferior.
- Como ahora tenemos menos repartidores vamos a sumarle 10€ al sueldo de los que quedaron en la
empresa, pero sólo a los que cobran menos del valor introducido por teclado (1000€) hasta el que menos
cobra de todos, en diferencias de 100€ en su sueldo. Es decir introduzco un 1000 y le sumará 10 al que
cobra 1000, 900, 800, 700, y así sucesivamente hasta el que menos cobra en la empresa. En esta opción
quiero ver un listado con el nombre y nuevo sueldo de los repartidores.
(2.5 puntos)
(PANTALLAZO del procedimiento y de la ejecución en los dos casos)

También podría gustarte