Está en la página 1de 18

AP06-AA7-EV02-Lenguaje-Estructurado-Consultas-

SQL

CESAR ALFONSO TRUJILLO

SERVICIO NACIONAL DE APRENDIZAJE SENA


MODALIDAD VIRTUAL
ANALISS Y DESARROLLLO DE SISTEMAS DE INFORMACION ADSI
2021
AP06-AA7-EV02. Lenguaje Estructurado de Consultas SQL.

Modelo Entidad Relación

-- 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 Solicitud

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

DROP SCHEMA IF EXISTS `Solicitud` ;

-- -----------------------------------------------------
-- Schema Solicitud

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

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

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

-- Schema Proyecto_Solicitud_Servicio

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

DROP SCHEMA IF EXISTS `Proyecto_Solicitud_Servicio` ;

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

-- Schema Proyecto_Solicitud_Servicio

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

CREATE SCHEMA IF NOT EXISTS `Proyecto_Solicitud_Servicio` DEFAULT CHARACTER SET latin1 ;

USE `Solicitud` ;

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

-- Table `Solicitud`.`categoria`

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

DROP TABLE IF EXISTS `Solicitud`.`categoria` ;

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

`idcategoria` INT NOT NULL,

`Nombre` VARCHAR(45) NULL,

`Servicio_idServicio` INT NOT NULL,

PRIMARY KEY (`idcategoria`),

INDEX `fk_categoria_producto1_idx` (`Servicio_idServicio` ASC) VISIBLE,

CONSTRAINT `fk_categoria_producto1`
FOREIGN KEY (`Servicio_idServicio`)

REFERENCES `Solicitud`.`Servicio` (`idServicio`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

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

-- Table `Solicitud`.`categoria`

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

DROP TABLE IF EXISTS `Solicitud`.`categoria` ;

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

`idcategoria` INT NOT NULL,

`Nombre` VARCHAR(45) NULL,

`Servicio_idServicio` INT NOT NULL,

PRIMARY KEY (`idcategoria`),

INDEX `fk_categoria_producto1_idx` (`Servicio_idServicio` ASC) VISIBLE,

CONSTRAINT `fk_categoria_producto1`

FOREIGN KEY (`Servicio_idServicio`)

REFERENCES `Solicitud`.`Servicio` (`idServicio`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

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

-- Table `Proyecto_Solicitud_Servicio`.`Información Del Servicio`

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

DROP TABLE IF EXISTS `Proyecto_Solicitud_Servicio`.`Información Del Servicio` ;

CREATE TABLE IF NOT EXISTS `Proyecto_Solicitud_Servicio`.`Información Del Servicio` (

`idInformación Del Servicio` INT GENERATED ALWAYS AS () VIRTUAL,

`Servicio_idservicio` INT NULL,

PRIMARY KEY (`idInformación Del Servicio`))

ENGINE = InnoDB;

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

-- Table `Solicitud`.`Usuario`

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

DROP TABLE IF EXISTS `Solicitud`.`Usuario` ;

CREATE TABLE IF NOT EXISTS `Solicitud`.`Usuario` (

`idusuario` INT NOT NULL,

`Nombre` VARCHAR(45) NULL,

`Usuario_idusuario` INT NOT NULL,

PRIMARY KEY (`idusuario`),

INDEX `Usuario_idx` (`idusuario` ASC, `Usuario_idusuario` ASC) VISIBLE,

CONSTRAINT `Usuario`

FOREIGN KEY (`idusuario` , `Usuario_idusuario`)


REFERENCES `Proyecto_Solicitud_Servicio`.`Información Del Servicio` (`Servicio_idservicio` ,
`idInformación Del Servicio`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

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

-- Table `Solicitud`.`Persona`

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

DROP TABLE IF EXISTS `Solicitud`.`Persona` ;

CREATE TABLE IF NOT EXISTS `Solicitud`.`Persona` (

`idpersona` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`Nombre` VARCHAR(45) GENERATED ALWAYS AS () VIRTUAL,

`Apellido` VARCHAR(45) GENERATED ALWAYS AS (),

`Razon Social` VARCHAR(45) GENERATED ALWAYS AS () VIRTUAL,

`Direccion` VARCHAR(45) GENERATED ALWAYS AS (),

`Telefono` VARCHAR(45) GENERATED ALWAYS AS (),

`Nickname` VARCHAR(100) NOT NULL,

`contrasena` VARCHAR(100) NOT NULL,

`E-mail` VARCHAR(100) GENERATED ALWAYS AS () VIRTUAL,

PRIMARY KEY (`idpersona`),

CONSTRAINT `Persona`

FOREIGN KEY ()

REFERENCES `Solicitud`.`Usuario` ()
ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

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

-- Table `Solicitud`.`Cliente`

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

DROP TABLE IF EXISTS `Solicitud`.`Cliente` ;

CREATE TABLE IF NOT EXISTS `Solicitud`.`Cliente` (

`idcliente` INT NOT NULL,

`persona_idpersona` INT NOT NULL,

`Fecha_alta` DATE NOT NULL,

`Enable` TINYTEXT NOT NULL DEFAULT '1',

PRIMARY KEY (`idcliente`),

INDEX `fk_cliente_persona_idx` (`persona_idpersona` ASC) VISIBLE,

CONSTRAINT `fk_cliente_persona`

FOREIGN KEY (`persona_idpersona`)

REFERENCES `Solicitud`.`Persona` (`idpersona`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Solicitud`.`Servicio`

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

DROP TABLE IF EXISTS `Solicitud`.`Servicio` ;

CREATE TABLE IF NOT EXISTS `Solicitud`.`Servicio` (

`idServicio` INT NOT NULL,

`Tipo_servicio` VARCHAR(45) NULL,

`Cantidad` INT NULL,

`PrecioUnitario` DECIMAL(5) NULL,

`PrecioFinal` DECIMAL(5) NULL,

`categoria_idcategoria` INT NOT NULL,

`Servicio_idServicioventa` INT NOT NULL,

PRIMARY KEY (`idServicio`),

INDEX `fk_producto_categoria1_idx` (`categoria_idcategoria` ASC) VISIBLE,

INDEX `fk_Servicio_Servicio1_idx` (`Servicio_idServicioventa` ASC) VISIBLE,

CONSTRAINT `fk_producto_categoria1`

FOREIGN KEY (`categoria_idcategoria`)

REFERENCES `Solicitud`.`categoria` (`idcategoria`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_Servicio_Servicio1`

FOREIGN KEY (`Servicio_idServicioventa`)

REFERENCES `Solicitud`.`Servicio` (`idServicioventa`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

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

-- Table `Solicitud`.`categoria`

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

DROP TABLE IF EXISTS `Solicitud`.`categoria` ;

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

`idcategoria` INT NOT NULL,

`Nombre` VARCHAR(45) NULL,

`Servicio_idServicio` INT NOT NULL,

PRIMARY KEY (`idcategoria`),

INDEX `fk_categoria_producto1_idx` (`Servicio_idServicio` ASC) VISIBLE,

CONSTRAINT `fk_categoria_producto1`

FOREIGN KEY (`Servicio_idServicio`)

REFERENCES `Solicitud`.`Servicio` (`idServicio`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

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

-- Table `Solicitud`.`Servicio`

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

DROP TABLE IF EXISTS `Solicitud`.`Servicio` ;


CREATE TABLE IF NOT EXISTS `Solicitud`.`Servicio` (

`idServicio` INT NOT NULL,

`Tipo_servicio` VARCHAR(45) NULL,

`Cantidad` INT NULL,

`PrecioUnitario` DECIMAL(5) NULL,

`PrecioFinal` DECIMAL(5) NULL,

`categoria_idcategoria` INT NOT NULL,

`Servicio_idServicioventa` INT NOT NULL,

PRIMARY KEY (`idServicio`),

INDEX `fk_producto_categoria1_idx` (`categoria_idcategoria` ASC) VISIBLE,

INDEX `fk_Servicio_Servicio1_idx` (`Servicio_idServicioventa` ASC) VISIBLE,

CONSTRAINT `fk_producto_categoria1`

FOREIGN KEY (`categoria_idcategoria`)

REFERENCES `Solicitud`.`categoria` (`idcategoria`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_Servicio_Servicio1`

FOREIGN KEY (`Servicio_idServicioventa`)

REFERENCES `Solicitud`.`Servicio` (`idServicioventa`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

USE `Proyecto_Solicitud_Servicio` ;

-- -----------------------------------------------------
-- Table `Proyecto_Solicitud_Servicio`.`persona`

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

DROP TABLE IF EXISTS `Proyecto_Solicitud_Servicio`.`persona` ;

CREATE TABLE IF NOT EXISTS `Proyecto_Solicitud_Servicio`.`persona` (

`idpersona` INT(20) NOT NULL,

`Nombre` TEXT NOT NULL,

`Apellido` TEXT NOT NULL,

`Genero` TEXT NOT NULL,

`Direccion` TEXT NOT NULL,

`E-mail` TEXT NOT NULL,

`Telefono` INT(20) NOT NULL,

`FechaNacimiento` DATE NOT NULL,

`Fecha-Hora-Ingreso` DATETIME NOT NULL,

`Contrasena` FLOAT NOT NULL,

PRIMARY KEY (`idpersona`))

ENGINE = InnoDB

DEFAULT CHARACTER SET = latin1;

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

-- Table `Proyecto_Solicitud_Servicio`.`Cliente`

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

DROP TABLE IF EXISTS `Proyecto_Solicitud_Servicio`.`Cliente` ;

CREATE TABLE IF NOT EXISTS `Proyecto_Solicitud_Servicio`.`Cliente` (


`idcliente` INT(20) NOT NULL,

`persona_id persona` INT(20) NOT NULL,

PRIMARY KEY (`idcliente`),

INDEX `fk_cliente_persona1_idx` (`persona_id persona` ASC) VISIBLE,

CONSTRAINT `fk_cliente_persona1`

FOREIGN KEY (`persona_id persona`)

REFERENCES `Proyecto_Solicitud_Servicio`.`persona` (`idpersona`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = latin1;

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

-- Table `Proyecto_Solicitud_Servicio`.`Usuario`

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

DROP TABLE IF EXISTS `Proyecto_Solicitud_Servicio`.`Usuario` ;

CREATE TABLE IF NOT EXISTS `Proyecto_Solicitud_Servicio`.`Usuario` (

`idusuario` INT(20) NOT NULL,

`persona_id persona` INT(20) NOT NULL,

PRIMARY KEY (`idusuario`),

INDEX `fk_usuario_persona1_idx` (`persona_id persona` ASC) VISIBLE,

CONSTRAINT `fk_usuario_persona1`

FOREIGN KEY (`persona_id persona`)

REFERENCES `Proyecto_Solicitud_Servicio`.`persona` (`idpersona`)


ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = latin1;

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

-- Table `Proyecto_Solicitud_Servicio`.`Informacion_Servicio`

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

DROP TABLE IF EXISTS `Proyecto_Solicitud_Servicio`.`Informacion_Servicio` ;

CREATE TABLE IF NOT EXISTS `Proyecto_Solicitud_Servicio`.`Informacion_Servicio` (

`idCliente` INT(20) NOT NULL AUTO_INCREMENT,

`idServicio` DECIMAL(10,0) NOT NULL,

`usuario_id usuario` INT(20) NOT NULL,

PRIMARY KEY (`idCliente`, `idServicio`),

INDEX `fk_compras_usuario1_idx` (`usuario_id usuario` ASC) VISIBLE,

CONSTRAINT `fk_compras_usuario1`

FOREIGN KEY (`usuario_id usuario`)

REFERENCES `Proyecto_Solicitud_Servicio`.`Usuario` (`idusuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = latin1;


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

-- Table `Proyecto_Solicitud_Servicio`.`producto`

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

DROP TABLE IF EXISTS `Proyecto_Solicitud_Servicio`.`producto` ;

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

`idproducto` INT(20) NOT NULL,

`nombre` TEXT NOT NULL,

`cantidad` INT(10) NOT NULL,

`valor_inicial` DECIMAL(10,0) NOT NULL,

`valor_final` DECIMAL(10,0) NOT 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 `Solicitud`.`categoria` (`idcategoria`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = latin1;

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

-- Table `Proyecto_Solicitud_Servicio`.`Detalle Servicio`

-- -----------------------------------------------------
DROP TABLE IF EXISTS `Proyecto_Solicitud_Servicio`.`Detalle Servicio` ;

CREATE TABLE IF NOT EXISTS `Proyecto_Solicitud_Servicio`.`Detalle Servicio` (

`iddetalle Servicio` INT(20) NOT NULL,

`Servicio_id Servicio` INT(20) NOT NULL,

PRIMARY KEY (`iddetalle Servicio`),

INDEX `fk_detalle compras_producto1_idx` (`Servicio_id Servicio` ASC) VISIBLE,

CONSTRAINT `fk_detalle compras_producto1`

FOREIGN KEY (`Servicio_id Servicio`)

REFERENCES `Proyecto_Solicitud_Servicio`.`producto` (`idproducto`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = latin1;

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

-- Table `Proyecto_Solicitud_Servicio`.`Solicitud`

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

DROP TABLE IF EXISTS `Proyecto_Solicitud_Servicio`.`Solicitud` ;

CREATE TABLE IF NOT EXISTS `Proyecto_Solicitud_Servicio`.`Solicitud` (

`idSolicitud` INT(20) NOT NULL,

`valor_total` DECIMAL(10,0) NOT NULL,

`cliente_id cliente` INT(20) NOT NULL,

`usuario_id usuario` INT(20) NOT NULL,


PRIMARY KEY (`idSolicitud`),

INDEX `fk_ventas_cliente1_idx` (`cliente_id cliente` ASC) VISIBLE,

INDEX `fk_ventas_usuario1_idx` (`usuario_id usuario` ASC) VISIBLE,

CONSTRAINT `fk_ventas_cliente1`

FOREIGN KEY (`cliente_id cliente`)

REFERENCES `Proyecto_Solicitud_Servicio`.`Cliente` (`idcliente`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_ventas_usuario1`

FOREIGN KEY (`usuario_id usuario`)

REFERENCES `Proyecto_Solicitud_Servicio`.`Usuario` (`idusuario`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = latin1;

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

-- Table `Proyecto_Solicitud_Servicio`.`detalle`

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

DROP TABLE IF EXISTS `Proyecto_Solicitud_Servicio`.`detalle` ;

CREATE TABLE IF NOT EXISTS `Proyecto_Solicitud_Servicio`.`detalle` (

`iddetalle` INT(20) NOT NULL,

`ventas_id venta` INT(20) NOT NULL,

`Servicio_id Servicio` INT(20) NOT NULL,


PRIMARY KEY (`iddetalle`),

INDEX `fk_detalle venta_ventas1_idx` (`ventas_id venta` ASC) VISIBLE,

INDEX `fk_detalle venta_producto1_idx` (`Servicio_id Servicio` ASC) VISIBLE,

CONSTRAINT `fk_detalle venta_ventas1`

FOREIGN KEY (`ventas_id venta`)

REFERENCES `Proyecto_Solicitud_Servicio`.`Solicitud` (`idSolicitud`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_detalle venta_producto1`

FOREIGN KEY (`Servicio_id Servicio`)

REFERENCES `Proyecto_Solicitud_Servicio`.`producto` (`idproducto`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = latin1;

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

-- Table `Proyecto_Solicitud_Servicio`.`Consultoria`

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

DROP TABLE IF EXISTS `Proyecto_Solicitud_Servicio`.`Consultoria` ;

CREATE TABLE IF NOT EXISTS `Proyecto_Solicitud_Servicio`.`Consultoria` (

`idConsultoria` INT(20) NOT NULL,

`Consultoria_id Consultoria` INT(20) NOT NULL,

PRIMARY KEY (`idConsultoria`),


INDEX `fk_proveedor_persona_idx` (`Consultoria_id Consultoria` ASC) VISIBLE,

CONSTRAINT `fk_proveedor_persona`

FOREIGN KEY (`Consultoria_id Consultoria`)

REFERENCES `Proyecto_Solicitud_Servicio`.`persona` (`idpersona`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = latin1;

SET SQL_MODE=@OLD_SQL_MODE;

SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;

SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

También podría gustarte