-- 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='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; -- ----------------------------------------------------- -- Schema mydb -- ----------------------------------------------------- -- ----------------------------------------------------- -- Schema inventario -- ----------------------------------------------------- -- ----------------------------------------------------- -- Schema inventario -- ----------------------------------------------------- CREATE SCHEMA IF NOT EXISTS `inventario` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ; USE `inventario` ; -- ----------------------------------------------------- -- Table `inventario`.`departamentos` -- ----------------------------------------------------- DROP TABLE IF EXISTS `inventario`.`departamentos` ; CREATE TABLE IF NOT EXISTS `inventario`.`departamentos` ( `iddepartamentos` INT NOT NULL, `Nombre` VARCHAR(45) NULL, PRIMARY KEY (`iddepartamentos`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `inventario`.`users` -- ----------------------------------------------------- DROP TABLE IF EXISTS `inventario`.`users` ; CREATE TABLE IF NOT EXISTS `inventario`.`users` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `password` VARCHAR(255) NOT NULL, `role` ENUM('ADMIN', 'USER') CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci' NOT NULL, `nombre` VARCHAR(255) NOT NULL, `mail` VARCHAR(45) NOT NULL, `departamentos_iddepartamentos` INT NULL, PRIMARY KEY (`id`), UNIQUE INDEX `UKr43af9ap4edm43mmtq01oddj6` (`nombre` ASC) VISIBLE, UNIQUE INDEX `mail_UNIQUE` (`mail` ASC) VISIBLE, INDEX `fk_users_departamentos1_idx` (`departamentos_iddepartamentos` ASC) VISIBLE, CONSTRAINT `fk_users_departamentos1` FOREIGN KEY (`departamentos_iddepartamentos`) REFERENCES `inventario`.`departamentos` (`iddepartamentos`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB AUTO_INCREMENT = 6 DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci; -- ----------------------------------------------------- -- Table `inventario`.`tipodato` -- ----------------------------------------------------- DROP TABLE IF EXISTS `inventario`.`tipodato` ; CREATE TABLE IF NOT EXISTS `inventario`.`tipodato` ( `idtipodato` INT NOT NULL AUTO_INCREMENT, `tipo_dato` VARCHAR(45) NULL, PRIMARY KEY (`idtipodato`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `inventario`.`propiedad` -- ----------------------------------------------------- DROP TABLE IF EXISTS `inventario`.`propiedad` ; CREATE TABLE IF NOT EXISTS `inventario`.`propiedad` ( `idpropiedad` INT NOT NULL AUTO_INCREMENT, `nombre` VARCHAR(45) NULL, `tipodato_idtipodato` INT NOT NULL, PRIMARY KEY (`idpropiedad`), UNIQUE INDEX `nombre_UNIQUE` (`nombre` ASC) VISIBLE, INDEX `fk_propiedad_tipodato_idx` (`tipodato_idtipodato` ASC) VISIBLE, CONSTRAINT `fk_propiedad_tipodato` FOREIGN KEY (`tipodato_idtipodato`) REFERENCES `inventario`.`tipodato` (`idtipodato`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `inventario`.`ubicacion` -- ----------------------------------------------------- DROP TABLE IF EXISTS `inventario`.`ubicacion` ; CREATE TABLE IF NOT EXISTS `inventario`.`ubicacion` ( `idubicacion` INT NOT NULL AUTO_INCREMENT, `nombre` VARCHAR(25) NULL, `descripcion` VARCHAR(100) NULL, `notas` VARCHAR(255) NULL, PRIMARY KEY (`idubicacion`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `inventario`.`categoria` -- ----------------------------------------------------- DROP TABLE IF EXISTS `inventario`.`categoria` ; CREATE TABLE IF NOT EXISTS `inventario`.`categoria` ( `idcategoria` INT NOT NULL AUTO_INCREMENT, `nombre` VARCHAR(45) NULL, PRIMARY KEY (`idcategoria`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `inventario`.`producto` -- ----------------------------------------------------- DROP TABLE IF EXISTS `inventario`.`producto` ; CREATE TABLE IF NOT EXISTS `inventario`.`producto` ( `idproducto` INT NOT NULL AUTO_INCREMENT, `nombre` VARCHAR(45) NULL, `productocol` VARCHAR(45) NULL, `categoria_idcategoria` INT NOT NULL, `departamentos_iddepartamentos` INT NOT NULL, PRIMARY KEY (`idproducto`), INDEX `fk_producto_categoria1_idx` (`categoria_idcategoria` ASC) VISIBLE, INDEX `fk_producto_departamentos1_idx` (`departamentos_iddepartamentos` ASC) VISIBLE, CONSTRAINT `fk_producto_categoria1` FOREIGN KEY (`categoria_idcategoria`) REFERENCES `inventario`.`categoria` (`idcategoria`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_producto_departamentos1` FOREIGN KEY (`departamentos_iddepartamentos`) REFERENCES `inventario`.`departamentos` (`iddepartamentos`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `inventario`.`item` -- ----------------------------------------------------- DROP TABLE IF EXISTS `inventario`.`item` ; CREATE TABLE IF NOT EXISTS `inventario`.`item` ( `iditem` INT NOT NULL AUTO_INCREMENT, `fecha_alta` DATE NULL, `fecha_modificacion` DATE NULL, `users_id` BIGINT NOT NULL, `ubicacion_idubicacion` INT NOT NULL, `producto_idproducto` INT NOT NULL, PRIMARY KEY (`iditem`), INDEX `fk_item_users1_idx` (`users_id` ASC) VISIBLE, INDEX `fk_item_ubicacion1_idx` (`ubicacion_idubicacion` ASC) VISIBLE, INDEX `fk_item_producto1_idx` (`producto_idproducto` ASC) VISIBLE, CONSTRAINT `fk_item_users1` FOREIGN KEY (`users_id`) REFERENCES `inventario`.`users` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_item_ubicacion1` FOREIGN KEY (`ubicacion_idubicacion`) REFERENCES `inventario`.`ubicacion` (`idubicacion`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_item_producto1` FOREIGN KEY (`producto_idproducto`) REFERENCES `inventario`.`producto` (`idproducto`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `inventario`.`valor` -- ----------------------------------------------------- DROP TABLE IF EXISTS `inventario`.`valor` ; CREATE TABLE IF NOT EXISTS `inventario`.`valor` ( `idvalor` INT NOT NULL AUTO_INCREMENT, `valor` VARCHAR(255) NULL, `propiedad_idpropiedad` INT NOT NULL, `item_iditem` INT NOT NULL, PRIMARY KEY (`idvalor`), INDEX `fk_valor_propiedad1_idx` (`propiedad_idpropiedad` ASC) VISIBLE, INDEX `fk_valor_item1_idx` (`item_iditem` ASC) VISIBLE, CONSTRAINT `fk_valor_propiedad1` FOREIGN KEY (`propiedad_idpropiedad`) REFERENCES `inventario`.`propiedad` (`idpropiedad`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_valor_item1` FOREIGN KEY (`item_iditem`) REFERENCES `inventario`.`item` (`iditem`) 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;