Doc Varios
1. ENTORNO
* MySQL 5.1.
* NetBeans IDE 6.9.1
* Apache Tomcat
* JDK 1.6.0 - 21
2. INTRODUCCIÓN
En el siguiente tutorial vamos a desarrollar un carrito de compras o lo que seria un sistema de ventas usando el lenguaje de programación Java, como base de datos vamos a usar el MySQL 5.1. ytambien crearemos un reporte con JasperReports. La base de datos que vamos a crear es una base de datos con fines didácticos, dado que nos faltaría crear mas tablas, como la tabla cliente, categoría, unidad de medida, etc pero si nos explayamos mucho nos quedaría muy largo el tutorial. Ademas en el ejemplo no se explica como disminuir un stock, debido a que eso siempre se les pide a los alumnosuniversitario que investiguen como hacerlo, pero si quieren una ayudita lo pueden hacer creando Triggers en la base de datos. La aplicación se desarrollara en un formato web usando el patrón de Modelo, Vista y Controlador. Y para la parte de la vista usaremos lo que se conoce como Java Server Page (JSP). Espero que el ejemplo se de su utilidad.
3. DESARROLLO
En esta primera parte del tutorial vamos acrear la base de datos en MySQL 5.1., la base de datos se llamara BDTutorial
3.1. Diseño de la base de datos
La base de datos tendría las siguientes tablas: Venta, Producto y DetalleVenta
A continuación les paso el script de creación de la base de datos
-- CREADO POR: HENRY JOE WONG URQUIZA
-- FECHA: 24FEB2011
-- ------------------------------------------------------
-- TUTORIAL DECOMO HACER UN CARRITO DE COMPRAS USANDO
-- EL MODELO VISTA CONTROLADOR
--
-- Creando la base de datos
--
CREATE DATABASE IF NOT EXISTS bdtutorial;
USE bdtutorial;
--
-- Creando la tabla `detalleventa`
--
DROP TABLE IF EXISTS `detalleventa`;
CREATE TABLE `detalleventa` (
`codigoVenta` int(11) NOT NULL,
`codigoProducto` int(11) NOT NULL,
`cantidad` decimal(18,2) NOT NULL,`descuento` decimal(18,2) NOT NULL,
PRIMARY KEY (`codigoVenta`,`codigoProducto`),
KEY `FK_DetalleVenta_Producto` (`codigoProducto`),
CONSTRAINT `FK_DetalleVenta_Producto` FOREIGN KEY (`codigoProducto`) REFERENCES `producto` (`codigoProducto`),
CONSTRAINT `FK_DetalleVenta_Venta` FOREIGN KEY (`codigoVenta`) REFERENCES `venta` (`codigoVenta`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;--
-- Creando la tabla `producto`
--
DROP TABLE IF EXISTS `producto`;
CREATE TABLE `producto` (
`codigoProducto` int(11) NOT NULL,
`nombre` varchar(100) NOT NULL,
`precio` decimal(18,2) NOT NULL,
PRIMARY KEY (`codigoProducto`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Creando la tabla venta
--
DROP TABLE IF EXISTS `venta`;
CREATE TABLE `venta` (
`codigoVenta`int(11) NOT NULL,
`cliente` varchar(100) NOT NULL,
`fecha` datetime NOT NULL,
PRIMARY KEY (`codigoVenta`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
3.2. Creando los procedimientos almacenados
Según Wikipedia un procedimiento almacenado (stored procedure en inglés) es un programa (o procedimiento) el cual es almacenado físicamente en una base de datos. Su implementación varía de unmanejador de bases de datos a otro. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y sólo necesita enviar sus resultados de regreso al usuario, deshaciéndose de lasobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.
3.2.1. Procedimientos almacenados para la tabla Producto
-- CREADO POR: HENRY JOE WONG URQUIZA
-- FECHA: 24FEBRERO2011
-- ------------------------------------------------------
-- TUTORIAL DE COMO REALIZAR UN CARRITO DE COMPRAS CON JAVA Y JSP
-- APLICANDO MODELO, VISTA Y CONTROLADOR
-- Procedimiento...
Regístrate para leer el documento completo.