Sie sind auf Seite 1von 13

-- MySQL Script generated by MySQL Workbench

-- Model: New Model Version: 1.0

-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;

SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;

SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------

-- Schema dbproyecto

-- -----------------------------------------------------

-- -----------------------------------------------------

-- Schema dbproyecto

-- -----------------------------------------------------

CREATE SCHEMA IF NOT EXISTS `dbproyecto` DEFAULT CHARACTER SET utf8 ;

USE `dbproyecto` ;

-- -----------------------------------------------------

-- Table `dbproyecto`.`usuarios`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`usuarios` (

`id_usuario` INT NOT NULL AUTO_INCREMENT,

`nombres` VARCHAR(100) NOT NULL,

`apellidos` VARCHAR(100) NOT NULL,

`cedula` VARCHAR(100) NOT NULL,

`telefono` VARCHAR(100) NOT NULL,

`correo` VARCHAR(100) NOT NULL,

`direccion` VARCHAR(100) NOT NULL,


`cargo` ENUM('0', '1') NOT NULL,

`usuario` VARCHAR(100) NOT NULL,

`password` VARCHAR(100) NOT NULL,

`password2` VARCHAR(100) NOT NULL,

`fecha_ingreso` DATE NOT NULL,

`estado` ENUM('0', '1') NOT NULL,

PRIMARY KEY (`id_usuario`))

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `dbproyecto`.`categoria`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`categoria` (

`id_categoria` INT NOT NULL AUTO_INCREMENT,

`categoria` VARCHAR(100) NOT NULL,

`estado` ENUM('0', '1') NOT NULL,

`id_usuario` INT NOT NULL,

PRIMARY KEY (`id_categoria`),

INDEX `fk_categoria_usuarios_idx` (`id_usuario` ASC),

CONSTRAINT `fk_categoria_usuarios`

FOREIGN KEY (`id_usuario`)

REFERENCES `dbproyecto`.`usuarios` (`id_usuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `dbproyecto`.`producto`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`producto` (

`id_producto` INT NOT NULL AUTO_INCREMENT,

`id_categoria` INT NOT NULL,

`producto` VARCHAR(100) NOT NULL,

`presentacion` VARCHAR(100) NOT NULL,

`unidad` VARCHAR(45) NOT NULL,

`moneda` VARCHAR(45) NOT NULL,

`precio_compra` VARCHAR(45) NOT NULL,

`precio_venta` VARCHAR(45) NOT NULL,

`stock` VARCHAR(45) NOT NULL,

`estado` ENUM('0', '1') NOT NULL,

`imagen` VARCHAR(45) NOT NULL,

`fecha_vencimiento` DATE NOT NULL,

`id_usuario` INT NOT NULL,

PRIMARY KEY (`id_producto`),

INDEX `fk_producto_categoria_idx` (`id_categoria` ASC),

INDEX `fk_producto_usuario_idx` (`id_usuario` ASC),

CONSTRAINT `fk_producto_categoria`

FOREIGN KEY (`id_categoria`)

REFERENCES `dbproyecto`.`categoria` (`id_categoria`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_producto_usuario`

FOREIGN KEY (`id_usuario`)

REFERENCES `dbproyecto`.`usuarios` (`id_usuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `dbproyecto`.`proveedor`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`proveedor` (

`id_proveedor` INT NOT NULL AUTO_INCREMENT,

`cedula` VARCHAR(45) NOT NULL,

`razon_social` VARCHAR(100) NOT NULL,

`telefono` VARCHAR(100) NOT NULL,

`correo` VARCHAR(45) NOT NULL,

`direccion` VARCHAR(150) NOT NULL,

`fecha` DATE NOT NULL,

`estado` ENUM('0', '1') NOT NULL,

`id_usuario` INT NOT NULL,

PRIMARY KEY (`id_proveedor`),

INDEX `fk_proveedor_usuario_idx` (`id_usuario` ASC),

CONSTRAINT `fk_proveedor_usuario`

FOREIGN KEY (`id_usuario`)

REFERENCES `dbproyecto`.`usuarios` (`id_usuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `dbproyecto`.`compras`

-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dbproyecto`.`compras` (

`id_compras` INT NOT NULL AUTO_INCREMENT,

`fecha_compra` DATE NOT NULL,

`numero_compra` VARCHAR(100) NOT NULL,

`proveedor` VARCHAR(100) NOT NULL,

`cedula_proveedor` VARCHAR(100) NOT NULL,

`comprador` VARCHAR(100) NOT NULL,

`moneda` VARCHAR(100) NOT NULL,

`subtotal` VARCHAR(100) NOT NULL,

`total_iva` VARCHAR(100) NOT NULL,

`total` VARCHAR(100) NOT NULL,

`tipo_pago` VARCHAR(100) NOT NULL,

`estado` ENUM('0', '1') NOT NULL,

`id_usuario` INT NOT NULL,

`id_proveedor` INT NOT NULL,

PRIMARY KEY (`id_compras`),

INDEX `fk_compras_usuario_idx` (`id_usuario` ASC),

INDEX `fk_compras_proveedor_idx` (`id_proveedor` ASC),

CONSTRAINT `fk_compras_usuario`

FOREIGN KEY (`id_usuario`)

REFERENCES `dbproyecto`.`usuarios` (`id_usuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_compras_proveedor`

FOREIGN KEY (`id_proveedor`)

REFERENCES `dbproyecto`.`proveedor` (`id_proveedor`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;
-- -----------------------------------------------------

-- Table `dbproyecto`.`detalle_compras`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`detalle_compras` (

`id_detalle_compras` INT NOT NULL AUTO_INCREMENT,

`numero_compra` VARCHAR(100) NOT NULL,

`cedula_proveedor` VARCHAR(100) NOT NULL,

`id_producto` INT NOT NULL,

`producto` VARCHAR(100) NOT NULL,

`moneda` VARCHAR(100) NOT NULL,

`precio_compra` VARCHAR(100) NOT NULL,

`cantidad_compra` VARCHAR(100) NOT NULL,

`descuento` VARCHAR(100) NOT NULL,

`importe` VARCHAR(100) NOT NULL,

`fecha_compra` DATE NOT NULL,

`id_usuario` INT NOT NULL,

`id_proveedor` INT NOT NULL,

`estado` ENUM('0', '1') NOT NULL,

`id_categoria` INT NOT NULL,

PRIMARY KEY (`id_detalle_compras`),

INDEX `fk_detalle_compras_producto_idx` (`id_producto` ASC),

INDEX `fk_detalle_compras_usuario_idx` (`id_usuario` ASC),

INDEX `fk_detalle_compras_proveedor_idx` (`id_proveedor` ASC),

INDEX `fk_detalle_compras_categoria_idx` (`id_categoria` ASC),

CONSTRAINT `fk_detalle_compras_producto`

FOREIGN KEY (`id_producto`)

REFERENCES `dbproyecto`.`producto` (`id_producto`)


ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_detalle_compras_usuario`

FOREIGN KEY (`id_usuario`)

REFERENCES `dbproyecto`.`usuarios` (`id_usuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_detalle_compras_proveedor`

FOREIGN KEY (`id_proveedor`)

REFERENCES `dbproyecto`.`proveedor` (`id_proveedor`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_detalle_compras_categoria`

FOREIGN KEY (`id_categoria`)

REFERENCES `dbproyecto`.`categoria` (`id_categoria`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `dbproyecto`.`clientes`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`clientes` (

`id_cliente` INT NOT NULL AUTO_INCREMENT,

`cedula_cliente` VARCHAR(100) NOT NULL,

`nombre_cliente` VARCHAR(100) NOT NULL,

`apellido_cliente` VARCHAR(100) NOT NULL,

`telefono_cliente` VARCHAR(100) NOT NULL,


`correo_cliente` VARCHAR(100) NOT NULL,

`direccion_cliente` VARCHAR(100) NOT NULL,

`fecha_ingreso` DATE NOT NULL,

`estado` ENUM('0', '1') NOT NULL,

`id_usuario` INT NOT NULL,

PRIMARY KEY (`id_cliente`),

INDEX `fk_clientes_usuario_idx` (`id_usuario` ASC),

CONSTRAINT `fk_clientes_usuario`

FOREIGN KEY (`id_usuario`)

REFERENCES `dbproyecto`.`usuarios` (`id_usuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `dbproyecto`.`ventas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`ventas` (

`id_ventas` INT NOT NULL AUTO_INCREMENT,

`fecha_venta` DATE NOT NULL,

`numero_venta` VARCHAR(100) NOT NULL,

`cliente` VARCHAR(100) NOT NULL,

`cedula_cliente` VARCHAR(100) NOT NULL,

`vendedor` VARCHAR(100) NOT NULL,

`moneda` VARCHAR(100) NOT NULL,

`subtotal` VARCHAR(100) NOT NULL,

`total_iva` VARCHAR(100) NOT NULL,

`total` VARCHAR(100) NOT NULL,


`tipo_pago` VARCHAR(100) NOT NULL,

`estado` ENUM('0', '1') NOT NULL,

`id_usuario` INT NOT NULL,

`id_cliente` INT NOT NULL,

PRIMARY KEY (`id_ventas`),

INDEX `fk_ventas_usuario_idx` (`id_usuario` ASC),

INDEX `fk_ventas_cliente_idx` (`id_cliente` ASC),

CONSTRAINT `fk_ventas_usuario`

FOREIGN KEY (`id_usuario`)

REFERENCES `dbproyecto`.`usuarios` (`id_usuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_ventas_cliente`

FOREIGN KEY (`id_cliente`)

REFERENCES `dbproyecto`.`clientes` (`id_cliente`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `dbproyecto`.`detalle_ventas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`detalle_ventas` (

`id_detalle_ventas` INT NOT NULL AUTO_INCREMENT,

`numero_venta` VARCHAR(100) NOT NULL,

`cedula_cliente` VARCHAR(100) NOT NULL,

`id_producto` INT NOT NULL,

`producto` VARCHAR(100) NOT NULL,


`moneda` VARCHAR(100) NOT NULL,

`precio_venta` VARCHAR(100) NOT NULL,

`cantidad_venta` VARCHAR(100) NOT NULL,

`descuento` VARCHAR(100) NOT NULL,

`importe` VARCHAR(100) NOT NULL,

`fecha_venta` DATE NOT NULL,

`id_usuario` INT NOT NULL,

`id_cliente` INT NOT NULL,

`estado` ENUM('0', '1') NOT NULL,

PRIMARY KEY (`id_detalle_ventas`),

INDEX `fk_detalle_ventas_producto_idx` (`id_producto` ASC),

INDEX `fk_detalle_ventas_usuario_idx` (`id_usuario` ASC),

INDEX `fk_detalle_ventas_clientes_idx` (`id_cliente` ASC),

CONSTRAINT `fk_detalle_ventas_producto`

FOREIGN KEY (`id_producto`)

REFERENCES `dbproyecto`.`producto` (`id_producto`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_detalle_ventas_usuario`

FOREIGN KEY (`id_usuario`)

REFERENCES `dbproyecto`.`usuarios` (`id_usuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_detalle_ventas_clientes`

FOREIGN KEY (`id_cliente`)

REFERENCES `dbproyecto`.`clientes` (`id_cliente`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;
-- -----------------------------------------------------

-- Table `dbproyecto`.`empresa`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`empresa` (

`id_empresa` INT NOT NULL AUTO_INCREMENT,

`cedula_empresa` VARCHAR(100) NOT NULL,

`nombre_empresa` VARCHAR(100) NOT NULL,

`direccion_empresa` VARCHAR(100) NOT NULL,

`correo_empresa` VARCHAR(100) NOT NULL,

`telefono_empresa` VARCHAR(100) NOT NULL,

`id_usuario` INT NOT NULL,

PRIMARY KEY (`id_empresa`),

INDEX `fk_empresa_usuario_idx` (`id_usuario` ASC),

CONSTRAINT `fk_empresa_usuario`

FOREIGN KEY (`id_usuario`)

REFERENCES `dbproyecto`.`usuarios` (`id_usuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `dbproyecto`.`permisos`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`permisos` (

`id_permiso` INT NOT NULL AUTO_INCREMENT,

`nombre` VARCHAR(100) NOT NULL,


PRIMARY KEY (`id_permiso`))

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `dbproyecto`.`usuario_permiso`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `dbproyecto`.`usuario_permiso` (

`id_usuario_permiso` INT NOT NULL AUTO_INCREMENT,

`id_usuario` INT NOT NULL,

`id_permiso` INT NOT NULL,

PRIMARY KEY (`id_usuario_permiso`),

INDEX `fk_usuario_permiso_usuario_idx` (`id_usuario` ASC),

INDEX `fk_usuario_permiso_permiso_idx` (`id_permiso` ASC),

CONSTRAINT `fk_usuario_permiso_usuario`

FOREIGN KEY (`id_usuario`)

REFERENCES `dbproyecto`.`usuarios` (`id_usuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_usuario_permiso_permiso`

FOREIGN KEY (`id_permiso`)

REFERENCES `dbproyecto`.`permisos` (`id_permiso`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;

SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Das könnte Ihnen auch gefallen