martes, 3 de mayo de 2016

PHP - Carrito de Compras Parte I - Creación de la Base de Datos

1. Entorno

  • NetBeans IDE 6.9.1
  • WampServer 2.1.

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 PHP, como base de datos vamos a usar el MySQL 5.1. y tambien crearemos un reporte en formato excel de las ventas. 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 alumnos universitario 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 modelo de Programación en Capas.
Para poder ejecutar el MySQL debemos de tener instalador el WampServer 2.1. en nuestra computadora.

3. Desarrollo

La base de datos tendría las siguientes tablas. Venta, Producto y DetalleVenta 

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTHuiVqabF1F4_bIU01JRmQ0awlgtCzMquQPvOen1vrx-DhugA627haT1qCb1RL8RZ-WxvpCpAruroTnlkPREnXMygyYSoAkMlqsYEl4kO3-uK9pJYPS7wYt4ddSOvcw16o9yGl1Ed2bM/s1600/diagrama.png
A continuación les paso el script de creación de la base de datos


-- CREADO POR: HENRY JOE WONG URQUIZA
-- FECHA: 24FEB2011
-- ------------------------------------------------------
-- TUTORIAL DE COMO 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;

No hay comentarios.:

Publicar un comentario