Databases
Examen Pendientes DDL_DCL
Enunciado
Imagina que ya tenemos creadas las siguientes tablas:
- AVIONES <COD_AVION, NOMBRE, CAPACIDAD, FECHA_COMPRA>
- VUELOS <COD_VUELO, *COD_AVION, ORIGEN, DESTINO>
- BILLETES <*COD_VUELO, FECHA_VUELO, DNI_PASAJERO, PLAZA, CLASE>
- Tabla AVIONES
- COD_AVION: cadena de tamaño 5
- NOMBRE: cadena de tamaño 10
- CAPACIDAD: entero de valor máximo 660
- FECHA_COMPRA: de tipo fecha
- Tabla VUELOS
- COD_VUELO: cadena de tamaño 3
- COD_AVION: cadena de tamaño 5
- ORIGEN: cadena de tamaño 20
- DESTINO: cadena de tamaño 20
- Tabla BILLETES
- COD_VUELO: cadena de tamaño 3
- FECHA_VUELO: tipo fecha
- DNI_PASAJERO: cadena de tamaño 9
- ASIENTO: cadena de tamaño 3
- CLASE: cadena de tamaño 7
Haz que en la tabla VUELOS, el ORIGEN deba ser distinto de DESTINO en el mismo vuelo.
Tipo
DDL
Solución
alter table vuelos add constraint vue_ori_ck check (origen != destino);
Prueba
INSERT INTO VUELOS (cod_vuelo, cod_avion, origen, destino)
VALUES ('AAA', 'IB123', 'MJV', 'MAD');
INSERT INTO VUELOS (cod_vuelo, cod_avion, origen, destino)
VALUES ('BBB', 'IB123', 'MJV', 'MJV');
SELECT * FROM VUELOS;
LibrerÃas (Onfly databases)
create table aviones (
cod_avion varchar2(5) primary key,
nombre varchar2(10),
capacidad number(3),
fecha_compra date);
create table vuelos(
cod_vuelo varchar2(3),
cod_avion varchar2(5),
origen varchar2(20),
destino varchar2(20),
constraint vue_cod_pk primary key(cod_vuelo));
create table billetes(
cod_vuelo varchar2(3),
fecha_vuelo date,
dni_pasajero varchar2(9),
asiento varchar2(3) not null,
clase varchar2(7) not null,
constraint bil_cod_pk primary key (cod_vuelo, fecha_vuelo, dni_pasajero));

