Opción 1 generar vuestra propia base de datos. El usuario debe tener perfil DBA.
Procedimiento de creación de datos:
CALL genera_datos;
CALL genera_datos_2;
Opción 2 descargar SQL y ejecutar:
-- 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 multitienda
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Table `tiendas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tiendas` (
`id` INT NOT NULL AUTO_INCREMENT,
`nombre_url` VARCHAR(150) NULL,
`nombre` VARCHAR(150) NULL,
`subtitulo` VARCHAR(500) NULL,
`descripcion` TEXT NULL,
`icono` VARCHAR(500) NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `nombre_url_UNIQUE` (`nombre_url` ASC) VISIBLE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `semilla`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `semilla` (
`id` INT(11) NULL DEFAULT NULL)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb3;
-- -----------------------------------------------------
-- Table `subtiendas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `subtiendas` (
`id` INT NOT NULL AUTO_INCREMENT,
`nombre_url` VARCHAR(150) NULL,
`nombre` VARCHAR(150) NULL,
`subtitulo` VARCHAR(500) NULL,
`imagen_url` VARCHAR(200) NULL,
`descripcion` TEXT NULL,
`fk_tienda` INT NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `nombre_url_UNIQUE` (`nombre_url` ASC) VISIBLE,
INDEX `fk_subtiendas_tiendas1_idx` (`fk_tienda` ASC) VISIBLE,
CONSTRAINT `fk_subtiendas_tiendas1`
FOREIGN KEY (`fk_tienda`)
REFERENCES `tiendas` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `banners`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `banners` (
`id` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(150) NULL,
`url` VARCHAR(150) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `tiendas_banners`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tiendas_banners` (
`fk_tienda` INT NOT NULL,
`fk_banner` INT NOT NULL,
`orden` TINYINT(1) NULL,
`impresiones` BIGINT NULL,
`clicks` BIGINT NULL,
PRIMARY KEY (`fk_tienda`, `fk_banner`),
INDEX `fk_tienda_has_banners_banners1_idx` (`fk_banner` ASC) VISIBLE,
INDEX `fk_tienda_has_banners_tienda_idx` (`fk_tienda` ASC) VISIBLE,
CONSTRAINT `fk_tienda_has_banners_tienda`
FOREIGN KEY (`fk_tienda`)
REFERENCES `tiendas` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_tienda_has_banners_banners1`
FOREIGN KEY (`fk_banner`)
REFERENCES `banners` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `marcas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `marcas` (
`id` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(150) NULL,
`nombre_url` VARCHAR(150) NULL,
`subtitulo` VARCHAR(150) NULL,
`descripcion` TEXT NULL,
`web` VARCHAR(150) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `productos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `productos` (
`id` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(150) NULL,
`fk_subtienda` INT NOT NULL,
`fk_marca` INT NULL,
`url_externa` VARCHAR(500) NULL,
`url_imagen` VARCHAR(250) NULL,
`descripcion` TEXT NULL,
`precio_max` DECIMAL(8,2) NULL,
`precio_min` DECIMAL(8,2) NULL,
`fecha_precio_max` DATE NULL,
`fecha_precio_min` DATE NULL,
`click` BIGINT NULL,
`destacado` TINYINT NULL,
PRIMARY KEY (`id`),
INDEX `fk_productos_subtiendas1_idx` (`fk_subtienda` ASC) VISIBLE,
INDEX `fk_productos_marcas1_idx` (`fk_marca` ASC) VISIBLE,
CONSTRAINT `fk_productos_subtiendas1`
FOREIGN KEY (`fk_subtienda`)
REFERENCES `subtiendas` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_productos_marcas1`
FOREIGN KEY (`fk_marca`)
REFERENCES `marcas` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `numeros`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `numeros` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb3;
-- -----------------------------------------------------
-- Table `administradores`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `administradores` (
`id` INT NOT NULL AUTO_INCREMENT,
`usuario` VARCHAR(100) NULL,
`email` VARCHAR(150) NULL,
`clave` VARCHAR(150) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `plataformas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `plataformas` (
`id` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(100) NULL,
`url_login` VARCHAR(250) NULL,
`icono` VARCHAR(250) NULL,
`codigo` VARCHAR(150) NULL,
`fk_administrador` INT NOT NULL,
PRIMARY KEY (`id`),
INDEX `fk_plataformas_administradores1_idx` (`fk_administrador` ASC) VISIBLE,
CONSTRAINT `fk_plataformas_administradores1`
FOREIGN KEY (`fk_administrador`)
REFERENCES `administradores` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `produc_plata`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `produc_plata` (
`fk_producto` INT NOT NULL,
`fk_plataforma` INT NOT NULL,
`precio` DECIMAL(8,2) NULL,
`descuento` DECIMAL(4,2) NULL,
PRIMARY KEY (`fk_producto`, `fk_plataforma`),
INDEX `fk_productos_has_plataformas_plataformas1_idx` (`fk_plataforma` ASC) VISIBLE,
INDEX `fk_productos_has_plataformas_productos1_idx` (`fk_producto` ASC) VISIBLE,
CONSTRAINT `fk_productos_has_plataformas_productos1`
FOREIGN KEY (`fk_producto`)
REFERENCES `productos` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_productos_has_plataformas_plataformas1`
FOREIGN KEY (`fk_plataforma`)
REFERENCES `plataformas` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `imagenes`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `imagenes` (
`id` INT NOT NULL AUTO_INCREMENT,
`url` VARCHAR(250) NULL,
`descripcion` VARCHAR(2000) NULL,
`fk_producto` INT NOT NULL,
PRIMARY KEY (`id`),
INDEX `fk_imagenes_productos1_idx` (`fk_producto` ASC) VISIBLE,
CONSTRAINT `fk_imagenes_productos1`
FOREIGN KEY (`fk_producto`)
REFERENCES `productos` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `videos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `videos` (
`id` INT NOT NULL AUTO_INCREMENT,
`url` VARCHAR(250) NULL,
`descripcion` VARCHAR(2000) NULL,
`fk_producto` INT NOT NULL,
PRIMARY KEY (`id`),
INDEX `fk_videos_productos1_idx` (`fk_producto` ASC) VISIBLE,
CONSTRAINT `fk_videos_productos1`
FOREIGN KEY (`fk_producto`)
REFERENCES `productos` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `usuarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `usuarios` (
`id` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(45) NULL,
`email` VARCHAR(45) NULL,
`ip` VARCHAR(45) NULL,
`ultima_entrada` DATETIME NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `comentarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `comentarios` (
`fk_producto` INT NOT NULL,
`fk_usuario` INT NOT NULL,
`fechahora` DATETIME NOT NULL,
`comentario` TEXT NULL,
PRIMARY KEY (`fk_producto`, `fk_usuario`, `fechahora`),
INDEX `fk_productos_has_usuarios_usuarios1_idx` (`fk_usuario` ASC) VISIBLE,
INDEX `fk_productos_has_usuarios_productos1_idx` (`fk_producto` ASC) VISIBLE,
CONSTRAINT `fk_productos_has_usuarios_productos1`
FOREIGN KEY (`fk_producto`)
REFERENCES `productos` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_productos_has_usuarios_usuarios1`
FOREIGN KEY (`fk_usuario`)
REFERENCES `usuarios` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `visitas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `visitas` (
`id` INT NOT NULL AUTO_INCREMENT,
`ip` VARCHAR(45) NULL,
`fechahora` DATETIME NULL,
`fk_tienda` INT NULL,
`fk_subtienda` INT NULL,
`fk_marca` INT NULL,
PRIMARY KEY (`id`),
INDEX `fk_visitas_tiendas1_idx` (`fk_tienda` ASC) VISIBLE,
INDEX `fk_visitas_subtiendas1_idx` (`fk_subtienda` ASC) VISIBLE,
INDEX `fk_visitas_marcas1_idx` (`fk_marca` ASC) VISIBLE,
CONSTRAINT `fk_visitas_tiendas1`
FOREIGN KEY (`fk_tienda`)
REFERENCES `tiendas` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_visitas_subtiendas1`
FOREIGN KEY (`fk_subtienda`)
REFERENCES `subtiendas` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_visitas_marcas1`
FOREIGN KEY (`fk_marca`)
REFERENCES `marcas` (`id`)
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;