Documente Academic
Documente Profesional
Documente Cultură
Presentado por:
CARLOS AUGUSTO NIÑO H.
Noviembre 2019
Profesor:
ANGEL ALBERTO VARON QUIMBAYO
Las bases de datos son parte esencial de cualquier sistema informático, puesto que todos
los programas necesitan recurrir a diversos datos mientras se ejecutan o generan otros que
se han de almacenar de forma fiable, sin contradicciones y a largo plazo. Esto es posible
en bases de datos (BD) estructuradas y gestionadas por sistemas de gestión de bases de
datos (SGBD), aplicaciones de software que interactúan con el usuario o con otros
programas para poner a su disposición un segmento de la información guardada en la
base de datos.
Script SQL:
USE `Aerolinea` ;
-- -----------------------------------------------------
-- Table `Aerolinea`.`cliente`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Aerolinea`.`cliente` (
`id_cliente` INT NOT NULL AUTO_INCREMENT,
`tipo_documento` INT(10) NOT NULL,
`numero_doc` VARCHAR(45) NOT NULL,
`nombre` VARCHAR(45) NOT NULL,
`apellido` VARCHAR(45) NOT NULL,
`email` VARCHAR(45) NOT NULL,
`telefono` VARCHAR(15) NOT NULL,
PRIMARY KEY (`id_cliente`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Aerolinea`.`avion`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Aerolinea`.`avion` (
`id_avion` INT NOT NULL AUTO_INCREMENT,
`num_placa` VARCHAR(12) NOT NULL,
`fabricante` VARCHAR(45) NOT NULL,
`modelo` VARCHAR(45) NOT NULL,
`referencia` VARCHAR(45) NOT NULL,
`cantidad_asientos` VARCHAR(45) NOT NULL,
`aerolinea` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id_avion`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Aerolinea`.`aeropuerto`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Aerolinea`.`aeropuerto` (
`id_aeropuerto` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(45) NOT NULL,
`pais` VARCHAR(45) NOT NULL,
`ciudad` VARCHAR(45) NOT NULL,
`direccion` VARCHAR(45) NOT NULL,
`telefono` VARCHAR(45) NOT NULL,
`capacidad_personas` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id_aeropuerto`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Aerolinea`.`vuelo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Aerolinea`.`vuelo` (
`id_vuelo` INT NOT NULL AUTO_INCREMENT,
`nombre_vuelo` VARCHAR(45) NOT NULL,
`id_aeropuerto_origen` INT NOT NULL,
`id_aeropuerto_destino` INT NOT NULL,
`id_avion` INT NOT NULL,
PRIMARY KEY (`id_vuelo`),
INDEX `avion_vuelo_idx` (`id_avion` ASC) VISIBLE,
CONSTRAINT `avion_vuelo`
FOREIGN KEY (`id_avion`)
REFERENCES `Aerolinea`.`avion` (`id_avion`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `aeropuerto_origen`
FOREIGN KEY (`id_aeropuerto_origen`)
REFERENCES `Aerolinea`.`aeropuerto` (`id_aeropuerto`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `aeropuerto_destino`
FOREIGN KEY (`id_aeropuerto_destino`)
REFERENCES `Aerolinea`.`aeropuerto` (`id_aeropuerto`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Aerolinea`.`reserva`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Aerolinea`.`reserva` (
`id_reserva` INT NOT NULL AUTO_INCREMENT,
`id_cliente` INT NOT NULL,
`id_vuelo` INT NOT NULL,
`num_asiento` INT NOT NULL,
PRIMARY KEY (`id_reserva`),
INDEX `reserva_vuelo_idx` (`id_vuelo` ASC) VISIBLE,
INDEX `cliente_reserva_idx` (`id_cliente` ASC) VISIBLE,
CONSTRAINT `reserva_vuelo`
FOREIGN KEY (`id_vuelo`)
REFERENCES `Aerolinea`.`vuelo` (`id_vuelo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `cliente_reserva`
FOREIGN KEY (`id_cliente`)
REFERENCES `Aerolinea`.`cliente` (`id_cliente`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
USE `reserva` ;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Conclusiones
que un cliente puede tener una o mas reservas, para el caso de vuelo donde
1. Bibliografía