Ejercicio 15

an anonymous user · May 27, 2023
CREATE TABLE Turista (
    Numero_turista INT PRIMARY KEY NOT NULL,
    Nombre VARCHAR(30),
    APELLIDO_1 VARCHAR(30),
    APELLIDO_2 VARCHAR(30),
    Pais VARCHAR(20),
    Edad INT
);
CREATE TABLE Lugar (
    Codigo_lugar INT PRIMARY KEY,
    Nombre VARCHAR(30),
    Tipo_lugar VARCHAR(20),
    Continente VARCHAR(7)
);

CREATE TABLE Viaje (
    Num_viaje INT,
    Num_turista INT,
    Cod_lugar INT,
    Fecha_salida DATE,
    Fecha_llegada DATE,
    Ciudad_salida VARCHAR(20),
    FOREIGN KEY (Num_turista) REFERENCES Turista(Numero_turista),
    FOREIGN KEY (Cod_lugar) REFERENCES Lugar(Codigo_lugar)
);
ALTER TABLE Viaje ADD Estadia VARCHAR(20);
ALTER TABLE Viaje DROP COLUMN Fecha_llegada;

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (1, 'Jorge', 'Lopez', '', 'Grecia', 35);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (2, 'Alicia', 'Arias', '', 'Costa Rica', 5);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (3, 'Douglas', 'All Black', 'EE.UU', 'EE.UU', 20);
  
INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (4, 'Felipe', 'Ruiz', 'Ruiz', 'Guatemala', 18);

INSERT INTO Lugar (Codigo_lugar, Nombre, Tipo_lugar, Continente) VALUES (10, 'CATARATAS NIAGARA', 'CATARATA', 'AMERICA');

INSERT INTO Lugar (Codigo_lugar, Nombre, Tipo_lugar, Continente) VALUES  (20, 'COLISEO', 'Histórico', 'EUROPA');

INSERT INTO Lugar (Codigo_lugar, Nombre, Tipo_lugar, Continente) VALUES  (30, 'PIRAMIDES', 'Histórico', 'AFRICA');

INSERT INTO Lugar (Codigo_lugar, Nombre, Tipo_lugar, Continente) VALUES  (40, 'MURALLA CHINA', 'Histórico', 'ASIA');

INSERT INTO Lugar (Codigo_lugar, Nombre, Tipo_lugar, Continente) VALUES  (50, 'MONTE FUJI', 'VOLCAN', 'ASIA');

INSERT INTO Lugar (Codigo_lugar, Nombre, Tipo_lugar, Continente) VALUES  (60, 'GALAPAGOS', 'ISLA', 'AMERICA');

INSERT INTO Lugar (Codigo_lugar, Nombre, Tipo_lugar, Continente) VALUES  (70, 'DESERTO SAHARA', 'DESIERTO', 'AFRICA');

INSERT INTO Lugar (Codigo_lugar, Nombre, Tipo_lugar, Continente) VALUES  (80, 'TORRE EIFFEL', 'ARQUITECTURA', 'EUROPA');

INSERT INTO Lugar (Codigo_lugar, Nombre, Tipo_lugar, Continente) VALUES  (90, 'LA OPERA', 'ARQUITECTURA', 'OCEANIA');

INSERT INTO Lugar (Codigo_lugar, Nombre, Tipo_lugar, Continente) VALUES  (100, 'BOSQUE SECO', 'BOSQUE', 'OCEANIA');


INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (5, 'Young', 'Chang', '', 'Japón', 80);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (6, 'Pablo', 'Ruiz', '', 'Bolivia', 99);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (7, 'Ying', 'Chang', 'Yong', 'China', 45);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (8, 'Martha', '', 'Nuñez', 'Noruega', 25);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (9, 'Maria Azuri', 'Nikita', 'Congo', 'Congo', 15);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (10, 'Juan', 'Arrollo', 'Caiman', 'India', 10);

DELETE FROM Lugar
WHERE Continente = 'OCEANIA';

/*Insertar la siguiente información en la tabla Turista.*/
INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (5, 'Young', 'Chang', NULL, 'Japón', 80);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (6, 'Pablo', 'Ruiz', NULL, 'Bolivia', 99);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (7, 'Ying', 'Chang', 'Yong', 'China', 45);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (8, 'Martha', NULL,'Nuñez', 'Noruega', 25);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (9, 'Maria', 'Azuri', 'Nikita', 'Congo', 15);

INSERT INTO Turista (Numero_turista, Nombre, APELLIDO_1, APELLIDO_2, Pais, Edad)
VALUES (10, 'Juan', 'Arrollo', 'Caiman', 'India', 10);



/*Usar la instrucción para actualizar, de tal forma que se deben incrementar los códigos de
lugar según el continente */
UPDATE Lugar
SET Codigo_lugar = 
    CASE
        WHEN Continente = 'América' THEN Codigo_lugar + 100
        WHEN Continente = 'Africa' THEN Codigo_lugar + 200
        WHEN Continente = 'Asia' THEN Codigo_lugar + 300
        WHEN Continente = 'Europa' THEN Codigo_lugar + 400
        WHEN Continente = 'Oceanía' THEN Codigo_lugar + 500
    END;


/*Insertar la siguiente información en la tabla viaje.*/
INSERT INTO Viaje (Num_viaje, Num_turista, Cod_lugar, Fecha_salida, Ciudad_salida, Estadia)
VALUES (1, 1, 110, TO_DATE('20110528', 'YYYYMMDD'), 'INDIA', 15);

INSERT INTO Viaje (Num_viaje, Num_turista, Cod_lugar, Fecha_salida, Ciudad_salida, Estadia)
VALUES (2, 3, 160, TO_DATE('20110601', 'YYYYMMDD'), 'NEW YORK', 20);

INSERT INTO Viaje (Num_viaje, Num_turista, Cod_lugar, Fecha_salida, Ciudad_salida, Estadia)
VALUES (3, 2, 420, TO_DATE('20110520', 'YYYYMMDD'), 'BOLIVIA', 30);

INSERT INTO Viaje (Num_viaje, Num_turista, Cod_lugar, Fecha_salida, Ciudad_salida, Estadia)
VALUES (4, 1, 230, TO_DATE('20110604', 'YYYYMMDD'), 'INDIA', 25);


/*Eliminar los registros de la tabla lugar cuyo continente es Oceanía.*/
DELETE FROM Lugar
WHERE Continente = 'Oceanía';












Output
(Run the program to view its output)

Comments

Please sign up or log in to contribute to the discussion.