drop table Equipment; drop table Aircraft; drop table Can_Fly; drop table Plane; drop table Pilot; drop table Assigned_To; drop table Booked_On; drop table Departure; drop table Flight; drop table Employee; drop table Person; /* Person Entity Set */ create table Person ( Name varchar(15) not null, Address varchar(15) not null, Phone varchar(12), /* optional */ primary key (Name) ); /* Employee Entity Set */ create table Employee ( Name varchar(15) not null, Salary number(10,2), Emp_No smallint unique not null, primary key (Name), foreign key (Name) references Person(Name) ); /* Pilot Entity Set */ create table Pilot ( Emp_No smallint unique, foreign key (Emp_No) references Employee(Emp_No) ); /* Plane Entity Set */ create table Plane ( Maker varchar(15) not null, Model_No varchar(15) not null, primary key (Model_No) ); /* Aircraft Entity Set */ create table Aircraft ( /* subsumes Type */ Serial_No smallint not null, Model_No varchar(15) not null, primary key (Serial_No, Model_No), foreign key (Model_No) references Plane(Model_No) ); /* Flight Entity Set */ create table Flight ( Num smallint not null, Origin varchar(3), Dest varchar(3), Dep_Time varchar(5), Arr_Time varchar(5), primary key (Num) ); /* Departure Entity Set */ create table Departure ( /* subsumes Instance_Of */ Dep_Date varchar(6) not null, Num smallint not null, primary key (Dep_Date, Num), foreign key (Num) references Flight(Num) ); /* Booked_On Relationship Sets */ create table Booked_On ( Name varchar(15) not null, Dep_Date varchar(6) not null, Num smallint not null, primary key (Name, Dep_Date, Num), foreign key (Dep_Date, Num) references Departure(Dep_Date, Num) ); /* Assigned_To Relationship Sets */ create table Assigned_To ( Emp_No smallint not null, Dep_Date varchar(6) not null, Num smallint not null, primary key (Emp_No, Dep_Date, Num), foreign key (Emp_No) references Employee(Emp_No), foreign key (Dep_Date, Num) references Departure(Dep_Date, Num) ); /* Can_Fly Relationship Sets */ create table Can_Fly ( Emp_No smallint not null, Model_No varchar(15) not null, primary key (Emp_No, Model_No), foreign key (Emp_No) references Employee(Emp_No), foreign key (Model_No) references Plane(Model_No) ); /* Equipment Relationship Set */ create table Equipment ( Dep_Date varchar(6) not null, Num smallint not null, Serial_No smallint not null, Model_No varchar(15) not null, primary key (Dep_Date, Num, Serial_No, Model_No), foreign key (Dep_Date, Num) references Departure(Dep_Date, Num), foreign key (Serial_No, Model_No) references Aircraft(Serial_No, Model_No) ); /* Populate DB */ insert into Person values ('Smith', '123 Elm St.', '801-556-2239'); insert into Person values ('Jones', '234 Oak St.', '801-552-2943'); insert into Person values ('Peters', '345 Pine St.', '801-393-2230'); insert into Person values ('Green', '435 Alder St.', '801-933-2320'); insert into Person values ('Rowe', '348 Elder St.', '801-343-2320'); insert into Person values ('Phillips', '395 Pine St.', '801-323-2320'); insert into Person values ('Gates', '285 Kapok St.', '801-493-2203'); insert into Person values ('Clark', '223 Easy St.', '801-193-2320'); insert into Person values ('Warnock', '775 Main St.', '801-303-2222'); insert into Person values ('Hooper', '456 Maple St.', '313-912-2101'); insert into Person values ('Edwards', '567 Spruce St.', '801-228-6729'); insert into Person values ('Majeris', '678 Willow St.', null); insert into Person values ('MacBride', '789 Fir St.', null); insert into Employee values ('Jones', 50000.00, 1001); insert into Employee values ('Peters', 45000.00, 1002); insert into Employee values ('Rowe', 35000.00, 1003); insert into Employee values ('Phillips', 25000.00, 1004); insert into Employee values ('Gates', 5000000.00, 1005); insert into Employee values ('Clark', 150000.00, 1006); insert into Employee values ('Warnock', 500000.00, 1007); insert into Pilot values (1001); insert into Pilot values (1002); insert into Pilot values (1003); insert into Plane values ('Boeing', 'B727'); insert into Plane values ('Boeing', 'B747'); insert into Plane values ('Boeing', 'B757'); insert into Plane values ('MD', 'DC9'); insert into Plane values ('MD', 'DC10'); insert into Plane values ('Airbus', 'A310'); insert into Plane values ('Airbus', 'A320'); insert into Plane values ('Airbus', 'A330'); insert into Plane values ('Airbus', 'A340'); insert into Aircraft values (11, 'B727'); insert into Aircraft values (13, 'B727'); insert into Aircraft values (10, 'B747'); insert into Aircraft values (13, 'B747'); insert into Aircraft values (22, 'B757'); insert into Aircraft values (93, 'B757'); insert into Aircraft values (21, 'DC9'); insert into Aircraft values (22, 'DC9'); insert into Aircraft values (23, 'DC9'); insert into Aircraft values (24, 'DC9'); insert into Aircraft values (21, 'DC10'); insert into Aircraft values (70, 'A310'); insert into Aircraft values (80, 'A320'); insert into Flight values (100, 'SLC', 'BOS', '08:00', '17:50'); insert into Flight values (206, 'DFW', 'STL', '09:00', '11:40'); insert into Flight values (334, 'ORD', 'MIA', '12:00', '14:14'); insert into Flight values (335, 'MIA', 'ORD', '15:00', '17:14'); insert into Flight values (336, 'ORD', 'MIA', '18:00', '20:14'); insert into Flight values (337, 'MIA', 'ORD', '20:30', '23:53'); insert into Flight values (121, 'STL', 'SLC', '07:00', '09:13'); insert into Flight values (122, 'STL', 'YYV', '08:30', '10:19'); insert into Flight values (330, 'JFK', 'YYV', '16:00', '18:53'); insert into Flight values (991, 'BOS', 'ORD', '17:00', '18:22'); insert into Flight values (394, 'DFW', 'MIA', '19:00', '21:30'); insert into Flight values (395, 'MIA', 'DFW', '21:00', '23:43'); insert into Flight values (449, 'CDG', 'DEN', '10:00', '19:29'); insert into Flight values (930, 'YYV', 'DCA', '13:00', '16:10'); insert into Flight values (931, 'DCA', 'YYV', '17:00', '18:10'); insert into Flight values (932, 'DCA', 'YYV', '18:00', '19:10'); insert into Flight values (112, 'DCA', 'DEN', '14:00', '18:07'); insert into Departure values ('Oct 31', 100); insert into Departure values ('Oct 31', 112); insert into Departure values ('Oct 31', 206); insert into Departure values ('Oct 31', 334); insert into Departure values ('Oct 31', 335); insert into Departure values ('Oct 31', 337); insert into Departure values ('Oct 31', 449); insert into Departure values ('Nov 1', 100); insert into Departure values ('Nov 1', 112); insert into Departure values ('Nov 1', 206); insert into Departure values ('Nov 1', 334); insert into Departure values ('Nov 1', 395); insert into Departure values ('Nov 1', 991); insert into Booked_On values ('Smith', 'Oct 31', 100); insert into Booked_On values ('Green', 'Oct 31', 206); insert into Booked_On values ('Hooper', 'Oct 31', 334); insert into Booked_On values ('Edwards', 'Oct 31', 449); insert into Booked_On values ('MacBride', 'Nov 1', 991); insert into Booked_On values ('Gates', 'Nov 1', 991); insert into Booked_On values ('Rowe', 'Nov 1', 100); insert into Booked_On values ('Clark', 'Nov 1', 100); insert into Booked_On values ('Phillips', 'Oct 31', 449); insert into Booked_On values ('Warnock', 'Oct 31', 449); insert into Booked_On values ('Smith', 'Nov 1', 991); insert into Booked_On values ('Peters', 'Nov 1', 100); insert into Assigned_To values (1001, 'Oct 31', 100); insert into Assigned_To values (1002, 'Oct 31', 100); insert into Assigned_To values (1003, 'Oct 31', 100); insert into Assigned_To values (1004, 'Oct 31', 100); insert into Assigned_To values (1007, 'Oct 31', 206); insert into Assigned_To values (1003, 'Oct 31', 337); insert into Assigned_To values (1004, 'Oct 31', 337); insert into Assigned_To values (1005, 'Oct 31', 337); insert into Assigned_To values (1006, 'Oct 31', 337); insert into Assigned_To values (1001, 'Nov 1', 100); insert into Assigned_To values (1002, 'Nov 1', 100); insert into Assigned_To values (1006, 'Nov 1', 991); insert into Assigned_To values (1007, 'Nov 1', 991); insert into Assigned_To values (1007, 'Nov 1', 112); insert into Can_Fly values (1001, 'B727'); insert into Can_Fly values (1001, 'B747'); insert into Can_Fly values (1001, 'DC10'); insert into Can_Fly values (1002, 'DC9'); insert into Can_Fly values (1002, 'A340'); insert into Can_Fly values (1002, 'B757'); insert into Can_Fly values (1002, 'A320'); insert into Can_Fly values (1003, 'A310'); insert into Can_Fly values (1003, 'DC9'); insert into Equipment values ('Oct 31', 100, 11, 'B727'); insert into Equipment values ('Oct 31', 206, 13, 'B727'); insert into Equipment values ('Oct 31', 112, 11, 'B727'); insert into Equipment values ('Oct 31', 337, 24, 'DC9'); insert into Equipment values ('Nov 1', 991, 22, 'B757'); insert into Equipment values ('Nov 1', 112, 21, 'DC10');