CREATE TABLE airports (code CHAR(03) NOT NULL PRIMARY KEY, city CHAR(15) NOT NULL, nation CHAR(15) NOT NULL); CREATE TABLE flights (fcod CHAR(05) NOT NULL PRIMARY KEY, from CHAR(03) NOT NULL REFERENCES airports(code), to CHAR(03) NOT NULL REFERENCES airports(code) ); CREATE TABLE fares (fcod CHAR(05) NOT NULL REFERENCES flights, day CHAR(03) NOT NULL, class CHAR(01) NOT NULL, price integer NOT NULL, primary key (fcod,day,class) ); INSERT INTO airports VALUES ('BLQ','Bologna','Italy'), ('FCO','Roma','Italy'), ('MXP','Milano','Italy'), ('LAX','Los Angeles','USA'), ('JFK','New York','USA'), ('MEX','Mexico City','Mexico'); INSERT INTO flights VALUES ('AZ123','BLQ','FCO'), ('AZ124','FCO','BLQ'), ('AZ145','FCO','LAX'), ('AZ146','LAX','FCO'), ('AZ156','FCO','JFK'), ('AZ157','JFK','FCO'), ('AZ213','BLQ','MXP'), ('AZ214','MXP','BLQ'), ('AZ313','MXP','MEX'), ('AZ314','MEX','MXP'); INSERT INTO fares VALUES ('AZ123','sun','E',53), ('AZ123','sun','B',106), ('AZ123','mon','E',63), ('AZ123','mon','B',116), -- ('AZ124','tue','E',63), ('AZ124','tue','B',116), -- ('AZ145','wed','E',730), ('AZ146','fri','E',1200), -- ('AZ156','thu','E',530), ('AZ157','fri','E',720), -- ('AZ213','sat','E',100), ('AZ214','sun','E',100), -- ('AZ313','mon','E',1500), ('AZ314','wed','E',1000);