Sunteți pe pagina 1din 9

1Actividad Eje 3

Base de Datos Relacional

Presentado por:
CARLOS AUGUSTO NIÑO H.
Noviembre 2019

Profesor:
ANGEL ALBERTO VARON QUIMBAYO

Fundación Universitaria del Área Andina


Facultad de Ingeniería y Ciencias Básicas
Bases de Datos II
Introducción

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.

Un concepto capital del modelo relacional es el de relación, postulado por el matemático


y teórico de bases de datos Edgar F. Codd. Siguiendo al científico británico, una relación
representa un conjunto de entidades con las mismas propiedades. Cada relación se
compone de una serie de filas o registros (las llamadas tuplas), cuyos valores dependen
de ciertos atributos (columnas).
[ CITATION Dig \l 9226 ]
Objetivos

1. A partir de los requerimientos solicitados se debe realizar el diagrama entidad-


relación.
2. Comprender el tipo de relación para cada tabla y tener en cuenta las llaves
foráneas.
3. Crear la base de datos tendiendo en cuenta todo lo anterior.
Desarrollo

 Teniendo en cuenta lo enunciado en el taller:


o Los clientes deben estar registrados en la base de datos.
o Los clientes pueden realizar una o más reservas.
o A los clientes les asignan un asiento por cada reserva.
o Los asientos están relacionados con el avión.
o A los aviones se les debe programar un vuelo.
o Los vuelos tienen un aeropuerto de origen y de destino.

Se realiza el modelo entidad relación así:

Script SQL:

MySQL Script generated by MySQL Workbench


-- Mon Nov 11 17:20:40 2019
-- Model: New Model Version: 1.0
-- 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_SUB
STITUTION';
CREATE SCHEMA IF NOT EXISTS `Aerolinea` DEFAULT CHARACTER SET utf8 ;

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

 Se crearon las tablas intermedias de vuelo y reservas, donde se comprende

que un cliente puede tener una o mas reservas, para el caso de vuelo donde

relaciona el aeropuerto con el avión y a su ves la reserva a vuelo.

 Se tuvo en cuenta lo primordial que es mantener la relación de tablas para

poder controlar los datos de cada tabla y su origen correspondiente.

 Se tuvo en cuenta el proceso de normalización de datos explicados en el

referente de pensamiento del Eje3

 Se manejo la Obligatoriedad de los atributos para cada tabla según sea

para cada tipo de dato.


Referencias

1. Bibliografía

Areandina. (s.f.). Referente de pensamiento Eje3. En Bases de Datos II. Areandina.

IONOS, D. G. (s.f.). https://www.ionos.es/. Obtenido de


https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/bases-de-datos-
relacionales/

S-ar putea să vă placă și