Professional Documents
Culture Documents
EXAMEN 1
BBDD
Cargamos el
archivo
'aeropuerto.sql' a
MySQL:
Primero creamos
la base de datos:
'create database aeropuerto'
1.- Muestra nombre de agencias que tienen reserva de vuelos en el mes de Febrero de 2001 y
su origen de vuelo sea Madrid
select distinct nombre from agencias a, reservas r, vuelos v where a.code=r.agencia and
r.num_vuelo=v.num_vuelo and fecha between "2001/2/1" and "2001/2/28" and
origen="Madrid" order by nombre;
2.- Muestra los tipos de aviones que han pasado por Barcelona 2 formas :
4.- Muestra el total de plazas reservadas existentes para cada numero de vuelo de IBeria
-----------------------------------------------------------------------------------------------------------------------------
PROBLEMA 1 : Crear tabla alumnos con id, nombre, apellidos, dir, tlfno, repite(SI/NO),
edad(0-99) y provincia(Madrid,Tooledo o Sevilla)
create table alumnos(id varchar(20) not null auto_increment primary key, nombre
varchar(30), apellidos varchar(50),dir varchar(30),tlfno int (20),repite boolean, edad int(2),
*NOTA: en el campo 'id' no escribimos valor ya que hemos puesto por defecto que se
autoincrementa, para ello hemos tenido que introducir el comando tambien con los campos
pero sin incluir el del 'id'.
PROBLEMA 2 : Crear tabla profesores con dni, nombre, ultimo acceso(fecha actual por
defecto), fecha nacimiento, y salario(1000-90000) . 2 formas :
create table profesores(dni varchar(20) primary key, nombre varchar(30) not null, ult_acceso
date ' now() ',fecha_nac date, salario int check(salario between 1000 and 90000));
create table profesores(dni varchar(20) primary key, nombre varchar(30) not null, ult_acceso
timestamp current_timestamp,fecha_nac date, salario int check(salario between 1000 and
90000));
Actualizamos la tabla alumnos para que sean repetidores todo los que son de Toledo:
PROBLEMA 3
Obtenga en una sola columna los nombres de todas las ciudades que aparecen en la tabla
vuelos, ordenados alfabeticamente, sin repetir
select distinct origen from vuelos union select distinct destino from vuelos;
Obtenga una vista que almacene las butacas de aquellos aviones con butacas menor que la
media de los otros aviones 2 formas
create view aeropuerto as select butacas from aviones where butacas <( select avg(butacas )
from aviones);
create view vista as select tipo,butacas from aviones a where butacas <(select avg(b.butacas)
from aviones b );
Visualice media de plazas reservadas por numero de vuelo para los realizados desde
Barcelona o Sevilla a Madrid y que recorren una distancia menor que la media de todos los
vuelos que llegan a Madrid, ordenados de menor a mayor
create view vista2 as select avg(plazas) from reservas r,vuelos v where
r.num_vuelo=v.num_vuelo and num_vuelo in ( select origen,destino from vuelos where
origen="Barcelona" or origen="Sevilla" and destino="Madrid" and distancia <( select
avg( distancia) from vuelos where destino="Madrid" order by distancia));
mostrar los números de vuelo y el origen de los vuelos que correspondes partes con numero
de partes entre 200 y 800 y que recorren distancias mayores que la media, ordenandolos por
origen.
Mostrar para cada fecha cuantos vuelos ni llegan ni salen de madrid
localhost/phpmyadmin