Vous êtes sur la page 1sur 50

Escuela Superior Politcnica del Litoral

Siste
ma de Base de Datos

ESCUELA SUPERIOR POLITECNICA DEL


LITORAL

MATERIA: SISTEMA DE BASE DE DATOS

PROYECTO: SISTEMA DE VENTA DE GAS

INTEGRANTES:
Marco Antonio Espinoza Arcenteles
Ral Patricio Reyes Moyota
Wendy Jaramillo Ortiz
Carlos Olmedo Vaca Quimi

AO LECTIVO: 2009-2010
I TRMINO

SISTEMA DE VENTA DE GAS

Pgina 1 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

El proyecto consiste en desarrollar un sistema de venta de gas, el mismo que va a


ser administrado por tres tipos de usuarios (ADMINISTRADOR, CALL CENTER,
VENDEDOR), cada uno de ellos tiene su respectiva funcionalidad:
Lista de Actores
1. Cliente
2. Empleado
3. Administrador
Descripcin de Actores
1. Nombre:
Cliente
Descripcin: Persona que solicita nuevos tanques o servicio tcnico a la empresa.
Adems puede ver sus reservas y el estado en el que se encuentran.
Notas:
Actor Principal
2. Nombre:
Empleado
Descripcin: Persona que se encarga de retirar los tanques del proveedor, entregar
tanques
Notas:

Actor Principal

3. Nombre:
Administrador
Descripcin: Persona que se encarga de la administracin del sistema: el ingreso,
modificacin o eliminacin de los datos de los clientes, proveedores y empleados.
Tambin se encarga de la administracin de las cuentas.
Notas:
Actor Principal

Propsito de la empresa.
La empresa tiene como propsito ofrecer a nuestro cliente la venta de gas de tipo
industrial y domestico, para la cual cuenta con un stock en nuestras bodegas de
almacenamiento, contamos con una cadena de distribuidores para as poder cumplir
con las necesidades de nuestra cartera de clientes.

Definicin del sistema


Procesos
Compra a Proveedor
Solicitar al proveedor el stock requerido.

Venta a Clientes
Pgina 2 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Reservacin del Cliente.


Generar factura que especifique el total a cobrar a los clientes por los
productos.
Especificacin de Procesos
Compra a Proveedor
Solicitar al proveedor el stock requerido.
La nica persona que puede llevar a cabo este proceso es el gerente, el
mismo que debe ingresar al sistema y enviar una solicitud al proveedor
escogido especificando la cantidad y el tipo de tanques que se desea
comprar.

Venta a Clientes
Reservacin del Cliente.
La nica persona que puede llevar a cabo este proceso es el administrador,
el mismo que debe ingresar al sistema y asignar las tareas especficas segn
los requerimientos de la reservacin aceptada.
Fijar el empleado encargado de entregar el producto al cliente.
El gerente debe asignar a un encargado para que cumpla con las tareas de
la solicitud. El encargado debe dirigirse a la direccin del cliente con los
tanques correspondientes.

Definicin de los lmites del sistema

Principal vista de usuario para el sistema

Pgina 3 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

DATOS
USUARIOS

FORMULARIO DE
PROVEEDORES

FORMULARIO DE
EMPLEADOS

FORMULARIO
SALIDA DE
PRODUCTOS

FORMULARIO DE
PEDIDOS

FACTURAS

TIPO DE
ACCESO
Ingresar

ADMINISTRADOR

Modificar

Eliminar

Consultar

Ingresar

Modificar

Eliminar

Consultar
Ingresar

X
X

Modificar

Eliminar

Consultar

EMPLEADO

Ingresar
Modificar

Eliminar

Consultar
Ingresar

X
X

Modificar

Eliminar

Consultar
Ingresar

Modificar

Eliminar

Consultar

Modificacin exitosa de los datos del empleado


Modificacin no exitosa, faltan datos

2. Eliminar empleado
Escenarios:

X
X

1. Modificar empleado
Escenarios:

CALL
CENTER

Eliminacin exitosa del proveedor


Pgina 4 de 50

X
X

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Eliminacin del empleado no exitosa, el empleado esta Activo


(trabajando)

3. Consultar empleado
Escenarios:

Consulta de empleado exitosa


Consulta de empleado no exitosa, la identificacin no existe

4. Ingresar producto
Escenarios:

Ingreso de nuevo producto exitoso


Ingreso producto no exitoso, la identificacin no existe

5. Modificar producto
Escenarios:

Modificacin del producto exitosa


Modificacin del producto no exitosa, la identificacin no existe

6. Eliminar producto
Escenarios:

Eliminacin de producto exitoso


Eliminacin de producto no exitosa, la identificacin no existe

7. Consultar producto
Escenarios:
Consulta de producto exitosa
Consulta de producto no exitosa, la identificacin no existe
8. Ingresar pedido
Escenarios:

Ingreso exitoso de nuevo pedido


Ingreso no exitoso por falta de datos

9. Modificar pedido
Escenarios:

Modificacin del pedido exitosa


Modificacin del pedido no exitosa, la identificacin no existe

10.Eliminar pedido
Escenarios:
Pgina 5 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Eliminacin de pedido exitoso


Eliminacin de pedido no exitosa, la identificacin no existe

11.Consultar pedido
Escenarios:

Consulta de pedido exitosa


Consulta de pedido no exitosa, la identificacin no existe

12.Realizar factura
Escenarios:

La factura se realizo con xito


La factura no se pudo realizar con xito

Descripcin de casos de usos


Descripcin
Notas:

C001: Ingresar sistema


El administrador, vendedor y call-center podrn
ingresar al sistema
Prerrequisitos: Ingresar el usuario y contrasea
Post Salidas: Mostrar opciones del men
Excepciones: Incompatibilidad entre el login y la
contrasea
Fallas del sistema
Usuario ingresado no existe

Descripcin
Notas:

C002: Ingresar usuarios


El administrador podr ingresar un usuario
Prerrequisitos: Acceder al sistema con
administrador
Post Salidas: Se almacena informacin del nuevo
usuario
Excepciones: Registro duplicado
Falta de datos
Falla del sistema
Pgina 6 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Ingreso de datos no validos

Descripcin
Notas:

C003: Modificar usuario


El administrador podr modificar la informacin de
un usuario
Prerrequisitos: Acceder al sistema con
administrador
Haber ingresado al menos un
usuario
Post Salidas: Se modifica la informacin de un
usuario
Excepciones: Falta de datos
Fallas del sistema
Ingreso de datos no validos

Descripcin
Notas:

C004:Eliminar usuario
El administrador podr eliminar un registro de un
usuario
Prerrequisitos: Acceder al sistema con
administrador
Post Salidas: Se elimina la informacin de un
usuario
Excepciones: Fallas del sistema

Pgina 7 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Descripcin
Notas:

C004: Consultar usuario


El administrador podr consultar la informacin de
un usuario
Prerrequisitos: Acceder al sistema con
administrador
Post Salidas: Se consulta la informacin de un
usuario
Excepciones: No existe el usuario que desea
consultar
Fallas del sistema

CU:002
Escenario 2.1
Escenario 2.2
Escenario 2.3

C002:Ingresar usuarios
Ingreso exitoso de nuevo usuario
Ingreso no exitoso, registros duplicados
Ingreso no exitoso por falta de datos

CU:003
Escenario 3.1
Escenario 3.2
Escenario 3.3

C003: Modificar usuarios


Modificacin exitosa de los datos del usuario
Modificacin no exitosa, registros duplicados
Modificacin no exitosa, faltan datos

CU:004
Escenario 4.1
Escenario 4.2

C004: Eliminar usuarios


Eliminacin exitosa del usuario
Eliminacin no exitosa por fallas del sistema

CU:005

C005: Consultar usuarios


Pgina 8 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Escenario 5.1
Escenario 5.2

Consulta de usuario exitosa


Consulta de usuario no existe, la identificacin ingresada
no existe

CU:006
Escenario 6.1
Escenario 6.2

C006: Ingresar proveedor


Ingreso exitoso de nuevo proveedor
Ingreso no exitoso por falta de datos

CU:007
Escenario 7.1
Escenario 7.2

C007: Modificar proveedor


Modificacin exitosa de los datos del proveedor
Modificacin no exitosa, faltan datos

CU:008
Escenario 8.1
Escenario 8.2

C008: Eliminar proveedor


Eliminacin exitosa del proveedor
Eliminacin no exitosa por fallas del sistema

CU:009
Escenario 9.1
Escenario 9.2

C009: Consultar proveedor


Consulta de proveedor exitosa
Consulta de proveedor no exitosa, la identificacin
ingresada no existe

CU:010
Escenario 10.1
Escenario 10

C010: Ingresar empleado


Ingreso exitoso de nuevo empleado
Ingreso no exitoso por falta de datos

CU:011

C011: Modificar empleado


Pgina 9 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Escenario 11.1
Escenario 11.2

Modificacin exitosa de los datos del empleado


Modificacin no exitosa, faltan datos

CU:012
Escenario 12.1
Escenario 12.2

C012: Eliminar empleado


Eliminacin exitosa del empleado
Eliminacin del empleado no exitosa, el empleado esta
Activo (trabajando)

CU:013
Escenario 13.1
Escenario 13.2

C013: Consultar empleado


Consulta de empleado exitosa
Consulta de empleado no exitosa, la identificacin no
existe

CU:014
Escenario 14.1
Escenario 14.2

C014: Ingresar producto


Ingreso de nuevo producto exitoso
Ingreso producto no exitoso, la identificacin no existe

CU:015
Escenario 15.1
Escenario 15.2

C015: Modificar producto


Modificacin del producto exitosa
Modificacin del producto no exitosa, la identificacin no
existe

CU:016
Escenario 16.1
Escenario 16.2

C016: Eliminar producto


Eliminacin de producto exitoso
Eliminacin de producto no exitosa, la identificacin no
existe

Pgina 10 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

CU:017
Escenario 17.1
Escenario 17.2

C017: Consultar producto


Consulta de producto exitosa
Consulta de producto no exitosa, la identificacin no
existe

CU:018
Escenario 18.1
Escenario 18.2

C018: Ingresar pedido


Ingreso exitoso de nuevo pedido
Ingreso no exitoso por falta de datos

CU:019
Escenario 19.1
Escenario 19.2

C019: Modificar pedido


Modificacin del pedido exitosa
Modificacin del pedido no exitosa, la identificacin no
existe

CU:020
Escenario 20.1
Escenario20.2

C20: Eliminar pedido


Eliminacin de pedido exitoso
Eliminacin de pedido no exitosa, la identificacin no
existe

CU:021
Escenario 21.1
Escenario 21.2

C021: Consultar pedido


Consulta de pedido exitosa
Consulta de pedido no exitosa, la identificacin no existe

CU:022

C022: Realizar factura

Pgina 11 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Escenario 22.1
Escenario 22.2

La factura se realizo con xito


La factura no se pudo realizar con xito

Modelo Lgico Anterior:

Cuenta
PK

usuario
clave

Persona
PK

FK1

Cedula
Nombre
Apellido
Genero
Edad
telefono 1
telefono2
direccion
sueldo
email1
email2
id_tipo
usuario

Tipo_persona
PK

id_tipo
Nombre

PK

Venta
id venta

FK1
FK2
FK3

id_cliente
id_empleado
id_det_reserva

Reservar

Comprar
PK

id_compra

FK1
FK2
FK3

id_empleado
id_proveedor
id_det_compra

id_producto
nombre
precio

PK

Detalle_Compra
PK

id_compra

FK1

cantidad
precio_total
id_producto

Detalle_Reserva

Producto

PK

id reserva

FK1
FK2
FK3

id_cliente
id_empleado
id_det_reserva

Pgina 12 de 50

PK

id_det_reserva

FK1

cantidad
id_producto
precio_total

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Modelo Lgico:

Pgina 13 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Diseo Lgico
Pgina 14 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Persona
PK

Cedula

FK1

Nombre
Apellido
Genero
Edad
telefono1
telefono2
direccion
sueldo
email1
email2
id_tipo
usuario
contrasea

Tipo_persona
PK

id_tipo
Nombre

PK

Venta
id venta

FK1
FK2
FK3

id_cliente
id_empleado
id_det_reserva

Reservar

Comprar
PK

id_compra

FK1
FK2
FK3

id_empleado
id_proveedor
id_det_compra

id_producto
nombre
precio

PK

Detalle_Compra
PK

id_compra
cantidad
precio_total

Diseo Conceptual

Pgina 15 de 50

Detalle_Reserva

Producto

PK

id reserva

FK1
FK2
FK3

id_cliente
id_empleado
id_det_reserva

PK

id_det_reserva

FK1

cantidad
id_producto
precio_total

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

INTERACCIN DE OBJETOS
Cliente (Empleado)
Caso 1:
Escenario 1.1:

Ingreso Cliente (Empleado)


El cliente ingreso con xito al sistema.

Pgina 16 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos
Validar
Ingresar
Paquete:
Direcciona
clave
usuario
pgina
y del cliente
SP:
Datos
de
la cuenta
del
index.jsp
Index.jsp
menu.jsp
UsuarioCtrl.class
Basedatos
de
Funcin:
usuario,
login
Datos
Cliente presionar
cuente
del
datos
login
LOGIN
Cliente

Caso 2:
Escenario 2.1:
xito.

Reservar Tanques
El cliente ingreso una reservacin de tanques con

Pgina 17 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos
Ingresar
Mensaje:
Presionar
todos
Los
Ingresar
datos
los
Guardar
datos
cliente.jsp
PedidoCtrl.
Ingresar_pedido.jsp
PedidoCtrl.class
Base
de
Class completado.jsp
Paquete:
Ctrl
datosFuncin:
fueron
obligatorios
registrados
Pedido y
SP:
insertarPedido
datos
presionar
correctamente.
Enviar
reservar
insertarDetallePedido

Caso 3:
Escenario 3.1:
xito.

Ver Reservas de tanques pendientes


El cliente consulta sus reservas de tanques con

Pgina 18 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos
Funcin:
Presionar
Ver
Datos
las
index.jsp
ver_pedido.jsp
Basede
de
Paquete:
PedidoCtrl.class
Ctrl,Srv
consultaReservas
Reservas/
Res
ervaciones
SP: listarPedidos

es.java
datos
* Pendientes

Caso 4:
Escenario 4.1:

Eliminar Reservacin de tanques pendientes


El cliente elimina su reservacin de tanques con xito.

Pgina 19 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos
Funcin:
Presionar
ver_pendientes.jsp
completado.jsp
Base
de
Mens
Paquete:
PedidoCtrl.
aje:
Ctrl,
Se Srv
class
eliminaPedido()
Drop
SP:
eliminaron
datos
eliminaPedido
correctamente
EliminaDetalle.

Cliente
Caso 5:
Escenario 5.1:

Ingreso Cliente
El cliente ingreso con xito al sistema.

Pgina 20 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos
Validar
Ingresar
Paquete:
Direcciona
clave
Ctrl,
pgina
y class
Srv
del cliente
SP:
Datos
de
la Cuenta
del
index.jsp
menu.jsp
Basedatos
de
UsuarioCtrl.
UsuarioSrv.
class
Funcin:
usuario,
validarDatos.
Datos
Cliente presionar
cuenta
del
datos
Validardatos();
Ingresar
Cliente

Caso 6:
Escenario 6.1:
buscado.

Consultar datos
El cliente consulta

con xito

Pgina 21 de 50

los datos del empleado

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos
Opcin:
Presionar
Datos
de
la
Datos
de
los Srv
index.jsp
UsuarioSrv.jsp
Base
de
Funcin:
UsuarioCtrl.
lista_usuario.
Paquete:
Ctrl,
class
jsp
ConsultaUsuario
Consultar
consulta
empleados
listarEmpleados
SP:listarEmpleados

datos
realizada
Empleados

Caso 7:
Escenario 7.1:
seleccionado.

Modificar datos del Empleado


El cliente modifica con xito los datos del empleado
Pgina 22 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos
Opcin:
Presionar
Escribir
Paquete:
Datos
Funcin:
del
los
Editar
Ctrl,
datos
Srvque
se desean
Datos
del
empleado
index.jsp
completado.jsp
Base
de
UsuarioCtrl.
Modifica_usu
class
modificarUsua
Edit
modificar
SP:modificaUsuario
empleado
yapresionar Guardar
datos
modificar
rio
ario.jsp

Pgina 23 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Caso 8:
Escenario 8.1:
Presionar
Paquete:
Ingresar
Funcin:
Opcin:
todos
insertaCuenta
Ctrl, Srv
losclass
ingresar_Usu
index.jsp
Baseingresar
de
UsuarioSrv.
completado.
UsuarioCtrl.
class
jsp
insertausuario
Add
datos
obligatorios
SP:
y
ario.jsp
datos
insertaUsuario
presionar

Registrar empleado con xito


El cliente registr un empleado con xito al sistema.

insertaCuenta
ingresar

Pgina 24 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Caso 9:
Venta de tanques
Escenario 9.1:
El empleado vende la reservacin escogida.
Funcin:
Paquete:
Datos
Se
ha confirmado
de
las
Datos
Presionar
de
Confirmar
las class
reslaervaciones
lista_pedidos.jsp
completado.jsp
Base
de
PedidoCtrl.
PedidoSrv.
class
listarPendientes
Confirmar/
packReservacionT
reservaciones
reservacin
escogida
poranques
SP:
por
confirmar
datos
*Tanques
listarPendientesT
confirmar
anque

Pgina 25 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Caso 10:
Ingreso Administrador
Escenario 10.1:
El Administrador ingreso con xito al sistema.
Validar
Ingresar
Paquete:
Direcciona
clave
Ctrl,
pgina
yFuncin:
Srv
del Administrador
SP:
Datos
de
la cuenta
del
index.jsp
menu.jsp
Basedatos
de
UsuarioCtrl.
class
usuario,
validaUsuario
ValidaUsuario
presionar
Adminis
cuenta
del
trador
datos
Ingresar
Adminis trador

Pgina 26 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Caso 11:
Escenario 11.1:
sistema.
Ingresar
Presionar
Opcin:
todos
Add
modifica_usua
index.jsp
completado.jsp
Baseingresar
de
UsuarioCtrl.
UsuarioSrv.
Funcin:
Paquete:
insertaCuenta
Ctrl, los
Srv
class
datos obligatorios y
insertaUsuario
SP:insertaUsuario,
rio.jsp
datos
presionar Ingresar
class

Registrar datos del empleado


El Administrador registr un empleado con xito al

insertaCuenta

Pgina 27 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Caso 12:
Escenario 12.1:
xito.

Modificar datos del empleado


El Administrador modifico datos del empleado con

Pgina 28 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Mensaje:
Presionar
Paquete:
Funcin:
Se
CtrlSP:
edit
lista_usuario.jsp
completado.jsp
Base modificarCuenta
de
Funcin:
Paquete:
UsuarioCtrl.
UsuarioSrv.
SrvModificaron
SP:
class
class
modificaCuenta
modificarUsuario
correctamente
los datos
modificarUsuarios
datos

Pgina 29 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Caso 13:
Escenario 13.1:
Presionar
Paquete:
Mensaje:
Se
Ctrl,Srv
elimino
lista_usuarios.jsp
Baseeliminar
de
UsuarioCtrl.
Usuario.
opcion:
class
class
Eliminar
SP:
correctamente
el usuario
datos
eliminarUsuario

Eliminar empleado
El Administrador elimino a un empleado con xito.

eliminaCuenta

Pgina 30 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Caso 14:
Escenario 14.1:

Modificar datos del cliente


El Administrador modifico datos del cliente con xito.

Pgina 31 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Mensaje:
Presionar
Paquete:
Funcin:
Se
Ctrl
edit
index.jsp
completado.jsp
modifica_usuario.jsp
Base modificaCuenta
de
Funcin:
Paquete:
UsuarioCtrl.
srvModificaron
class
SP: modificarUsuario
correctamente
los datos
modificaUsuario
SP:odificaCuenta
datos

Pgina 32 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Caso 15:
Eliminar cliente
Escenario 15.1:
El Administrador elimino a un cliente con xito.
Presionar
Paquete:
Mensaje:
El
Ctrl,
Drop
usuario
Srvclass
se elimino
lista_usurios.jsp
completado.jsp
Base de
UsuarioCtrl.
Funcin:
eliminar
SP:
correctamente
datos
eliminarUsuario
eliminarCuenta

Pgina 33 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Diccionario de Datos:

TABLA TB_PERSONA
NOMBRE

TIPO

DESCRIPCION

CARDINALID
AD

TAMA
O

Cedula

Varchar2

PK, identificador de la tabla.

(1.1)

20

Nombre

Varchar2

Nombre de la persona

(1.1)

20

Pgina 34 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Apellido

Varchar2

Apellido

(1.1)

20

Genero

Varchar2

Solo son dos entre Masculino


y Femenino

(1.1)

20

Edad

Varchar2

La edad de la persona

(1.1)

20

Direccin

Varchar2

Direccin del domicilio de la


empresa o persona

(1.1)

20

Telefono1

Varchar2

Telfono principal de la
empresa o persona

(1.1)

20

Telefono2

Varchar2

Es el telfono secundario de
la persona, es para evitar el
atributo multivaluado.

(1.1)

20

Email1

Varchar2

Email principal de la empresa


o persona

(1.1)

20

(1.1)

20

(1.1)

20

(1.1)

20

(1.1)

20

Email2

Varchar2

Id_tipo

Varchar2

Usuario

Varchar2

Contrasen
ia

Varchar2

Es el email secundario de la
persona, es para evitar el
atributo multivaluado.
FK, Es el identificador del tipo
de persona al que nos
referimos
Es el usuario que va a tener
la persona o empresa para
acceder a la base de datos
Es la contrasea que va a
tener la persona o empresa
para entrar a la base de
datos

TABLA TB_TIPO
NOMBRE

TIPO

DESCRIPCION

CARDINALID
AD

TAMA
O

Id_tipo

Varchar2

PK, identificador de la tabla.

(1.1)

20

Nombre

Varchar2

Nombre del tipo de la Persona

(1.1)

20

Pgina 35 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

TABLA TB_COMPRA
NOMBRE

TIPO

DESCRIPCION

CARDINALID
AD

TAMA
O

Id_compra

Varchar2

PK, identificador de la tabla.

(1.1)

20

Id_emplead
o

Varchar2

(1.1)

20

Id_proveedo
r

Varchar2

(1.1)

20

Id_det_com
pra

Varchar2

(1.1)

20

FK1, identificador del


empleado que interviene en
la transaccin
FK2, identificador del
proveedor que interviene en
la transaccin
FK2, identificador del
detalle de la compra

TABLA TB_DETALLE_COMPRA
NOMBRE

TIPO

DESCRIPCION

CARDINALID
AD

TAMA
O

Id_det_com
pra

Varchar2

PK, identificador de la tabla.

(1.1)

20

Id_producto

Varchar2

(1.1)

20

Cantidad

Numric
o

(1.1)

20

Precio_total

Varchar2

(1.1)

20

FK1, identificador del


producto
Cantidad del producto que
compramos
Precio total de los productos
que compramos
TABLA TB_VENTA

NOMBRE

TIPO

DESCRIPCION

CARDINALID
AD

TAMA
O

Id_venta

Varchar2

PK, identificador de la tabla.

(1.1)

20

Id_emplead
o

Varchar2

(1.1)

20

Id_cliente

Varchar2

(1.1)

20

FK1, identificador del


empleado que interviene en
la transaccin
FK2, identificador del
cliente que interviene en la
Pgina 36 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

transaccin
Id_det_reser
va

Varchar2

FK2, identificador del


detalle de la reserva que
hace el cliente

(1.1)

20

TABLA TB_DETALLE_RESERVA
NOMBRE

TIPO

DESCRIPCION

CARDINALID
AD

TAMA
O

Id_det_reser
va

Varchar2

PK, identificador de la tabla.

(1.1)

20

Id_producto

Varchar2

(1.1)

20

Cantidad

Numric
o

(1.1)

20

Precio_total

Varchar2

(1.1)

20

FK1, identificador del


producto
Cantidad del producto que
reserva el cliente
Precio total de los productos
que reserva el cliente

TABLA TB_RESERVA
NOMBRE

TIPO

DESCRIPCION

CARDINALID
AD

TAMA
O

Id_reserva

Varchar2

PK, identificador de la tabla.

(1.1)

20

Id_emplead
o

Varchar2

(1.1)

20

Id_cliente

Varchar2

(1.1)

20

Id_det_reser
va

Varchar2

(1.1)

20

CARDINALID
AD

TAMA
O

FK1, identificador del


empleado que interviene en
la transaccin
FK2, identificador del
cliente que interviene en la
transaccin
FK2, identificador del
empleado q interviene en la
transaccin

TABLA TB_PRODUCTO
NOMBRE

TIPO

DESCRIPCION

Pgina 37 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Id_producto

Varchar2

PK, identificador de la tabla.

(1.1)

20

Nombre

Varchar2

Nombre del producto que


son: Industrial y Domstico

(1.1)

20

Precio

Varchar2

Precio del producto

(1.1)

20

Diagrama de Clases:

Pgina 38 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

Producto
Usuario
Venta
Cuenta
Detalle
Pedido

id_pedido:String
Cedula:
id_venta:String
Us
idDetalle:String
uario:s
s tring int
Id_producto:
Nombre:s
id_cliente:
Pas
idPedido:String
cedula:String
s word:s
tring
String
tring
Nombre:
string
Apellido:s
id_empleado:String
getUs
idProducto:String
fechaP:String
uario:s
tring
tring
Precio: string
Genero:s
fecha:String
getPas
cantidad:String
horaP:String
s word:s
tring tring
Stock:
stringtring
Edad:int
hora;String
s
precio_total:s
es
etUs
tado:String
uario:void
getId_producto:string
Telefono1:s
s
getidDetalle:String
total:s
etPastring
s word:void
tring
getNombre:string
Telefono2:s tring
getid_venta:String
getidPedido:String
getid_pedido:String
Email1:s
getid_cliente:
getidProducto:String
getCedula:String
tring
getPrecio:string
Email2:s tring
String
getcantidad:String
getFechaP:String
getStock::string
Id_tipo:s
getid_empleado:Str
getprecio_total:s
getHoraP:String
tring
tring
setId_producto:void
Us
ing
s
getEs
etidDetalle:void
uario:s
tado:String
tring
setNombre:void
getCedula:
getfecha:String
s
getTotal:s
etidPedido:void
tring
s tring
setPrecio:string
getNombre:s
gethora;String
s
etidProducto:void
etId_pedido:String
tring
setStock:string
getApellido:s
gettotal:s
s
etcantidad:void
etCedula:String
tring
tring
getGenero:s
s
etid_venta:void
etprecio_total:void
etFechaP:String
tring
getEdad:int
s
etid_cliente: void
ethoraP:String
getTelefono1:s
s
etid_empleado:voi
etEs
tado:String
tring
getTelefono2:s
d
s
etTotal:s tring tring
getEmail1:s
s
etfecha:void
tring
getEmail2:s
s
ethora:voidtring
getId_tipo:s
s
ettotal:voidtring
getUs uario:s tring
s etCedula: void
s etNombre:void
s etApellido:void
s etGenero:void
s etEdad:void
s etTelefono1:void
s etTelefono2:void
s etEmail1:void
s etEmail2:void
s etId_tipo:void
s etUs uario:void

Tablas:
CREATE TABLE "TB_CUENTA"
( "USUARIO" VARCHAR2 (15) NOT NULL,
"CONTRASENIA" VARCHAR2 (20) NOT NULL,
CONSTRAINT "CUENTA_PK" PRIMARY KEY ("USUARIO")
)
CREATE TABLE TB_TIPO"
( "ID_TIPO" VARCHAR2(10) NOT NULL,
"NOMBRE" VARCHAR2(20) NOT NULL,
CONSTRAINT "TB_TIPO_PK" PRIMARY KEY ("ID_TIPO")
)
CREATE TABLE "TB_PERSONA"
( "CEDULA" VARCHAR2(10) NOT NULL,
"NOMBRE" VARCHAR2(50) NOT NULL,
"APELLIDO" VARCHAR2(50) NOT NULL,
"GENERO" VARCHAR2(5) NOT NULL,
"EDAD" NUMBER NOT NULL,
"TELEFONO1" VARCHAR2(10) NOT NULL,
"TELEFONO2" VARCHAR2(10),
"DIRECCION" VARCHAR2(100) NOT NULL,
"EMAIL1" VARCHAR2(25) NOT NULL,
"EMAIL2" VARCHAR2(25),
"ID_TIPO" VARCHAR2(10) NOT NULL,
"USUARIO" VARCHAR2(15) NOT NULL,
CONSTRAINT "TB_PERSONA_PK" PRIMARY KEY ("CEDULA"),
CONSTRAINT "TB_PERSONA_FK" FOREIGN KEY ("USUARIO")
Pgina 39 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

REFERENCES "TB_CUENTA" ("USUARIO"),


CONSTRAINT "TB_PERSONA_FK1" FOREIGN KEY ("ID_TIPO")
REFERENCES "TB_TIPO" ("ID_TIPO")
)
CREATE TABLE "TB_COMPRA"
( "ID_COMPRA" VARCHAR2(10) NOT NULL,
"ID_EMPLEADO" VARCHAR2(10) NOT NULL,
"ID_PROVEEDOR" VARCHAR2(10) NOT NULL,
"FECHA" VARCHAR2(15) NOT NULL,
"HORA" VARCHAR2(15) NOT NULL,
"TOTAL" VARCHAR2(10),
CONSTRAINT "TB_COMPRA_PK" PRIMARY KEY ("ID_COMPRA"),
CONSTRAINT "TB_COMPRA_FK" FOREIGN KEY ("ID_EMPLEADO")
REFERENCES "TB_PERSONA" ("CEDULA"),
CONSTRAINT "TB_COMPRA_FK2" FOREIGN KEY ("ID_PROVEEDOR")
REFERENCES "TB_PERSONA" ("CEDULA")
)
CREATE TABLE "TB_PRODUCTO"
( "ID_PRODUCTO" VARCHAR2(10) NOT NULL,
"NOMBRE" VARCHAR2(20) NOT NULL,
"PRECIO" VARCHAR2(10) NOT NULL,
"STOCK" VARCHAR2(5) NOT NULL,
CONSTRAINT "TB_PRODUCTO_PK" PRIMARY KEY ("ID_PRODUCTO")
)
CREATE TABLE "TB_RESERVA"
( "ID_RESERVA" VARCHAR2(10),
"ID_CLIENTE" VARCHAR2(10) NOT NULL,
"FECHA" VARCHAR2(15) NOT NULL,
"HORA" VARCHAR2(15) NOT NULL,
"ESTADO" VARCHAR2(15),
"TOTAL" VARCHAR2(10) NOT NULL,
CONSTRAINT "TB_RESERVA_PK" PRIMARY KEY ("ID_RESERVA"),
CONSTRAINT "TB_RESERVA_FK" FOREIGN KEY ("ID_CLIENTE")
REFERENCES "TB_PERSONA" ("CEDULA")
)
CREATE TABLE "TB_VENTA"
( "ID_VENTA" VARCHAR2(10) NOT NULL,
"ID_CLIENTE" VARCHAR2(10) NOT NULL,
"ID_EMPLEADO" VARCHAR2(10) NOT NULL,
"FECHA" VARCHAR2(15) NOT NULL,
"HORA" VARCHAR2(15) NOT NULL,
"TOTAL" VARCHAR2(10),
CONSTRAINT "TB_VENTA_PK" PRIMARY KEY ("ID_VENTA"),
CONSTRAINT "TB_VENTA_FK" FOREIGN KEY ("ID_CLIENTE")
REFERENCES "TB_PERSONA" ("CEDULA"),
CONSTRAINT "TB_VENTA_FK2" FOREIGN KEY ("ID_EMPLEADO")
REFERENCES "TB_PERSONA" ("CEDULA")
)
CREATE TABLE "TB_DET_COMPRA"
( "ID_DET_COMPRA" VARCHAR2(10) NOT NULL,
"ID_COMPRA" VARCHAR2(10) NOT NULL,
"ID_PRODUCTO" VARCHAR2(10) NOT NULL,
"CANTIDAD" VARCHAR2(10),
"PRECIO_TOTAL" VARCHAR2(10),
CONSTRAINT "TB_DET_COMPRA_PK" PRIMARY KEY ("ID_DET_COMPRA"),
CONSTRAINT "TB_DET_COMPRA_FK" FOREIGN KEY ("ID_COMPRA")
REFERENCES "TB_COMPRA" ("ID_COMPRA"),
CONSTRAINT "TB_DET_COMPRA_FK2" FOREIGN KEY ("ID_PRODUCTO")
Pgina 40 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

REFERENCES

"TB_PRODUCTO" ("ID_PRODUCTO")

)
CREATE TABLE "TB_DET_RESERVA"
( "ID_DET_RESERVA" VARCHAR2(10) NOT NULL,
"ID_RESERVA" VARCHAR2(10) NOT NULL,
"ID_PRODUCTO" VARCHAR2(10) NOT NULL,
"CANTIDAD" VARCHAR2(10),
"PRECIO_TOTAL" VARCHAR2(10),
CONSTRAINT "TB_DET_RESERVA_PK" PRIMARY KEY ("ID_DET_RESERVA"),
CONSTRAINT "TB_DET_RESERVA_FK" FOREIGN KEY ("ID_RESERVA")
REFERENCES "TB_RESERVA" ("ID_RESERVA"),
CONSTRAINT "TB_DET_RESERVA_FK2" FOREIGN KEY ("ID_PRODUCTO")
REFERENCES "TB_PRODUCTO" ("ID_PRODUCTO")
)
CREATE TABLE "TB_DET_VENTA"
( "ID_DET_VENTA" VARCHAR2(10) NOT NULL,
"ID_VENTA" VARCHAR2(10) NOT NULL,
"ID_PRODUCTO" VARCHAR2(10) NOT NULL,
"CANTIDAD" VARCHAR2(10),
"PRECIO_TOTAL" VARCHAR2(10),
CONSTRAINT "TB_DET_VENTA_PK" PRIMARY KEY ("ID_DET_VENTA"),
CONSTRAINT "TB_DET_VENTA_FK" FOREIGN KEY ("ID_PRODUCTO")
REFERENCES "TB_PRODUCTO" ("ID_PRODUCTO"),
CONSTRAINT "TB_DET_VENTA_FK2" FOREIGN KEY ("ID_VENTA")
REFERENCES "TB_VENTA" ("ID_VENTA")
)
Procedures:
CUENTA:
create or replace package cuenta as
type salida is ref cursor;
procedure
procedure
salida);
procedure
procedure
varchar2);
procedure

inserta_cuenta(usu varchar2,pass varchar2);


consulta_cuenta(usu varchar2, resultado in out
modifica_cuentaUsuario(usu varchar2,pass varchar2);
modifica_cuentaContrasenia(usu varchar2,pass
elimina_cuenta(usu varchar2);

end cuenta;
create or replace package body cuenta as
procedure inserta_cuenta(usu varchar2,pass varchar2) is
begin
insert into tb_cuenta (usuario,contrasenia)
values(usu,pass);
commit;
end;
is

procedure consulta_cuenta(usu varchar2, resultado in out salida)


begin

open resultado for select * from tb_cuenta where

usuario=usu;
end;
Pgina 41 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

procedure modifica_cuentaUsuario(usu varchar2,pass varchar2) is


begin
update tb_cuenta set usuario=usu where contrasenia=pass;
commit;
end;
procedure modifica_cuentaContrasenia(usu varchar2,pass varchar2)
is

begin
update tb_cuenta set contrasenia=pass where usuario=usu;
commit;
end;

procedure elimina_cuenta(usu varchar2) is


begin
delete from tb_cuentawhere usuario=usu;
commit;
end;
end cuenta;

PRODUCTO:
create or replace package producto as
type salida is ref cursor;
procedure consulta_todo_productos(resultado in out salida);
procedure modifica_stock(id varchar2,stk varchar2);
procedure modifica_stockCompra(id varchar2,stk varchar2);
end producto;
/
create or replace package body producto as
procedure consulta_todo_productos(resultado in out salida) is
begin
open resultado for select * from tb_producto;
end;
procedure modifica_stock(id varchar2,stk varchar2) is
begin
update tb_producto set stock = stock-stk where id_producto
= id;

= id;

commit;
end;
procedure modifica_stockCompra(id varchar2,stk varchar2) is
begin
update tb_producto set stock = stock+stk where id_producto
commit;
end;
Pgina 42 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

end producto;

USUARIO:
create or replace package usuario as
type salida is ref cursor;
procedure valida_usuario(usu varchar2,pass varchar2, resultado
in out salida);
procedure consulta_usuario(consulta varchar2 , tipo number,
resultado in out salida);
procedure consultar_empleados(resultado in out salida);
procedure consultar_clientes(resultado in out salida);
procedure consultar_proveedores(resultado in out salida);
procedure listar_usuarios(resultado in out salida);
procedure inserta_usuario(ced varchar2,nom varchar2,ape
varchar2,gen varchar2,eda varchar2,tel1 varchar2,tel2 varchar2,dir
varchar2,mail1 varchar2,mail2 varchar2,tip varchar2,usu varchar2);
procedure modifica_usuario(ced varchar2,nom varchar2,ape
varchar2,gen varchar2,eda varchar2,tel1 varchar2,tel2 varchar2,dir
varchar2,mail1 varchar2,mail2 varchar2,tip varchar2,usu varchar2);
procedure elimina_usuario(ced varchar2);
end usuario;
create or replace package body usuario as
procedure valida_usuario(usu varchar2,pass varchar2, resultado
in out salida) is
begin
open resultado for select * from tb_cuenta where
usuario=usu and contrasenia=pass;
end;
procedure consulta_usuario(consulta varchar2 , tipo number,
resultado in out salida) is
begin
if tipo = 1 then
open resultado for select * from tb_persona where nombre
like ''||consulta||'%' order by nombre asc;
elsif tipo = 2 then
open resultado for select * from tb_persona where apellido
like ''||consulta||'%' order by apellido asc;
elsif tipo = 3 then
open resultado for select * from tb_persona where cedula
like ''||consulta||'%';
elsif tipo = 4 then
open resultado for select * from tb_persona where id_tipo
like ''||consulta||'%' order by id_tipo asc;
elsif tipo = 5 then
open resultado for select * from tb_persona where usuario
like ''||consulta||'%';
end if;
end;
procedure consultar_empleados(resultado in out salida) is
begin
open resultado for select * from tb_persona where
id_tipo =2;
Pgina 43 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

end;
procedure consultar_clientes(resultado in out salida) is
begin
open resultado for select * from tb_persona where
id_tipo =3;
end;
procedure consultar_proveedores(resultado in out salida) is
begin
open resultado for select * from tb_persona where
id_tipo =4;
end;
procedure listar_usuarios(resultado in out salida) is
begin
open resultado for select * from tb_persona;
end;
procedure inserta_usuario(ced varchar2,nom varchar2,ape
varchar2,gen varchar2,eda varchar2,tel1 varchar2,tel2 varchar2,dir
varchar2,mail1 varchar2,mail2 varchar2,tip varchar2,usu varchar2) is
begin
insert into tb_persona
(cedula,nombre,apellido,genero,edad,telefono1,telefono2,direccion,emai
l1,email2,id_tipo,usuario)
values(ced,nom,ape,gen,eda,tel1,tel2,dir,mail1,mail2,tip,usu);
commit;
end;
procedure modifica_usuario(ced varchar2,nom varchar2,ape
varchar2,gen varchar2,eda varchar2,tel1 varchar2,tel2 varchar2,dir
varchar2,mail1 varchar2,mail2 varchar2,tip varchar2,usu varchar2) is
begin
update tb_persona set
nombre=nom,apellido=ape,genero=gen,edad=eda,telefono1=tel1,
telefono2=tel2, direccion=dir, email1=mail1, email2=mail2,
id_tipo=tip, usuario=usu where cedula=ced;
commit;
end;
procedure elimina_usuario(ced varchar2) is
begin
delete from tb_persona where cedula=ced;
commit;
end;
end usuario;

RESERVA:
create or replace package reserva as
type salida is ref cursor;
procedure consulta_next_id(maximo in out salida);
procedure consulta_next_id_det(maximo in out salida);
procedure consulta_reserva(resultado in out salida);
procedure consulta_reservaPendientes(resultado in out salida);
procedure consulta_reservaVendidas(resultado in out salida);
procedure consulta_reservaEliminadas(resultado in out salida);
Pgina 44 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

procedure consulta_reservaxId(id varchar2,resultado in out


salida);
procedure inserta_reserva(id varchar2,idcl varchar2,fe
varchar2,ho varchar2,est varchar2,tot varchar2);
procedure modifica_reserva(id varchar2,idcl varchar2,fe
varchar2,ho varchar2,est varchar2,tot varchar2);
procedure reserva_vendida(id varchar2);
procedure elimina_reserva(id varchar2);
procedure consulta_det_reserva(idres varchar2,resultado in out
salida);
procedure inserta_det_reserva(id varchar2,idreserva
varchar2,idprod varchar2,cant varchar2,ptotal varchar2);
procedure modifica_det_reserva(id varchar2,idreserva
varchar2,idprod varchar2,cant varchar2,ptotal varchar2);
procedure elimina_det_reserva(id varchar2);
end reserva;
/
create or replace package body reserva as
procedure consulta_next_id(maximo in out salida) is
begin
open maximo for select count(id_reserva)+1 from tb_reserva;
end;
procedure consulta_next_id_det(maximo in out salida) is
begin
open maximo for select count(id_det_reserva)+1 from
tb_det_reserva;
end;
procedure consulta_reserva(resultado in out salida) is
begin
open resultado for select * from tb_reserva order by
id_reserva;
end;
procedure consulta_reservaPendientes(resultado in out salida) is
begin
open resultado for select * from tb_reserva where
estado='pendiente' order by id_reserva;
end;
procedure consulta_reservaVendidas(resultado in out salida) is
begin
open resultado for select * from tb_reserva where
estado='vendido' order by id_reserva;
end;
procedure consulta_reservaEliminadas(resultado in out salida) is
begin
open resultado for select * from tb_reserva where
estado='eliminado' order by id_reserva;
end;
procedure consulta_reservaxId(id varchar2,resultado in out
salida) is
begin
open resultado for select * from tb_reserva where
id_reserva=id;
end;
Pgina 45 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

procedure inserta_reserva(id varchar2,idcl varchar2,fe


varchar2,ho varchar2,est varchar2,tot varchar2) is
begin
insert into tb_reserva
(id_reserva,id_cliente,fecha,hora,estado,total)
values(id,idcl,fe,ho,est,tot);
commit;
end;
procedure modifica_reserva(id varchar2,idcl varchar2,fe
varchar2,ho varchar2,est varchar2,tot varchar2) is
begin
update tb_reserva set
id_cliente=idcl,fecha=fe,hora=ho,estado=est,total=tot where
id_reserva=id;
commit;
end;
procedure reserva_vendida(id varchar2) is
begin
update tb_reserva set estado='vendido' where id_reserva=id;
commit;
end;
procedure elimina_reserva(id varchar2) is
begin
update tb_reserva set estado='eliminado' where
id_reserva=id;
commit;
end;
procedure consulta_det_reserva(idres varchar2,resultado in out
salida) is
begin
open resultado for select * from tb_det_reserva where
id_reserva=idres order by id_det_reserva;
end;
procedure inserta_det_reserva(id varchar2,idreserva
varchar2,idprod varchar2,cant varchar2,ptotal varchar2) is
begin
insert into tb_det_reserva
(id_det_reserva,id_reserva,id_producto,cantidad,precio_total)
values(id,idreserva,idprod,cant,ptotal);
commit;
end;
procedure modifica_det_reserva(id varchar2,idreserva
varchar2,idprod varchar2,cant varchar2,ptotal varchar2) is
begin
update tb_det_reserva set
id_reserva=idreserva,id_producto=idprod,cantidad=cant,precio_total=pto
tal where id_det_reserva=id;
commit;
end;
procedure elimina_det_reserva(id varchar2) is
begin
delete from tb_det_reservawhere id_det_reserva=id;
commit;
end;
Pgina 46 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

end reserva;
VENTA:
create or replace package venta as
type salida is ref cursor;
procedure consulta_next_id(maximo in out salida);
procedure consulta_next_id_det(maximo in out salida);
procedure consulta_venta(resultado in out salida);
procedure consulta_ventaxID(idventa varchar2,resultado in out
salida);
procedure inserta_venta(id varchar2,idcl varchar2,idemp
varchar2,fe varchar2,ho varchar2,tot varchar2);
procedure modifica_venta(id varchar2,idcl varchar2,idemp
varchar2,fe varchar2,ho varchar2,tot varchar2);
procedure elimina_venta(id varchar2);
procedure consulta_det_venta(idventa varchar2,resultado in out
salida);
procedure inserta_det_venta(id varchar2,idventa varchar2,idprod
varchar2,cant varchar2,ptotal varchar2);
procedure modifica_det_venta(id varchar2,idventa varchar2,idprod
varchar2,cant varchar2,ptotal varchar2);
procedure elimina_det_venta(id varchar2);
end venta;
/
create or replace package body venta as
procedure consulta_next_id(maximo in out salida) is
begin
open maximo for select count(id_venta)+1 from tb_venta;
end;
procedure consulta_next_id_det(maximo in out salida) is
begin
open maximo for select count(id_det_venta)+1 from
tb_det_venta;
end;
procedure consulta_venta(resultado in out salida) is
begin
open resultado for select * from tb_venta;
end;
procedure consulta_ventaxID(idventa varchar2,resultado in out
salida) is
begin
open resultado for select * from tb_venta where id_venta
= idventa;
end;
procedure inserta_venta(id varchar2,idcl varchar2,idemp
varchar2,fe varchar2,ho varchar2,tot varchar2) is
begin
insert into tb_venta
(id_venta,id_cliente,id_empleado,fecha,hora,total)
values(id,idcl,idemp,fe,ho,tot);
commit;
end;
Pgina 47 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

procedure modifica_venta(id varchar2,idcl varchar2,idemp


varchar2,fe varchar2,ho varchar2,tot varchar2) is
begin
update tb_venta set
id_cliente=idcl,id_empleado=idemp,fecha=fe,hora=ho,total=tot where
id_venta=id;
commit;
end;
procedure elimina_venta(id varchar2) is
begin
delete from tb_ventawhere id_venta=id;
commit;
end;
procedure consulta_det_venta(idventa varchar2,resultado in out
salida) is
begin
open resultado for select * from tb_det_venta where
id_venta=idventa;
end;
procedure inserta_det_venta(id varchar2,idventa varchar2,idprod
varchar2,cant varchar2,ptotal varchar2) is
begin
insert into tb_det_venta
(id_det_venta,id_venta,id_producto,cantidad,precio_total)
values(id,idventa,idprod,cant,ptotal);
commit;
end;
procedure modifica_det_venta(id varchar2,idventa varchar2,idprod
varchar2,cant varchar2,ptotal varchar2) is
begin
update tb_det_venta set
id_producto=idprod,cantidad=cant,precio_total=ptotal,id_venta=idventa
where id_det_venta=id;
commit;
end;
procedure elimina_det_venta(id varchar2) is
begin
delete from tb_det_ventawhere id_det_venta=id;
commit;
end;
end venta;

COMPRA:
create or replace package compra as
type salida is ref cursor;
procedure consulta_next_id(maximo in out salida);
procedure consulta_next_id_det(maximo in out salida);
procedure consulta_compra(resultado in out salida);
procedure consulta_compraxID(idcompra varchar2,resultado in out
salida);
procedure inserta_compra(id varchar2,idemp varchar2,idprov
varchar2,fe varchar2,ho varchar2,tot varchar2);
Pgina 48 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

procedure modifica_compra(id varchar2,idemp varchar2,idprov


varchar2,fe varchar2,ho varchar2,tot varchar2);
procedure elimina_compra(id varchar2);
procedure consulta_det_compra(idcompra varchar2,resultado in out
salida);
procedure inserta_det_compra(id varchar2,idcompra
varchar2,idprod varchar2,cant varchar2,ptotal varchar2);
procedure modifica_det_compra(id varchar2,idcompra
varchar2,idprod varchar2,cant varchar2,ptotal varchar2);
procedure elimina_det_compra(id varchar2);
end compra;
/
create or replace package body compra as
procedure consulta_next_id(maximo in out salida) is
begin
open maximo for select count(id_compra)+1 from tb_compra;
end;
procedure consulta_next_id_det(maximo in out salida) is
begin
open maximo for select count(id_det_compra)+1 from
tb_det_compra;
end;
procedure consulta_compra(resultado in out salida) is
begin
open resultado for select * from tb_compra;
end;
procedure consulta_compraxID(idcompra varchar2,resultado in
out salida) is
begin
open resultado for select * from tb_compra where
id_compra = idcompra;
end;
procedure inserta_compra(id varchar2,idemp varchar2,idprov
varchar2,fe varchar2,ho varchar2,tot varchar2) is
begin
insert into tb_compra
(id_compra,id_empleado,id_proveedor,fecha,hora,total)
values(id,idemp,idprov,fe,ho,tot);
commit;
end;
procedure modifica_compra(id varchar2,idemp varchar2,idprov
varchar2,fe varchar2,ho varchar2,tot varchar2) is
begin
update tb_compra set
id_empleado=idemp,id_proveedor=idprov,fecha=fe,hora=ho,total=tot where
id_compra=id;
commit;
end;
procedure elimina_compra(id varchar2) is
begin
delete from tb_comprawhere id_compra=id;
commit;
Pgina 49 de 50

Escuela Superior Politcnica del Litoral


Siste
ma de Base de Datos

end;
procedure consulta_det_compra(idcompra varchar2,resultado in out
salida) is
begin
open resultado for select * from tb_det_compra where
id_compra=idcompra;
end;
procedure inserta_det_compra(id varchar2,idcompra
varchar2,idprod varchar2,cant varchar2,ptotal varchar2) is
begin
insert into tb_det_compra
(id_det_compra,id_compra,id_producto,cantidad,precio_total)
values(id,idcompra,idprod,cant,ptotal);
commit;
end;
procedure modifica_det_compra(id varchar2,idcompra
varchar2,idprod varchar2,cant varchar2,ptotal varchar2) is
begin
update tb_det_compra set
id_producto=idprod,cantidad=cant,precio_total=ptotal,id_compra=idcompr
a where id_det_compra=id;
commit;
end;
procedure elimina_det_compra(id varchar2) is
begin
delete from tb_det_comprawhere id_det_compra=id;
commit;
end;
end compra;

Pgina 50 de 50

Vous aimerez peut-être aussi