Advertisement
pgapr14

DB_H2_xx

Nov 26th, 2015
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.32 KB | None | 0 0
  1. -- sheqmna
  2.  
  3. CREATE schema IF NOT EXISTS flights_DB;
  4.  
  5. CREATE TABLE IF NOT EXISTS airports(
  6.   airport_code VARCHAR(5) NOT NULL,
  7.     airport_name VARCHAR(100),
  8.     airport_city_ID INT(10),
  9. --    airport_country_ID int(10),
  10.     PRIMARY KEY (airport_code)
  11. );
  12.  
  13. CREATE TABLE IF NOT EXISTS cities(
  14.   city_ID INT(10) NOT NULL AUTO_INCREMENT,
  15.     city_name VARCHAR(50),
  16.     city_country_ID INT(50),
  17.     PRIMARY KEY (city_ID)
  18. );
  19.  
  20. ALTER TABLE airports ADD CONSTRAINT FK_airport_to_city FOREIGN KEY (airport_city_ID) REFERENCES cities(city_ID);
  21.  
  22. CREATE TABLE IF NOT EXISTS countries(
  23.   country_ID INT(10) NOT NULL AUTO_INCREMENT,
  24.     country_name VARCHAR(50),
  25.     PRIMARY KEY (country_ID)
  26. );
  27.  
  28. ALTER TABLE cities ADD CONSTRAINT FK_city_to_country FOREIGN KEY (city_country_ID) REFERENCES countries(country_ID);
  29.  
  30.  
  31. CREATE TABLE IF NOT EXISTS flights(
  32.   flight_ID INT(8) NOT NULL AUTO_INCREMENT,
  33.     flight_code VARCHAR(20),
  34.   --  flight_dep_country_ID int(10),
  35.   --  flight_dep_city_ID int(10),
  36.   flight_dep_airport_ID VARCHAR(5),
  37.     flight_dep_time TIMESTAMP,
  38.   --  flight_arr_country_ID int(10),
  39.   --  flight_arr_city_ID int(10),
  40.     flight_arr_airport_ID VARCHAR(5),
  41.     flight_arr_time TIMESTAMP,
  42.     flight_price DOUBLE(19,2),
  43.    
  44.     PRIMARY KEY (flight_ID)
  45. );
  46.  
  47.  
  48. ALTER TABLE flights ADD CONSTRAINT FK_dep_airport_to_airport FOREIGN KEY (flight_dep_airport_ID) REFERENCES airports(airport_code);
  49.  
  50. ALTER TABLE flights ADD CONSTRAINT FK_arr_airport_to_airport FOREIGN KEY (flight_arr_airport_ID) REFERENCES airports(airport_code);
  51.  
  52. -- sheyra
  53.  
  54. INSERT INTO countries(country_name)
  55.   SELECT DISTINCT dep_country FROM flights_all
  56.     UNION
  57.     SELECT DISTINCT arr_country FROM flights_all;
  58.    
  59. -- select * from countries;
  60.  
  61. INSERT cities(city_name, city_country_ID)
  62. SELECT dep_city, country_ID FROM
  63. (SELECT DISTINCT dep_city, dep_country FROM flights_all
  64. UNION
  65. SELECT DISTINCT arr_city, arr_country FROM flights_all) AS A JOIN countries C
  66. ON A.dep_country= C.country_name;
  67.  
  68. -- select * from cities;
  69.  
  70. INSERT airports(airport_code, airport_name, airport_city_ID)
  71. SELECT dep_airport, dep_airport_name, city_ID FROM
  72. (SELECT DISTINCT dep_airport, dep_airport_name, dep_city FROM flights_all
  73. UNION
  74. SELECT DISTINCT arr_airport, arr_airport_name, arr_city FROM flights_all) AS A JOIN cities C
  75. ON A.dep_city= C.city_name;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement