Escuela Superior Politécnica 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 Raúl Patricio Reyes Moyota Wendy Jaramillo Ortiz Carlos Olmedo Vaca Quimi
AÑO LECTIVO: 2009-2010 I TÉRMINO
SISTEMA DE VENTA DE GAS
Página 1 de 50
Escuela Superior Politécnica 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 Descripción de Actores 1. Nombre: Cliente Descripción: Persona que solicita nuevos tanques o servicio técnico a la empresa. Además puede ver sus reservas y el estado en el que se encuentran. Notas: Actor Principal 2. Nombre: Empleado Descripción: Persona que se encarga de retirar los tanques del proveedor, entregar tanques Notas:
Actor Principal
3. Nombre: Administrador Descripción: Persona que se encarga de la administración del sistema: el ingreso, modificación o eliminación de los datos de los clientes, proveedores y empleados. También se encarga de la administración de las cuentas. Notas: Actor Principal
Propósito de la empresa. La empresa tiene como propósito 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.
Definición del sistema Procesos Compra a Proveedor Solicitar al proveedor el stock requerido.
Venta a Clientes Página 2 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Reservación del Cliente. Generar factura que especifique el total a cobrar a los clientes por los productos. Especificación 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 Reservación 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 específicas según los requerimientos de la reservación 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 dirección del cliente con los tanques correspondientes.
Definición de los límites del sistema
Principal vista de usuario para el sistema
Página 3 de 50
Escuela Superior Politécnica 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
X
Eliminar
X
Consultar
X
Ingresar
X
Modificar
X
Eliminar
X
Consultar Ingresar
X X
Modificar
X
Eliminar
X
Consultar
X
EMPLEADO
X
Ingresar Modificar
X
Eliminar
X
Consultar Ingresar
X
X X
Modificar
X
Eliminar
X
Consultar Ingresar
X
Modificar
X
Eliminar
X
Consultar
X
Modificación exitosa de los datos del empleado Modificación no exitosa, faltan datos
2. Eliminar empleado Escenarios: •
X X
X
1. Modificar empleado Escenarios: • •
CALL CENTER
Eliminación exitosa del proveedor Página 4 de 50
X X
X
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
•
Eliminación del empleado no exitosa, el empleado esta Activo (trabajando)
3. Consultar empleado Escenarios: • •
Consulta de empleado exitosa Consulta de empleado no exitosa, la identificación no existe
4. Ingresar producto Escenarios: • •
Ingreso de nuevo producto exitoso Ingreso producto no exitoso, la identificación no existe
5. Modificar producto Escenarios: • •
Modificación del producto exitosa Modificación del producto no exitosa, la identificación no existe
6. Eliminar producto Escenarios: • •
Eliminación de producto exitoso Eliminación de producto no exitosa, la identificación no existe
7. Consultar producto Escenarios: • Consulta de producto exitosa • Consulta de producto no exitosa, la identificación no existe 8. Ingresar pedido Escenarios: • •
Ingreso exitoso de nuevo pedido Ingreso no exitoso por falta de datos
9. Modificar pedido Escenarios: • •
Modificación del pedido exitosa Modificación del pedido no exitosa, la identificación no existe
10.Eliminar pedido Escenarios: Página 5 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
• •
Eliminación de pedido exitoso Eliminación de pedido no exitosa, la identificación no existe
11.Consultar pedido Escenarios: • •
Consulta de pedido exitosa Consulta de pedido no exitosa, la identificación no existe
12.Realizar factura Escenarios: • •
La factura se realizo con éxito La factura no se pudo realizar con éxito
Descripción de casos de usos Descripción Notas:
C001: Ingresar sistema El administrador, vendedor y call-center podrán ingresar al sistema Prerrequisitos: Ingresar el usuario y contraseña Post Salidas: Mostrar opciones del menú Excepciones: Incompatibilidad entre el login y la contraseña Fallas del sistema Usuario ingresado no existe
Descripción Notas:
C002: Ingresar usuarios El administrador podrá ingresar un usuario Prerrequisitos: Acceder al sistema con administrador Post Salidas: Se almacena información del nuevo usuario Excepciones: Registro duplicado Falta de datos Falla del sistema Página 6 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Ingreso de datos no validos
Descripción Notas:
C003: Modificar usuario El administrador podrá modificar la información de un usuario Prerrequisitos: Acceder al sistema con administrador Haber ingresado al menos un usuario Post Salidas: Se modifica la información de un usuario Excepciones: Falta de datos Fallas del sistema Ingreso de datos no validos
Descripción Notas:
C004:Eliminar usuario El administrador podrá eliminar un registro de un usuario Prerrequisitos: Acceder al sistema con administrador Post Salidas: Se elimina la información de un usuario Excepciones: Fallas del sistema
Página 7 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Descripción Notas:
C004: Consultar usuario El administrador podrá consultar la información de un usuario Prerrequisitos: Acceder al sistema con administrador Post Salidas: Se consulta la información 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 Modificación exitosa de los datos del usuario Modificación no exitosa, registros duplicados Modificación no exitosa, faltan datos
CU:004 Escenario 4.1 Escenario 4.2
C004: Eliminar usuarios Eliminación exitosa del usuario Eliminación no exitosa por fallas del sistema
CU:005
C005: Consultar usuarios Página 8 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Escenario 5.1 Escenario 5.2
Consulta de usuario exitosa Consulta de usuario no existe, la identificación 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 Modificación exitosa de los datos del proveedor Modificación no exitosa, faltan datos
CU:008 Escenario 8.1 Escenario 8.2
C008: Eliminar proveedor Eliminación exitosa del proveedor Eliminación 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 identificación 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 Página 9 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Escenario 11.1 Escenario 11.2
Modificación exitosa de los datos del empleado Modificación no exitosa, faltan datos
CU:012 Escenario 12.1 Escenario 12.2
C012: Eliminar empleado Eliminación exitosa del empleado Eliminación 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 identificación no existe
CU:014 Escenario 14.1 Escenario 14.2
C014: Ingresar producto Ingreso de nuevo producto exitoso Ingreso producto no exitoso, la identificación no existe
CU:015 Escenario 15.1 Escenario 15.2
C015: Modificar producto Modificación del producto exitosa Modificación del producto no exitosa, la identificación no existe
CU:016 Escenario 16.1 Escenario 16.2
C016: Eliminar producto Eliminación de producto exitoso Eliminación de producto no exitosa, la identificación no existe
Página 10 de 50
Escuela Superior Politécnica 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 identificación 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 Modificación del pedido exitosa Modificación del pedido no exitosa, la identificación no existe
CU:020 Escenario 20.1 Escenario20.2
C20: Eliminar pedido Eliminación de pedido exitoso Eliminación de pedido no exitosa, la identificación no existe
CU:021 Escenario 21.1 Escenario 21.2
C021: Consultar pedido Consulta de pedido exitosa Consulta de pedido no exitosa, la identificación no existe
CU:022
C022: Realizar factura
Página 11 de 50
Escuela Superior Politécnica 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 Lógico 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
Página 12 de 50
PK
id_det_reserva
FK1
cantidad id_producto precio_total
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Modelo Lógico:
Página 13 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Diseño Lógico Página 14 de 50
Escuela Superior Politécnica 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 contraseña
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
Diseño Conceptual
Página 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 Politécnica del Litoral Siste ma de Base de Datos
INTERACCIÓN DE OBJETOS Cliente (Empleado) Caso 1: Escenario 1.1:
Ingreso Cliente (Empleado) El cliente ingreso con éxito al sistema.
Página 16 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos Validar Ingresar Paquete: Direcciona clave usuario página y del cliente SP: Datos de la cuenta del index.jsp Index.jsp menu.jsp UsuarioCtrl.class Basedatos de Función: usuario, login Datos Cliente presionar cuente del datos login LOGIN Cliente
Caso 2: Escenario 2.1: éxito.
Reservar Tanques El cliente ingreso una reservación de tanques con
Página 17 de 50
Escuela Superior Politécnica 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 datosFunción: 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
Página 18 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos Función: 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 Reservación de tanques pendientes El cliente elimina su reservación de tanques con éxito.
Página 19 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos Función: 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.
Página 20 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos Validar Ingresar Paquete: Direcciona clave Ctrl, página y class Srv del cliente SP: Datos de la Cuenta del index.jsp menu.jsp Basedatos de UsuarioCtrl. UsuarioSrv. class Función: usuario, validarDatos. Datos Cliente presionar cuenta del datos Validardatos(); Ingresar Cliente
Caso 6: Escenario 6.1: buscado.
Consultar datos El cliente consulta
con éxito
Página 21 de 50
los datos del empleado
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos Opción: Presionar Datos de la Datos de los Srv index.jsp UsuarioSrv.jsp Base de Función: 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 Página 22 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos Opción: Presionar Escribir Paquete: Datos Función: 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
Página 23 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Caso 8: Escenario 8.1: Presionar Paquete: Ingresar Función: Opción: 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
Página 24 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Caso 9: Venta de tanques Escenario 9.1: El empleado vende la reservación escogida. Función: 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 reservación escogida poranques SP: por confirmar datos *Tanques listarPendientesT confirmar anque
Página 25 de 50
Escuela Superior Politécnica 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, página yFunción: 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
Página 26 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Caso 11: Escenario 11.1: sistema. Ingresar Presionar Opción: todos Add modifica_usua index.jsp completado.jsp Baseingresar de UsuarioCtrl. UsuarioSrv. Función: 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
Página 27 de 50
Escuela Superior Politécnica 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
Página 28 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Mensaje: Presionar Paquete: Función: Se CtrlSP: edit lista_usuario.jsp completado.jsp Base modificarCuenta de Función: Paquete: UsuarioCtrl. UsuarioSrv. SrvModificaron SP: class class modificaCuenta modificarUsuario correctamente los datos modificarUsuarios datos
Página 29 de 50
Escuela Superior Politécnica 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
Página 30 de 50
Escuela Superior Politécnica 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.
Página 31 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
Mensaje: Presionar Paquete: Función: Se Ctrl edit index.jsp completado.jsp modifica_usuario.jsp Base modificaCuenta de Función: Paquete: UsuarioCtrl. srvModificaron class SP: modificarUsuario correctamente los datos modificaUsuario SP:odificaCuenta datos
Página 32 de 50
Escuela Superior Politécnica 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. Función: eliminar SP: correctamente datos eliminarUsuario eliminarCuenta
Página 33 de 50
Escuela Superior Politécnica 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
Página 34 de 50
Escuela Superior Politécnica 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
Dirección
Varchar2
Dirección del domicilio de la empresa o persona
(1….1)
20
Telefono1
Varchar2
Teléfono principal de la empresa o persona
(1….1)
20
Telefono2
Varchar2
Es el teléfono 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 contraseña 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
Página 35 de 50
Escuela Superior Politécnica 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 transacción FK2, identificador del proveedor que interviene en la transacción 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
Numéric 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 transacción FK2, identificador del cliente que interviene en la Página 36 de 50
Escuela Superior Politécnica del Litoral Siste ma de Base de Datos
transacción 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
Numéric 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 transacción FK2, identificador del cliente que interviene en la transacción FK2, identificador del empleado q interviene en la transacción
TABLA TB_PRODUCTO NOMBRE
TIPO
DESCRIPCION
Página 37 de 50
Escuela Superior Politécnica 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 Doméstico
(1….1)
20
Precio
Varchar2
Precio del producto
(1….1)
20
Diagrama de Clases:
Página 38 de 50
Escuela Superior Politécnica 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") Página 39 de 50
Escuela Superior Politécnica 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") Página 40 de 50
Escuela Superior Politécnica 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; Página 41 de 50
Escuela Superior Politécnica 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; Página 42 de 50
Escuela Superior Politécnica 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; Página 43 de 50
Escuela Superior Politécnica 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); Página 44 de 50
Escuela Superior Politécnica 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; Página 45 de 50
Escuela Superior Politécnica 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; Página 46 de 50
Escuela Superior Politécnica 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; Página 47 de 50
Escuela Superior Politécnica 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); Página 48 de 50
Escuela Superior Politécnica 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; Página 49 de 50
Escuela Superior Politécnica 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;
Página 50 de 50