Sei sulla pagina 1di 18

CURSO DE BASE DE DATOS AVANZADA 301125A_289

MOMENTO INTERMEDIO - FASE 2


DESARROLLO DE LA PARTE INDIVIDUAL
RODRIGO BURITICA PAREDES CC 94472151
CEAD PALMIRA
GRUPO COLABORATIVO 301125_7

PUNTO 1 - RESPUESTA A PREGUNTAS ORIENTADORAS

Pregunta 1. Qu es SQL y cules son sus principales componentes.


El Structured Query Language o simplemente SQL, es un lenguaje estndar que
permite crear y manejar bases de datos relacionales. Pueden crearse "pequeos"
programas en l, como los Scripts o los Procedimientos Almacenados, que luego
pueden ser utilizados desde java, por ejemplo, o simplemente escribirse y
ejecutarse lneas de SQL desde una consola para manipular la base de datos.
El SQL se compone principalmente de sentencias de Definicin (aquellas con las
que se crea, elimina o se modifica la estructura de una base de datos), sentencias
de Manipulacin (con las que se ingresan, modifican, consultan o eliminan datos,
etc.) y sentencias de Control (aquellas con las que se controlan permisos,
concurrencias, etc.)

Pregunta 2. Que es una llave fornea y cual su utilidad.


Una llave o clave fornea es un campo de una tabla que es llave primaria en otra
tabla, es decir, los datos que se ingresen en ese campo, deben existir en la tabla
de la cual tiene dependencia ese campo, en el campo llave primaria de aquella.
Esto permitir relacionar los datos de una tabla con los de otra.

Pregunta 3. Que puede pasar si no se define adecuadamente la integridad


referencial.
La integridad referencial permite controlar que los datos que recibe una llave
fornea efectivamente sean datos existentes en la llave primaria de la tabla de la

cual es dependiente. De no definirse la integridad referencial, la relacin puede


permitir datos errneos.

Pregunta 4 Que es una llave candidata y de un ejemplo.


Una llave candidata es un campo que cumple con caractersticas de la llave
primaria, como es el hecho de ser nico. Por ejemplo -no s si an es as- en
Univalle los estudiantes tenan un cdigo el cual los identificaba, siendo l
seguramente la llave primaria en la entidad o tabla de estudiantes, pero cada uno
igualmente tendra nmero de identificacin personal (cdula, tarjeta de identidad,
etc.) el cual perfectamente podra ser tambin la llave primaria.

Pregunta 5 Cules son las operaciones que se hacen con DDL


El Lenguaje de Definicin de Datos (DDL) es el que se utiliza para crear, modificar
y eliminar tablas, principalmente. Las operaciones bsicas son:
CREATE, crear tablas
ALTER, modificar estructura de las tablas
DROP, eliminar tablas

Pregunta 6 Que operaciones se realizan con DML


El Lenguaje de Manipulacin de Datos (DML) es el que se utiliza para manipular
los datos dentro de las tablas. Sus operaciones bsicas son:
SELECT, consultar datos en una tabla
UPDATE, actualizar datos en las tablas
INSERT, insertar datos en las tablas
DELETE, borrar datos en las tablas

PUNTO 2 - CREACION DE LA BASE DE DATOS


Iniciamos el servidor xampp

Entramos a MySQL
rburiticap_aeropuerto

Workbench

creamos

el

nuevo

modelo

Comenzamos a crear las tablas

Creamos las Llaves Forneas para que se creen las relaciones

Modelo terminado

Vamos a Exportar el Script de SQL

Creamos el archivo para el Script

Vista previa del Script antes de exportarse

Entramos a nuestra conexin mysqlxampp creada previamente hacia el


servidor mysql del xampp

Abrimos el Script y lo ejecutamos

En Schemas verificamos que la BD est creada

CODIGO DEL SCRIPT DE SQL


-- MySQL Script generated by MySQL Workbench
-- 06/01/16 01:51:39
-- 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='TRADITIONAL,ALLOW_INVALID_DATES';
-- ------------------------------------------------------ Schema rburiticap_aeropuerto
-- ----------------------------------------------------DROP SCHEMA IF EXISTS `rburiticap_aeropuerto` ;
-- ------------------------------------------------------ Schema rburiticap_aeropuerto
-- ----------------------------------------------------CREATE SCHEMA IF NOT EXISTS `rburiticap_aeropuerto` DEFAULT
CHARACTER SET utf8 ;
USE `rburiticap_aeropuerto` ;
-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`aeropuertos`
-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`aeropuertos` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`aeropuertos` (
`cod_aeropuerto` INT NOT NULL,
`descripcion` VARCHAR(100) NOT NULL,
PRIMARY KEY (`cod_aeropuerto`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`genero`


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

DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`genero` ;


CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`genero` (
`id_genero` CHAR(1) NOT NULL,
`descripcion` VARCHAR(9) NULL,
PRIMARY KEY (`id_genero`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`tipo_documento`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`tipo_documento` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`tipo_documento` (
`id_tipo_documento` CHAR(2) NOT NULL,
`descripcion` VARCHAR(45) NULL,
PRIMARY KEY (`id_tipo_documento`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`marca`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`marca` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`marca` (
`id_marca` INT NOT NULL,
`nom_marca` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id_marca`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`nacionalidad`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`nacionalidad` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`nacionalidad` (
`id_nacionalidad` INT NOT NULL,

`nacionalidad` VARCHAR(45) NOT NULL,


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

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`departamento`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`departamento` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`departamento` (
`id_departamento` INT NOT NULL,
`departamento` VARCHAR(45) NOT NULL,
`id_nacionalidad` INT NOT NULL,
PRIMARY KEY (`id_departamento`),
CONSTRAINT `id_nacionalidad`
FOREIGN KEY (`id_nacionalidad`)
REFERENCES `rburiticap_aeropuerto`.`nacionalidad` (`id_nacionalidad`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
COMMENT = '
';
CREATE INDEX `id_nacionalidad_idx` ON `rburiticap_aeropuerto`.`departamento`
(`id_nacionalidad` ASC);

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`ciudad`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`ciudad` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`ciudad` (
`id_ciudad` INT NOT NULL,
`ciudad` VARCHAR(45) NOT NULL,
`id_departamento` INT NOT NULL,
`cod_aeropuerto` INT NOT NULL,
PRIMARY KEY (`id_ciudad`),
CONSTRAINT `cod_aeropuerto`
FOREIGN KEY (`cod_aeropuerto`)

REFERENCES `rburiticap_aeropuerto`.`aeropuertos` (`cod_aeropuerto`)


ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `id_departamento`
FOREIGN KEY (`id_departamento`)
REFERENCES `rburiticap_aeropuerto`.`departamento` (`id_departamento`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `cod_aeropuerto_idx` ON `rburiticap_aeropuerto`.`ciudad`
(`cod_aeropuerto` ASC);
CREATE INDEX `id_departamento_idx` ON `rburiticap_aeropuerto`.`ciudad`
(`id_departamento` ASC);

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`personas`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`personas` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`personas` (
`id_persona` INT NOT NULL,
`doc_persona` VARCHAR(12) NOT NULL,
`id_tipo_documento` CHAR(2) NOT NULL,
`nom_persona` VARCHAR(45) NOT NULL,
`apell_persona` VARCHAR(45) NOT NULL,
`fecha_nacimiento` DATE NOT NULL,
`fecha_ingreso` DATE NOT NULL,
`id_genero` CHAR(1) NOT NULL,
`celular` VARCHAR(12) NOT NULL,
`id_ciudad` INT NOT NULL,
PRIMARY KEY (`id_persona`),
CONSTRAINT `id_tipo_documento`
FOREIGN KEY (`id_tipo_documento`)
REFERENCES `rburiticap_aeropuerto`.`tipo_documento` (`id_tipo_documento`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `id_genero`

FOREIGN KEY (`id_genero`)


REFERENCES `rburiticap_aeropuerto`.`genero` (`id_genero`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `id_ciudad`
FOREIGN KEY (`id_ciudad`)
REFERENCES `rburiticap_aeropuerto`.`ciudad` (`id_ciudad`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `tipo_documento_idx` ON `rburiticap_aeropuerto`.`personas`
(`id_tipo_documento` ASC);
CREATE INDEX `id_genero_idx` ON `rburiticap_aeropuerto`.`personas`
(`id_genero` ASC);
CREATE INDEX `id_ciudad_idx` ON `rburiticap_aeropuerto`.`personas`
(`id_ciudad` ASC);

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`cargo`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`cargo` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`cargo` (
`id_cargo` INT NOT NULL,
`descripcion` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id_cargo`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`funcionarios`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`funcionarios` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`funcionarios` (
`id_funcionario` INT NOT NULL,

`id_persona` INT NOT NULL,


`id_cargo` INT NOT NULL,
PRIMARY KEY (`id_funcionario`),
CONSTRAINT `id_cargo`
FOREIGN KEY (`id_cargo`)
REFERENCES `rburiticap_aeropuerto`.`cargo` (`id_cargo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `id_persona`
FOREIGN KEY (`id_persona`)
REFERENCES `rburiticap_aeropuerto`.`personas` (`id_persona`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `id_cargo_idx` ON `rburiticap_aeropuerto`.`funcionarios`
(`id_cargo` ASC);
CREATE INDEX `id_persona_idx` ON `rburiticap_aeropuerto`.`funcionarios`
(`id_persona` ASC);

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`mantenimiento`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`mantenimiento` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`mantenimiento` (
`cod_mantenimiento` INT NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
`fecha_mantenimiento` DATETIME NOT NULL,
PRIMARY KEY (`cod_mantenimiento`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`aeronaves`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`aeronaves` ;

CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`aeronaves` (


`cod_aeronave` INT NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
`id_marca` INT NOT NULL,
`piloto` INT NOT NULL,
`copiloto` INT NOT NULL,
`auxiliar` INT NOT NULL,
`cod_mantenimiento` INT NOT NULL,
PRIMARY KEY (`cod_aeronave`),
CONSTRAINT `piloto`
FOREIGN KEY (`piloto`)
REFERENCES `rburiticap_aeropuerto`.`funcionarios` (`id_funcionario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `copiloto`
FOREIGN KEY (`copiloto`)
REFERENCES `rburiticap_aeropuerto`.`funcionarios` (`id_funcionario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `auxiliar`
FOREIGN KEY (`auxiliar`)
REFERENCES `rburiticap_aeropuerto`.`funcionarios` (`id_funcionario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `id_marca`
FOREIGN KEY (`id_marca`)
REFERENCES `rburiticap_aeropuerto`.`marca` (`id_marca`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `cod_mantenimiento`
FOREIGN KEY (`cod_mantenimiento`)
REFERENCES `rburiticap_aeropuerto`.`mantenimiento` (`cod_mantenimiento`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `id_funcionario_idx` ON `rburiticap_aeropuerto`.`aeronaves`
(`piloto` ASC);
CREATE INDEX `id_funcionario_idx1` ON `rburiticap_aeropuerto`.`aeronaves`

(`copiloto` ASC);
CREATE INDEX `id_funcionario_idx2` ON `rburiticap_aeropuerto`.`aeronaves`
(`auxiliar` ASC);
CREATE INDEX `id_marca_idx` ON `rburiticap_aeropuerto`.`aeronaves`
(`id_marca` ASC);
CREATE INDEX `cod_mantenimiento_idx` ON `rburiticap_aeropuerto`.`aeronaves`
(`cod_mantenimiento` ASC);

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`itinerarios`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`itinerarios` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`itinerarios` (
`cod_itinerario` INT NOT NULL,
`destino` INT NOT NULL,
`tarifa` DECIMAL(8) NOT NULL,
PRIMARY KEY (`cod_itinerario`),
CONSTRAINT `destino`
FOREIGN KEY (`destino`)
REFERENCES `rburiticap_aeropuerto`.`ciudad` (`id_ciudad`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `id_ciudad_idx` ON `rburiticap_aeropuerto`.`itinerarios` (`destino`
ASC);

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`estado_vuelo`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`estado_vuelo` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`estado_vuelo` (
`cod_estado_vuelo` INT NOT NULL,

`descripcion` VARCHAR(45) NOT NULL,


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

-- ------------------------------------------------------ Table `rburiticap_aeropuerto`.`vuelos`


-- ----------------------------------------------------DROP TABLE IF EXISTS `rburiticap_aeropuerto`.`vuelos` ;
CREATE TABLE IF NOT EXISTS `rburiticap_aeropuerto`.`vuelos` (
`cod_vuelo` INT NOT NULL,
`cod_aeronave` INT NOT NULL,
`cod_itinerario` INT NOT NULL,
`cod_estado_vuelo` INT NOT NULL,
`fecha_salida` DATETIME NOT NULL,
`fecha_llegada` DATETIME NOT NULL,
PRIMARY KEY (`cod_vuelo`),
CONSTRAINT `cod_itinerario`
FOREIGN KEY (`cod_itinerario`)
REFERENCES `rburiticap_aeropuerto`.`itinerarios` (`cod_itinerario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `cod_aeronave`
FOREIGN KEY (`cod_aeronave`)
REFERENCES `rburiticap_aeropuerto`.`aeronaves` (`cod_aeronave`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `cod_estado_vuelo`
FOREIGN KEY (`cod_estado_vuelo`)
REFERENCES `rburiticap_aeropuerto`.`estado_vuelo` (`cod_estado_vuelo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `cod_itinerario_idx` ON `rburiticap_aeropuerto`.`vuelos`
(`cod_itinerario` ASC);
CREATE INDEX `cod_aeronave_idx` ON `rburiticap_aeropuerto`.`vuelos`
(`cod_aeronave` ASC);

CREATE INDEX `cod_estado_vuelo_idx` ON `rburiticap_aeropuerto`.`vuelos`


(`cod_estado_vuelo` ASC);

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Potrebbero piacerti anche