Está en la página 1de 16

Ejercicio 1

Implementar una Vista que muestre la información más importante (ustedes deben
determinarla misma) de las películas de acción, romance y terror estrenadas en el
presente año y que estuvieron en cartelera por más de dos semanas.
R. Para la resolución de este problema decimos mostrar en nuestra vista los
siguientes datos (tituloPelicula, nombreGenero, codigoSala, horario,
fechaEstrenoLocal) los cuales consideramos como los datos mas relevantes de una
película; posteriormente procedemos a realizar la consulta sql correspondiente para
obtener dichos datos, la cual queda asi con su resultado obtenido
Una vez que tenemos la consulta SQL procedemos con la creación de la vista(view)
con el nombre “info_peliculas”, obteniendo un resultado satisfactorio

Para acceder a la vista nos dirigimos al panel izquierdo


Ahora podemos hacer una consulta select a nuestra vista como su esta fuera una
tabla para poder ver todos los registros contenidos sobre la misma
Ejercicio 2
Replicar el ejercicio de transacciones mostrado en clases (se publica en el grupo el
documento guía) en PostgreSQL, explicando paso a paso los resultados, se debe
ayudar con capturas de pantalla.

R.- Modificacion Perdida


Paso1: Ambos usuarios inician la transacción
Paso2: El usuario “postgres” consulta el código de cine (codcine) del cajero con
nombre “Ricardo Ledezma” el cual es “cine2”
Paso3: El usuario “user1” consulta el código de cine (codcine) del cajero con
nombre “Ricardo Ledezma” el cual sigue siendo “cine2”

Paso4: El usuario “postgres” actualiza el código de cine (codcine) del cajero con
nombre “Ricardo Ledezma” a “cine1”
Paso5: El usuario “user1” también actualiza el código de cine (codcine) del
cajerocon nombre “Ricardo Ledezma” a “cine3”

Paso6: El usuario “postgres” hace commit el cajero con nombre “Ricardo


Ledezma” queda con “cine1”
Paso7: El usuario “user1” hace commit el cajero con nombre “Ricardo Ledezma”
queda con “cine3”

R.- Lectura Sucia


Paso1: Ambos usuarios inician la transacción
Paso2: El usuario “postgres” actualiza el código de cine (codcine) del cajero con
nombre “Ricardo Ledezma” a “cine2” (antes “cine3”)
Paso3: El usuario “user1” consulta el código de cine (codcine) del cajero con
nombre “Ricardo Ledezma” el cual es “cine2” (antes “cine3”)

Paso4: El usuario “postgres” se arrepiente y hace rollback


Paso5: El usuario “user1” hace commit con informacion del código de cine
(codcine) del cajero con nombre “Ricardo Ledezma” el cual es “cine2”

R.- Lectura Sucia


Paso1: Ambos usuarios inician la transacción
Paso2: El usuario “user1” consulta el código de cine (codcine) del cajero con
nombre “Ricardo Ledezma” el cual es “cine2”
Paso3: El usuario “postgres” actualiza el código de cine (codcine) del cajero con
nombre “Ricardo Ledezma” a “cine3”
Paso4: El usuario “postgres” termina la transaccion hace commit

Paso5: El usuario “user1” vuelve a consultar el código de cine (codcine) del cajero
con nombre “Ricardo Ledezma” y este le devuelve “cine3” y no “cine2” como antes
y hace commit
R.- Lectura Fantasma
Paso1: Ambos usuarios inician la transacción
Paso2: El usuario “postgres” consulta los códigos de cajeros cuyo sueldo básico
es mayor a 1500

Paso3: El usuario “user1” actualiza el sueldo del codcajero = 4 a 3500 y hace


commit
Paso4: El usuario “postgres” vuelve a consultar los códigos de cajeros cuyo
sueldo básico es mayor a 1500 y se ahora el cajero 4 consta de 3500 de sueldo no
como antes que contaba con 3000
Triggers
a) Implementar un trigger en PL/SQL que: cada que un usuario compre entradas
para alguna película en el cine, y se actualice la cantidad de butacas disponibles, y
en un nuevo campo o una nueva tabla sume la cantidad de personas que vio tal
película. Realizar en su modelo de base de datos, los cambios que crean
necesarios.

Antes

Después
b) Implementar una bitácora (que es un trigger especial) que considerando el o las
tablas donde se guardan los datos de montos de dinero de las ventas de entradas
para ver las películas, cada que se haga un Update o un Delete sobre los datos de
montos de dinero por la venta de entradas, se debe guardar en una nueva tabla
BITVENTAENTRADA el dato viejo, el usuario, la hora fecha, y si lo consideran,
cualquier otro atributo que consideren importante.
Creamos la tabla “bitventaentrada”
Creamos la function que se encargara de almacenar los datos viejos al realizer un
‘delete’ o un ‘update’

Y finalmente creamos el trigger el cual será invocado cada vez que exista un delete
o update dentro la tabla “venta”
UNIVERSIDAD MAYOR DE SAN SIMÓN
FACULTAD DE CIENCIAS Y TECNOLOGÍA
CARRERA DE INGENIERÍA SISTEMAS

SEGUNDA PARTE PROYECTO

ESTUDIANTES:

BUTRON MONTAÑO KEVIN NEYDER


CASTRO RONCAL MARCO ANTONIO
GÓMEZ FERRUFINO MELINA ROMANÉ

MATERIA: TALLER DE BASE DE DATOS

DOCENTE: LIC. LIZETH MONICA BAPTISTA CHUYA

FECHA: 26-12-2019

COCHABAMBA – BOLIVIA

También podría gustarte