Add SQL schema for inventory management and fix HTML file formatting

This commit is contained in:
jon ander 2025-04-01 16:52:13 +02:00
parent e8ccab6219
commit ccc8be6bb1
2 changed files with 181 additions and 1 deletions

View File

@ -0,0 +1,180 @@
-- 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`.`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,
PRIMARY KEY (`id`),
UNIQUE INDEX `UKr43af9ap4edm43mmtq01oddj6` (`nombre` ASC) VISIBLE,
UNIQUE INDEX `mail_UNIQUE` (`mail` ASC) VISIBLE)
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,
PRIMARY KEY (`idproducto`),
INDEX `fk_producto_categoria1_idx` (`categoria_idcategoria` ASC) VISIBLE,
CONSTRAINT `fk_producto_categoria1`
FOREIGN KEY (`categoria_idcategoria`)
REFERENCES `inventario`.`categoria` (`idcategoria`)
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;