Está en la página 1de 26

PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 1 - Profesor: ING. IVAN IMAN AGURTO




ESTRUCTURA DE TABLAS






Luego de analizar las funcionalidades solicitadas por la agencia VolansViajes SAC.
Se ha identificado las siguientes tablas.


PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 2 - Profesor: ING. IVAN IMAN AGURTO




1. TABLA TIPO_DOC_IDENTIDAD

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`TIPO_DOC_IDENTIDAD`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`TIPO_DOC_IDENTIDAD` (
`idTIPO_DOC_IDENTIDAD` INT NOT NULL ,
`descripcion` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`idTIPO_DOC_IDENTIDAD`) )
ENGINE = InnoDB;

2. TABLA TIPO_ PROVEEDOR

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`TIPO_PROVEEDOR`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`TIPO_PROVEEDOR` (
`idTIPO_PROVEEDOR` INT NOT NULL ,
`descripcion` VARCHAR(45) NULL ,
PRIMARY KEY (`idTIPO_PROVEEDOR`) )
ENGINE = InnoDB;

3. TABLA PROVEEDOR

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`PROVEEDOR`
-- -----------------------------------------------------
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 3 - Profesor: ING. IVAN IMAN AGURTO


CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`PROVEEDOR` (
`idPROVEEDOR` INT NOT NULL ,
`idTIPO_DOC_IDENTIDAD` INT NOT NULL ,
`num_doc` VARCHAR(15) NOT NULL ,
`idTIPO_PROVEEDOR` INT NOT NULL ,
`nombre_rnz_social` VARCHAR(45) NULL ,
`nombre_comercial` VARCHAR(45) NULL ,
`Fecha_constitucion` DATE NULL ,
`persona_contacto` VARCHAR(45) NULL ,
`observaciones` TEXT NULL ,
PRIMARY KEY (`idPROVEEDOR`) ,
INDEX `proveedor_06_idx` (`idTIPO_DOC_IDENTIDAD` ASC) ,
INDEX `proveedor_07_idx` (`idTIPO_PROVEEDOR` ASC) ,
CONSTRAINT `proveedor_06`
FOREIGN KEY (`idTIPO_DOC_IDENTIDAD` )
REFERENCES `VOLANSVIAJES`.`TIPO_DOC_IDENTIDAD` (`idTIPO_DOC_IDENTIDAD` )
ON DELETE NO ACTION
ON UPDATE RESTRICT,
CONSTRAINT `proveedor_07`
FOREIGN KEY (`idTIPO_PROVEEDOR` )
REFERENCES `VOLANSVIAJES`.`TIPO_PROVEEDOR` (`idTIPO_PROVEEDOR` )
ON DELETE NO ACTION
ON UPDATE RESTRICT)
ENGINE = InnoDB
COMMENT = 'Tabla de Proveedors de Servicios Turisticos';





PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 4 - Profesor: ING. IVAN IMAN AGURTO


4. TABLA TIPO_ VIA

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`TIPO_VIA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`TIPO_VIA` (
`idTIPO_VIA` INT NOT NULL ,
`descripcion` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`idTIPO_VIA`) )
ENGINE = InnoDB;

5. TABLA PAIS


-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`PAIS`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`PAIS` (
`idPAIS` INT NOT NULL ,
`descripcion` VARCHAR(45) NULL ,
PRIMARY KEY (`idPAIS`) )
ENGINE = InnoDB;

6. TABLA DEPARTAMENTO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`DEPARTAMENTO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`DEPARTAMENTO` (
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 5 - Profesor: ING. IVAN IMAN AGURTO


`idDEPARTAMENTO` INT NOT NULL ,
`descripcion` VARCHAR(45) NOT NULL ,
`idPAIS` INT NOT NULL ,
PRIMARY KEY (`idDEPARTAMENTO`) ,
INDEX `pais_01_idx` (`idPAIS` ASC) ,
CONSTRAINT `pais_01`
FOREIGN KEY (`idPAIS` )
REFERENCES `VOLANSVIAJES`.`PAIS` (`idPAIS` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

7. TABLA DIRECCION
-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`DIRECCION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`DIRECCION` (
`idDIRECCION` INT NOT NULL ,
`idTIPO_VIA` INT NOT NULL ,
`direccion` VARCHAR(50) NULL ,
`numero` VARCHAR(6) NULL ,
`interios_dpto` VARCHAR(6) NULL ,
`manzana` VARCHAR(10) NULL ,
`sector` VARCHAR(15) NULL ,
`lote` VARCHAR(15) NULL ,
`urbanizacion` VARCHAR(25) NULL ,
`idPAIS` INT NULL ,
`idDEPARTAMENTO` INT NULL ,
`idPROVINCIA` INT NULL ,
`idDISTRITO` INT NULL ,
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 6 - Profesor: ING. IVAN IMAN AGURTO


`codigo_postal` VARCHAR(5) NULL ,
PRIMARY KEY (`idDIRECCION`) ,
INDEX `tip_via_idx` (`idTIPO_VIA` ASC) ,
INDEX `pais_idx` (`idPAIS` ASC) ,
INDEX `departamento_idx` (`idDEPARTAMENTO` ASC) ,
INDEX `provincia_idx` (`idPROVINCIA`) ,
CONSTRAINT `tipo_via`
FOREIGN KEY (`idTIPO_VIA` )
REFERENCES `VOLANSVIAJES`.`TIPO_VIA` (`idTIPO_VIA` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `pais`
FOREIGN KEY (`idPAIS` )
REFERENCES `VOLANSVIAJES`.`PAIS` (`idPAIS` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `departamento`
FOREIGN KEY (`idDEPARTAMENTO` )
REFERENCES `VOLANSVIAJES`.`DEPARTAMENTO` (`idDEPARTAMENTO` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

8. TABLA TELEFONO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`TELEFONO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`TELEFONO` (
`idTELEFONO` INT NOT NULL ,
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 7 - Profesor: ING. IVAN IMAN AGURTO


`tel_pais` DECIMAL(10,0) NULL ,
`tel_ciudad` DECIMAL(10,0) NULL ,
`tel_numerio` DECIMAL(10,0) NULL ,
`tel_anexo` DECIMAL(10,0) NULL ,
PRIMARY KEY (`idTELEFONO`) )
ENGINE = InnoDB;

9. TABLA CORREO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`CORREO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`CORREO` (
`idCORREO` INT NOT NULL ,
`direccion` VARCHAR(45) NULL ,
`ind_envia_automatico` CHAR(1) NULL ,
PRIMARY KEY (`idCORREO`) )
ENGINE = InnoDB;

10. TABLA PRODUCTO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`PRODUCTO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`PRODUCTO` (
`idPRODUCTO` INT NOT NULL ,
`nombre` VARCHAR(45) NULL COMMENT 'Nombre Corto' ,
`descripcion` MEDIUMTEXT NULL ,
`tipo_producto` VARCHAR(2) NULL COMMENT 'Validar contra tabla de tipo' ,
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 8 - Profesor: ING. IVAN IMAN AGURTO


`idPROVEEDOR` INT NOT NULL ,
`fecha_ini_vigencia` DATE NULL ,
`fecha_fin_vigencia` DATE NULL ,
`precio_compra` DECIMAL(15,2) NULL ,
`porcentaje_comision` DECIMAL(3,2) NULL ,
`monto_comision` DECIMAL(15,2) NULL COMMENT 'Comision ganada por la venta' ,
`porcentaje_impuesto` DECIMAL(3,2) NULL ,
`monto_impuesto` DECIMAL(15,2) NULL ,
`monto_incentivo` DECIMAL(15,2) NULL ,
`precio_venta` DECIMAL(15,2) NULL ,
`monto_fee` DECIMAL(15,2) NULL COMMENT 'Monto cobrado por los servicios prestados' ,
`porcentaje_max_dcto` DECIMAL(3,2) NULL ,
`ind_fotos` CHAR(1) NULL ,
`idPAIS` INT NOT NULL COMMENT 'pais donde se ejecutara el producto' ,
PRIMARY KEY (`idPRODUCTO`) ,
INDEX `producto_04_idx` (`idPAIS` ASC) ,
CONSTRAINT `producto_04`
FOREIGN KEY (`idPAIS` )
REFERENCES `VOLANSVIAJES`.`PAIS` (`idPAIS` )
ON DELETE NO ACTION
ON UPDATE RESTRICT)
ENGINE = InnoDB;

11. TABLA CLIENTE

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`CLIENTE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`CLIENTE` (
`idCLIENTE` INT NOT NULL ,
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 9 - Profesor: ING. IVAN IMAN AGURTO


`tipo_persona` CHAR(1) NULL COMMENT 'N : Natural\\nJ: Juridica' ,
`tipo_documento` VARCHAR(3) NULL ,
`numero_documento` VARCHAR(15) NULL ,
`apellido_paterno` VARCHAR(45) NULL ,
`nombres` VARCHAR(45) NULL ,
`razon socal` VARCHAR(45) NULL ,
`fecha_nacimiento_constitucion` DATE NULL ,
`persona_contacto` VARCHAR(45) NULL COMMENT 'solo para personas jutdicas' ,
`pagina_web` VARCHAR(45) NULL ,
`observaciones` TEXT NULL ,
PRIMARY KEY (`idCLIENTE`) )
ENGINE = InnoDB;

12. TABLA DOCUMENTO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`DOCUMENTO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`DOCUMENTO` (
`idDOCUMENTO` INT NOT NULL ,
`tipo_documento` CHAR(1) NULL COMMENT '1.Proforma 2.Itinerarios 3.Voucher a proveedores
4.Documentos de Cobranza 4.Boletas de Venta 6.Facturas 7.Recibos 8.Notas de Crdito 9.Cartas de
Bienvenida 0.Cartas de Agradecimiento.' ,
`Fecha_emision` DATE NULL ,
`fecha_ultima_impresion` DATE NULL ,
`fecha_cobro` DATE NULL ,
`numero_documento` VARCHAR(25) NULL ,
`concepto_descripcion` TEXT NULL ,
`tipo_impresion` CHAR(1) NULL COMMENT '1:pre_impreso 2:plantilla' ,
`ID_plantilla` CHAR(25) NOT NULL COMMENT 'indicador de plantilla' ,
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 10 - Profesor: ING. IVAN IMAN AGURTO


PRIMARY KEY (`idDOCUMENTO`) )
ENGINE = InnoDB;

13. TABLA PAGO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`PAGO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`PAGO` (
`idPAGO` INT NOT NULL ,
`fecha_pago` DATE NULL ,
`moneda` CHAR(1) NULL COMMENT '1:soles 2:dolares' ,
`monto_pagado` DECIMAL(15,2) NULL ,
`numero_medio_pago` VARCHAR(25) NULL COMMENT 'Si es tarjeta, ingresar el nmero, si es
Trasferencia ingresar el identificador de movimiento, Si es cheque ingresar el nmero, El nmero de la
Nota de Crdito' ,
`titular_medio_pago` VARCHAR(45) NULL COMMENT 'Nombre que figura en la tarjeta' ,
`entidad_medio_pago` VARCHAR(45) NULL COMMENT 'Nombre del Banco o entidad financiera
del medio de pago' ,
`estado_pago` CHAR(1) NULL COMMENT '1:activo, 2:anulado' ,
`idFORMA_PAGO` CHAR(1) NULL COMMENT '1.Contado 2.Transferencia Bancaria 3.Tarjeta de
Crdito 4.Tarjeta de Debito 5.Cheque 6.Nota de Crdito.' ,
PRIMARY KEY (`idPAGO`) )
ENGINE = InnoDB
COMMENT = 'Registro de Pagos';






PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 11 - Profesor: ING. IVAN IMAN AGURTO



14. TABLA RESERVA


-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`RESERVA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`RESERVA` (
`idRESERVA` INT NOT NULL ,
`idPAIS` INT NULL COMMENT 'pais origen' ,
`num_pasajero_adulto` INT NULL ,
`num_pasajero_nino` INT NULL ,
`fecha_creacion` VARCHAR(45) NULL ,
`fecha_ulrima_modificacion` VARCHAR(45) NULL ,
`fecha_maxima_modificacion` VARCHAR(45) NULL ,
`fecha_inicio_ejecucion` INT NULL ,
`fecha_fin_ejecucion` VARCHAR(45) NULL ,
`fecha_maxima_anulacion` VARCHAR(45) NULL ,
`restricciones` TEXT NULL ,
`observaciones_viaje` TEXT NULL ,
PRIMARY KEY (`idRESERVA`) ,
INDEX `reserva_01_idx` (`idPAIS` ASC) ,
CONSTRAINT `reserva_01`
FOREIGN KEY (`idPAIS` )
REFERENCES `VOLANSVIAJES`.`PAIS` (`idPAIS` )
ON DELETE NO ACTION
ON UPDATE RESTRICT)
ENGINE = InnoDB;


PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 12 - Profesor: ING. IVAN IMAN AGURTO


15. TABLA RESERVA_ HOTEL

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`RESERVA_HOTEL`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`RESERVA_HOTEL` (
`idRESERVA_HOTEL` INT NOT NULL ,
`idRESERVA` INT NOT NULL ,
`hotel` VARCHAR(45) NULL ,
`pais` VARCHAR(45) NULL ,
`ciudad` VARCHAR(45) NULL ,
`cod_reserva_hotel` VARCHAR(25) NULL ,
`tipo_habitacion` VARCHAR(45) NULL ,
`num_habitaciones` INT NULL ,
`num_noches` INT NULL ,
`check_in` DATETIME NULL ,
`chcek_out` DATETIME NULL ,
`tafia_noche` DECIMAL(15,2) NULL ,
`tax_noche` DECIMAL(15,2) NULL ,
`contacto_reserva` VARCHAR(45) NULL ,
PRIMARY KEY (`idRESERVA_HOTEL`, `idRESERVA`) ,
INDEX `reserva_02_idx` (`idRESERVA` ASC) ,
CONSTRAINT `reserva_02`
FOREIGN KEY (`idRESERVA` )
REFERENCES `VOLANSVIAJES`.`RESERVA` (`idRESERVA` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;


PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 13 - Profesor: ING. IVAN IMAN AGURTO


16. TABLA RESERVA_ VUELOS

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`RESERVA_VUELOS`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`RESERVA_VUELOS` (
`idRESERVA_VUELOS` INT NOT NULL ,
`idRESERVA` INT NOT NULL ,
`linea` VARCHAR(45) NULL ,
`cod_reserva_vuelo` VARCHAR(25) NULL ,
`fecha_vuelo` DATE NULL ,
`hora_vuelo` VARCHAR(45) NULL ,
`ciudad_inicio` VARCHAR(45) NULL ,
`num_escalas` VARCHAR(45) NULL ,
`ciudad_destino` VARCHAR(45) NULL ,
`IdCLIENTE` INT NULL ,
`ind_adulto_nino` CHAR(1) NULL ,
`edad` INT NULL ,
`contacto_emergemcia` VARCHAR(45) NULL ,
`clase_vuelo` VARCHAR(1) NULL ,
`monto_vuelo` DECIMAL(15,2) NULL ,
`monto_fee` VARCHAR(45) NULL ,
PRIMARY KEY (`idRESERVA_VUELOS`, `idRESERVA`) ,
INDEX `reserva_04_idx` (`idRESERVA` ASC) ,
CONSTRAINT `reserva_04`
FOREIGN KEY (`idRESERVA` )
REFERENCES `VOLANSVIAJES`.`RESERVA` (`idRESERVA` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 14 - Profesor: ING. IVAN IMAN AGURTO



17. TABLA TIPO_TELEFONO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`TIPO_TELEFONO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`TIPO_TELEFONO` (
`idTIPO_TELEFONO` INT NOT NULL ,
`Descripcion` VARCHAR(45) NULL ,
PRIMARY KEY (`idTIPO_TELEFONO`) )
ENGINE = InnoDB;

18. TABLA PROVEEDOR_TELEFONO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`PROVEEDOR_TELEFONO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`PROVEEDOR_TELEFONO` (
`idPROVEEDOR` INT NOT NULL ,
`idTIPO_TELEFONO` INT NOT NULL ,
`idTELEFONO` INT NOT NULL ,
PRIMARY KEY (`idPROVEEDOR`, `idTIPO_TELEFONO`, `idTELEFONO`) ,
INDEX `PROV_01_idx` (`idPROVEEDOR` ASC) ,
INDEX `TELEFONO_01_idx` (`idTELEFONO` ASC) ,
INDEX `TIPO_TELEFONO_idx` (`idTIPO_TELEFONO` ASC) ,
CONSTRAINT `PROV_01`
FOREIGN KEY (`idPROVEEDOR` )
REFERENCES `VOLANSVIAJES`.`PROVEEDOR` (`idPROVEEDOR` )
ON DELETE NO ACTION
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 15 - Profesor: ING. IVAN IMAN AGURTO


ON UPDATE RESTRICT,
CONSTRAINT `TELEFONO_01`
FOREIGN KEY (`idTELEFONO` )
REFERENCES `VOLANSVIAJES`.`TELEFONO` (`idTELEFONO` )
ON DELETE NO ACTION
ON UPDATE RESTRICT,
CONSTRAINT `TIPO_TELEFONO`
FOREIGN KEY (`idTIPO_TELEFONO` )
REFERENCES `VOLANSVIAJES`.`TIPO_TELEFONO` (`idTIPO_TELEFONO` )
ON DELETE NO ACTION
ON UPDATE RESTRICT)
ENGINE = InnoDB;

19. TABLA TIPO_DIRECCION

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`TIPO_DIRECCION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`TIPO_DIRECCION` (
`idTIPO_DIRECCION` INT NOT NULL ,
`descripcion` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`idTIPO_DIRECCION`) )
ENGINE = InnoDB;
20. TABLA PROVEEDOR_DIRECCION

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`PROVEEDOR_DIRECCION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`PROVEEDOR_DIRECCION` (
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 16 - Profesor: ING. IVAN IMAN AGURTO


`idPROVEEDOR` INT NOT NULL ,
`idTIPO_DIRECCION` INT NOT NULL ,
`idDIRECCION` INT NOT NULL ,
PRIMARY KEY (`idPROVEEDOR`, `idDIRECCION`, `idTIPO_DIRECCION`) ,
INDEX `proveedor_01_idx` (`idPROVEEDOR` ASC) ,
INDEX `proveedor_02_idx` (`idTIPO_DIRECCION` ASC) ,
INDEX `proveedor_03_idx` (`idDIRECCION` ASC) ,
CONSTRAINT `proveedor_01`
FOREIGN KEY (`idPROVEEDOR` )
REFERENCES `VOLANSVIAJES`.`PROVEEDOR` (`idPROVEEDOR` )
ON DELETE NO ACTION
ON UPDATE RESTRICT,
CONSTRAINT `proveedor_02`
FOREIGN KEY (`idTIPO_DIRECCION` )
REFERENCES `VOLANSVIAJES`.`TIPO_DIRECCION` (`idTIPO_DIRECCION` )
ON DELETE NO ACTION
ON UPDATE RESTRICT,
CONSTRAINT `proveedor_03`
FOREIGN KEY (`idDIRECCION` )
REFERENCES `VOLANSVIAJES`.`DIRECCION` (`idDIRECCION` )
ON DELETE NO ACTION
ON UPDATE RESTRICT)
ENGINE = InnoDB;

21. TABLA PROVEEDOR_ CORREO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`PROVEEDOR_CORREO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`PROVEEDOR_CORREO` (
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 17 - Profesor: ING. IVAN IMAN AGURTO


`idPROVEEDOR` INT NOT NULL ,
`idCORREO` INT NOT NULL ,
PRIMARY KEY (`idPROVEEDOR`, `idCORREO`) ,
INDEX `proveedor_04_idx` (`idPROVEEDOR` ASC) ,
INDEX `proveedor_05_idx` (`idCORREO` ASC) ,
CONSTRAINT `proveedor_04`
FOREIGN KEY (`idPROVEEDOR` )
REFERENCES `VOLANSVIAJES`.`PROVEEDOR` (`idPROVEEDOR` )
ON DELETE NO ACTION
ON UPDATE RESTRICT,
CONSTRAINT `proveedor_05`
FOREIGN KEY (`idCORREO` )
REFERENCES `VOLANSVIAJES`.`CORREO` (`idCORREO` )
ON DELETE NO ACTION
ON UPDATE RESTRICT)
ENGINE = InnoDB;

22. TABLA PROVINCIA

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`PROVINCIA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`PROVINCIA` (
`idPROVINCIA` INT NOT NULL ,
`descripcion` VARCHAR(45) NOT NULL ,
`idDEPARTAMENTO` INT NOT NULL ,
PRIMARY KEY (`idPROVINCIA`) ,
INDEX `departamente_01_idx` (`idDEPARTAMENTO` ASC) ,
CONSTRAINT `departamente_01`
FOREIGN KEY (`idDEPARTAMENTO` )
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 18 - Profesor: ING. IVAN IMAN AGURTO


REFERENCES `VOLANSVIAJES`.`DEPARTAMENTO` (`idDEPARTAMENTO` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

23. TABLA DISTRITO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`DISTRITO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`DISTRITO` (
`idDISTRITO` INT NOT NULL ,
`descripcion` VARCHAR(45) NOT NULL ,
`idPROVINCIA` INT NOT NULL ,
PRIMARY KEY (`idDISTRITO`) ,
INDEX `provincia_01_idx` (`idPROVINCIA` ASC) ,
CONSTRAINT `provincia_01`
FOREIGN KEY (`idPROVINCIA` )
REFERENCES `VOLANSVIAJES`.`PROVINCIA` (`idPROVINCIA` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

24. TABLA CLIENTE_DIRECCION

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`CLIENTE_DIRECCION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`CLIENTE_DIRECCION` (
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 19 - Profesor: ING. IVAN IMAN AGURTO


`idCLIENTE` INT NOT NULL ,
`idTIPO_DIRECCION` INT NULL ,
`idDIRECCION` INT NULL ,
PRIMARY KEY (`idCLIENTE`) ,
INDEX `cliente_01_idx` (`idCLIENTE` ASC) ,
INDEX `cliente_02_idx` (`idTIPO_DIRECCION` ASC) ,
INDEX `cliente_03_idx` (`idDIRECCION` ASC) ,
CONSTRAINT `cliente_01`
FOREIGN KEY (`idCLIENTE` )
REFERENCES `VOLANSVIAJES`.`CLIENTE` (`idCLIENTE` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `cliente_02`
FOREIGN KEY (`idTIPO_DIRECCION` )
REFERENCES `VOLANSVIAJES`.`TIPO_DIRECCION` (`idTIPO_DIRECCION` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `cliente_03`
FOREIGN KEY (`idDIRECCION` )
REFERENCES `VOLANSVIAJES`.`DIRECCION` (`idDIRECCION` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
25. TABLA CLIENTE_ TELEFONO


-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`CLIENTE_TELEFONO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`CLIENTE_TELEFONO` (
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 20 - Profesor: ING. IVAN IMAN AGURTO


`idCLIENTE` INT NOT NULL ,
`idTIPO_TELEFONO` INT NOT NULL ,
`idTELEFONO` INT NOT NULL ,
PRIMARY KEY (`idCLIENTE`, `idTELEFONO`, `idTIPO_TELEFONO`) ,
INDEX `cliente_04_idx` (`idCLIENTE` ASC) ,
INDEX `cliente_05_idx` (`idTIPO_TELEFONO` ASC) ,
INDEX `cliente_06_idx` (`idTELEFONO` ASC) ,
CONSTRAINT `cliente_04`
FOREIGN KEY (`idCLIENTE` )
REFERENCES `VOLANSVIAJES`.`CLIENTE` (`idCLIENTE` )
ON DELETE NO ACTION
ON UPDATE RESTRICT,
CONSTRAINT `cliente_05`
FOREIGN KEY (`idTIPO_TELEFONO` )
REFERENCES `VOLANSVIAJES`.`TIPO_TELEFONO` (`idTIPO_TELEFONO` )
ON DELETE NO ACTION
ON UPDATE RESTRICT,
CONSTRAINT `cliente_06`
FOREIGN KEY (`idTELEFONO` )
REFERENCES `VOLANSVIAJES`.`TELEFONO` (`idTELEFONO` )
ON DELETE NO ACTION
ON UPDATE RESTRICT)
ENGINE = InnoDB;

26. TABLA CLIENTE_ CORREO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`CLIENTE_CORREO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`CLIENTE_CORREO` (
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 21 - Profesor: ING. IVAN IMAN AGURTO


`idCLIENTE` INT NOT NULL ,
`idCORREO` INT NOT NULL ,
PRIMARY KEY (`idCLIENTE`, `idCORREO`) ,
INDEX `cliente_09_idx` (`idCLIENTE` ASC) ,
INDEX `cliente_10_idx` (`idCORREO` ASC) ,
CONSTRAINT `cliente_09`
FOREIGN KEY (`idCLIENTE` )
REFERENCES `VOLANSVIAJES`.`CLIENTE` (`idCLIENTE` )
ON DELETE NO ACTION
ON UPDATE RESTRICT,
CONSTRAINT `cliente_10`
FOREIGN KEY (`idCORREO` )
REFERENCES `VOLANSVIAJES`.`CORREO` (`idCORREO` )
ON DELETE NO ACTION
ON UPDATE RESTRICT)
ENGINE = InnoDB;

27. TABLA PRODUCTO_FOTO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`PRODUCTO_FOTO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`PRODUCTO_FOTO` (
`idPRODUCTO_FOTO` INT NOT NULL ,
`idPRODUCTO` INT NOT NULL ,
`descripcion` VARCHAR(200) NULL ,
`FOTO` LONGBLOB NOT NULL ,
PRIMARY KEY (`idPRODUCTO_FOTO`,`idPRODUCTO`) ,
INDEX `procuto_01_idx` (`idPRODUCTO` ASC) ,
CONSTRAINT `procuto_01`
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 22 - Profesor: ING. IVAN IMAN AGURTO


FOREIGN KEY (`idPRODUCTO` )
REFERENCES `VOLANSVIAJES`.`PRODUCTO` (`idPRODUCTO` )
ON DELETE NO ACTION
ON UPDATE RESTRICT)
ENGINE = InnoDB;

28. TABLA RESERVA_PRODUCTO
-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`RESERVA_PRODUCTO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`RESERVA_PRODUCTO` (
`idRESERVA` INT NOT NULL ,
`idPRODUCTO` INT NOT NULL ,
PRIMARY KEY (`idRESERVA`, `idPRODUCTO`) ,
INDEX `reserva_09_idx` (`idRESERVA` ASC) ,
INDEX `reserva_10_idx` (`idPRODUCTO` ASC) ,
CONSTRAINT `reserva_09`
FOREIGN KEY (`idRESERVA` )
REFERENCES `VOLANSVIAJES`.`RESERVA` (`idRESERVA` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `reserva_10`
FOREIGN KEY (`idPRODUCTO` )
REFERENCES `VOLANSVIAJES`.`PRODUCTO` (`idPRODUCTO` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;



PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 23 - Profesor: ING. IVAN IMAN AGURTO



29. TABLA RESERVA_ CONTRATANTE

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`RESERVA_CONTRATANTE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`RESERVA_CONTRATANTE` (
`idRESERVA` INT NOT NULL ,
`idCLIENTE` INT NOT NULL ,
PRIMARY KEY (`idRESERVA`) ,
INDEX `reserva_12_idx` (`idRESERVA` ASC) ,
INDEX `reserva_13_idx` (`idCLIENTE` ASC) ,
CONSTRAINT `reserva_12`
FOREIGN KEY (`idRESERVA` )
REFERENCES `VOLANSVIAJES`.`RESERVA` (`idRESERVA` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `reserva_13`
FOREIGN KEY (`idCLIENTE` )
REFERENCES `VOLANSVIAJES`.`CLIENTE` (`idCLIENTE` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

30. TABLA RESERVA_ PASAJERO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`RESERVA_PASAJERO`
-- -----------------------------------------------------
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 24 - Profesor: ING. IVAN IMAN AGURTO


CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`RESERVA_PASAJERO` (
`idRESERVA` INT NOT NULL ,
`idCLIENTE` INT NOT NULL ,
PRIMARY KEY (`idRESERVA`, `idCLIENTE`) ,
INDEX `reserva_14_idx` (`idRESERVA` ASC) ,
INDEX `reserva_15_idx` (`idCLIENTE` ASC) ,
CONSTRAINT `reserva_14`
FOREIGN KEY (`idRESERVA` )
REFERENCES `VOLANSVIAJES`.`RESERVA` (`idRESERVA` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `reserva_15`
FOREIGN KEY (`idCLIENTE` )
REFERENCES `VOLANSVIAJES`.`CLIENTE` (`idCLIENTE` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

31. TABLA RESERVA_ DOCUMENTO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`RESERVA_DOCUMENTO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`RESERVA_DOCUMENTO` (
`idRESERVA` INT NOT NULL ,
`idDOCUMENTO` INT NOT NULL ,
PRIMARY KEY (`idRESERVA`, `idDOCUMENTO`) ,
INDEX `reserva_19_idx` (`idRESERVA` ASC) ,
INDEX `reserva_20_idx` (`idDOCUMENTO` ASC) ,
CONSTRAINT `reserva_19`
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 25 - Profesor: ING. IVAN IMAN AGURTO


FOREIGN KEY (`idRESERVA` )
REFERENCES `VOLANSVIAJES`.`RESERVA` (`idRESERVA` )
ON DELETE NO ACTION
ON UPDATE RESTRICT,
CONSTRAINT `reserva_20`
FOREIGN KEY (`idDOCUMENTO` )
REFERENCES `VOLANSVIAJES`.`DOCUMENTO` (`idDOCUMENTO` )
ON DELETE NO ACTION
ON UPDATE RESTRICT)
ENGINE = InnoDB;

32. TABLA RESERVA_ PAGO

-- -----------------------------------------------------
-- Table `VOLANSVIAJES`.`RESERVA_PAGO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VOLANSVIAJES`.`RESERVA_PAGO` (
`idRESERVA` INT NOT NULL ,
`idPAGO` INT NOT NULL ,
PRIMARY KEY (`idRESERVA`, `idPAGO`) ,
INDEX `reserva_21_idx` (`idRESERVA` ASC) ,
INDEX `reserva_22_idx` (`idPAGO` ASC) ,
CONSTRAINT `reserva_21`
FOREIGN KEY (`idRESERVA` )
REFERENCES `VOLANSVIAJES`.`RESERVA` (`idRESERVA` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `reserva_22`
FOREIGN KEY (`idPAGO` )
REFERENCES `VOLANSVIAJES`.`PAGO` (`idPAGO` )
PROYECTO BASE DE DATOS INGENIERIA DE SISTEMAS

Alumno: JOSE VILLANUEVA GRADOS - 26 - Profesor: ING. IVAN IMAN AGURTO


ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;