Está en la página 1de 2

Taller práctico No.4.

Dadas las siguientes relaciones de un sistema de facturación de Internet:

PLANES
Codigo Nombre VMinuto PDescuento
1 Plan X 400 5
2 Plan Y 300 1
3 Plan Z 500 7

USUARIOS

Plan_Co
Login
d

login1 2

login2 1

login3 2

login4 3

CONEXIONES
Id Usr Fecha Duracion Valor
1 login1 ’01-jan-2004 13:22:14’ 20 NULL
2 login2 ’01-jan-2004 15:34:20’ 30 NULL
3 login1 ’02-jan-2004 08:32:30’ 40 NULL
4 login4 ’02-jan-2004 16:25:31’ 42 NULL
5 login3 ’02-jan-2004 22:32:15’ 52 NULL
6 login2 ’02-jan-2004 23:24:17’ 31 NULL
7 login4 ’03-jan-2004 07:32:58’ 23 NULL
LIQUIDACIONE
S
Id Usr Periodo TotalMin ValorTotal
1 login1 ’jan-2004’ 60 18000
2 login2 ’jan-2004’ 61 23780

Crear las tablas en Oracle con las respectivas llaves primarias (implementando las respectivas
secuencias), las llaves foráneas, y las restriciones de valor por defecto, not null, llave única.

Insertar los datos consignados en las tablas de las imágenes.


Construir un procedimiento PL/pgSQL que recorra la tabla Conexiones actualizando el valor de la
conexión; este cálculo se realiza multiplicando la duración por el valor del minuto, según el Plan del
usuario. Además, debe tenerse en cuenta que las conexiones que inician entre las 23 horas (11PM) y
las 5AM se les asigna el descuento PDescuento según el plan.

Luego de calcular el valor de cada conexión, se debe llenar la tabla Liquidaciones en donde se totaliza el
tiempo total consumido por el usuario y el valor a pagar (suponga que no hay cargos básicos, ni
impuestos).

También podría gustarte