Hi bro
here is my full schema
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
DROP SCHEMA IF EXISTS `SADB` ;
CREATE SCHEMA IF NOT EXISTS `SADB` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `SADB` ;
-- -----------------------------------------------------
-- Table `SADB`.`Model`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `SADB`.`Model` (
`mid` INT NOT NULL,
`name` VARCHAR(45) NULL,
`usefulLoad` FLOAT NULL,
`pilotCount` INT,
PRIMARY KEY (`mid`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `SADB`.`Owner`
-- ----------------------------------------------------- INSERT INTO Owner(oid) Values(1);
CREATE TABLE IF NOT EXISTS `SADB`.`Owner` (
`oid` INT NOT NULL,
PRIMARY KEY (`oid`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `SADB`.`Hangar`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `SADB`.`Hangar` (
`hid` INT NOT NULL,
`name` VARCHAR(64) NULL,
`capacity` INT NULL,
PRIMARY KEY (`hid`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `SADB`.`Airplane`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `SADB`.`Airplane` (
`aid` INT NOT NULL,
`mid` INT NOT NULL,
`oid` INT NOT NULL,
`hid` INT NOT NULL,
`dateAcquired` DATE NULL,
`lastRepairDate` DATE,
PRIMARY KEY (`aid`),
INDEX `fk_Airplane_Model_idx` (`mid` ASC),
INDEX `fk_Airplane_Owner1_idx` (`oid` ASC),
INDEX `fk_Airplane_Hangar1_idx` (`hid` ASC),
CONSTRAINT `fk_Airplane_Model`
FOREIGN KEY (`mid`)
REFERENCES `SADB`.`Model` (`mid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Airplane_Owner1`
FOREIGN KEY (`oid`)
REFERENCES `SADB`.`Owner` (`oid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Airplane_Hangar1`
FOREIGN KEY (`hid`)
REFERENCES `SADB`.`Hangar` (`hid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `SADB`.`Person`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `SADB`.`Person` (
`pid` INT NOT NULL,
`firstName` VARCHAR(64) NULL,
`lastName` VARCHAR(256) NULL,
`email` VARCHAR(128) NULL,
`phone` VARCHAR(24) NULL,
PRIMARY KEY (`pid`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `SADB`.`IndividualOwner`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `SADB`.`IndividualOwner` (
`oid` INT NOT NULL,
`pid` INT NOT NULL,
PRIMARY KEY (`oid`),
INDEX `fk_PersonOwner_Person1_idx` (`pid` ASC),
CONSTRAINT `fk_PersonOwner_Owner1`
FOREIGN KEY (`oid`)
REFERENCES `SADB`.`Owner` (`oid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_PersonOwner_Person1`
FOREIGN KEY (`pid`)
REFERENCES `SADB`.`Person` (`pid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `SADB`.`CommercialOwner`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `SADB`.`CommercialOwner` (
`oid` INT NOT NULL,
`contactId` INT NOT NULL,
PRIMARY KEY (`oid`),
INDEX `fk_CompanyOwner_Person1_idx` (`contactId` ASC),
CONSTRAINT `fk_CompanyOwner_Owner1`
FOREIGN KEY (`oid`)
REFERENCES `SADB`.`Owner` (`oid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_CompanyOwner_Person1`
FOREIGN KEY (`contactId`)
REFERENCES `SADB`.`Person` (`pid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `SADB`.`Pilot`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `SADB`.`Pilot` (
`pid` INT NOT NULL,
`hireDate` DATE NULL,
PRIMARY KEY (`pid`),
INDEX `fk_Pilot_Person1_idx` (`pid` ASC),
CONSTRAINT `fk_Pilot_Person1`
FOREIGN KEY (`pid`)
REFERENCES `SADB`.`Person` (`pid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `SADB`.`License`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `SADB`.`License` (
`pid` INT NOT NULL,
`mid` INT NOT NULL,
`licenseDate` DATE NULL,
PRIMARY KEY (`pid`, `mid`),
INDEX `fk_Pilot_has_Model_Model1_idx` (`mid` ASC),
INDEX `fk_Pilot_has_Model_Pilot1_idx` (`pid` ASC),
CONSTRAINT `fk_Pilot_has_Model_Pilot1`
FOREIGN KEY (`pid`)
REFERENCES `SADB`.`Pilot` (`pid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Pilot_has_Model_Model1`
FOREIGN KEY (`mid`)
REFERENCES `SADB`.`Model` (`mid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `SADB`.`Flight`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `SADB`.`Flight` (
`fid` INT NOT NULL,
`aid` INT NOT NULL,
`pid` INT NOT NULL,
`plannedDeparture` DATETIME NULL,
`actualDeparture` DATETIME NULL,
`passengerCount` INT NULL,
`destination` VARCHAR(45) NULL,
PRIMARY KEY (`fid`),
INDEX `fk_Flight_Airplane1_idx` (`aid` ASC),
INDEX `fk_Flight_Pilot1_idx` (`pid` ASC),
CONSTRAINT `fk_Flight_Airplane1`
FOREIGN KEY (`aid`)
REFERENCES `SADB`.`Airplane` (`aid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Flight_Pilot1`
FOREIGN KEY (`pid`)
REFERENCES `SADB`.`Pilot` (`pid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
-- Data:
-- Table Model:
Insert into Model(mid,name,pilotCount,usefulLoad) Values(1,'Cessna Skyhawk',1,917);
Insert into Model(mid,name,pilotCount,usefulLoad) Values(2,'Piper Archer TX',1,870);
Insert into Model(mid,name,pilotCount,usefulLoad) Values(3,'De Havilland DHC-6 Twin Otter',2,4400);
Insert into Model(mid,name,pilotCount,usefulLoad) Values(4,'Jet Prop Commander AC-695A',2,3950);
Insert into Model(mid,name,pilotCount,usefulLoad) Values(5,'King Air 350, B300CER',2,6033);
Insert into Model(mid,name,pilotCount,usefulLoad) Values(6,'Piper Sport Cruiser',1,707);
-- Table Owner:
Insert into Owner(oid) Values(100);
Insert into Owner(oid) Values(200);
Insert into Owner(oid) Values(300);
Insert into Owner(oid) Values(400);
Insert into Owner(oid) Values(500);
-- Person Table:
Insert into Person(pid,firstName,lastName,email,phone) Values(1,'Amy','Amyson','a@amy.com','413-366-5196');
Insert into Person(pid,firstName,lastName,email,phone) Values(2,'Tom','Tomson','t@tom.com','413-885-3670');
Insert into Person(pid,firstName,lastName,email,phone) Values(3,'Don','Donson','d@don.com','413-309-3501');
Insert into Person(pid,firstName,lastName,email,phone) Values(4,'Eve','Eveson','e@eve.com','413-870-5178');
Insert into Person(pid,firstName,lastName,email,phone) Values(5,'Pat','Patson','p@pat.com','413-464-4202');
Insert into Person(pid,firstName,lastName,email,phone) Values(6,'Kim','Kimson','k@kim.com','413-613-3281');
Insert into Person(pid,firstName,lastName,email,phone) Values(7,'Ann','Annson','a@ann.com','413-626-3890');
Insert into Person(pid,firstName,lastName,email,phone) Values(8,'Wes','Wesson','w@wes.com','413-284-5235');
Insert into Person(pid,firstName,lastName,email,phone) Values(9,'Joe','Joeson','j@joe.com','413-822-3697');
Insert into Person(pid,firstName,lastName,email,phone) Values(10,'Jan','Janson','j@jan.com','413-445-4628');
Insert into Person(pid,firstName,lastName,email,phone) Values(11,'Sue','Sueson','s@sue.com','413-667-4260');
Insert into Person(pid,firstName,lastName,email,phone) Values(12,'Ron','Ronson','r@ron.com','413-520-4715');
Insert into Person(pid,firstName,lastName,email,phone) Values(13,'Ben','Benson','b@ben.com','617-532-5193');
Insert into Person(pid,firstName,lastName,email,phone) Values(14,'Elf','Elfson','e@elf.com','212-842-4802');
-- IndividualOwner Table:
Insert into IndividualOwner(oid,pid) Values(100,1);
Insert into IndividualOwner(oid,pid) Values(200,2);
-- CommercialOwner Table:
Insert into CommercialOwner(oid,contactId) Values(300,3);
Insert into CommercialOwner(oid,contactId) Values(400,4);
Insert into CommercialOwner(oid,contactId) Values(500,5);
-- Pilot Table:
Insert into Pilot(pid,hireDate) Values(1,'2009-12-03');
Insert into Pilot(pid,hireDate) Values(6,'2008-01-04');
Insert into Pilot(pid,hireDate) Values(7,'2010-12-15');
Insert into Pilot(pid,hireDate) Values(8,'2011-05-06');
Insert into Pilot(pid,hireDate) Values(9,'2007-06-07');
Insert into Pilot(pid,hireDate) Values(10,'2009-03-08');
Insert into Pilot(pid,hireDate) Values(11,'2004-07-09');
Insert into Pilot(pid,hireDate) Values(12,'2005-11-10');
Insert into Pilot(pid,hireDate) Values(13,'2013-11-11');
Insert into Pilot(pid,hireDate) Values(14,'2013-11-12');
-- Hangar Table:
Insert into Hangar(hid,name,capacity) Values(1,'North',5);
Insert into Hangar(hid,name,capacity) Values(2,'West',8);
Insert into Hangar(hid,name,capacity) Values(3,'East',7);
-- License Table:
Insert into License(pid,mid,licenseDate) Values(1,5,'2009-07-01');
Insert into License(pid,mid,licenseDate) Values(6,3,'2007-04-24');
Insert into License(pid,mid,licenseDate) Values(7,1,'2009-12-25');
Insert into License(pid,mid,licenseDate) Values(8,2,'2009-10-28');
Insert into License(pid,mid,licenseDate) Values(9,3,'2004-07-17');
Insert into License(pid,mid,licenseDate) Values(10,4,'2004-12-09');
Insert into License(pid,mid,licenseDate) Values(11,5,'2001-10-13');
Insert into License(pid,mid,licenseDate) Values(12,2,'2005-04-24');
Insert into License(pid,mid,licenseDate) Values(7,3,'2009-12-26');
Insert into License(pid,mid,licenseDate) Values(8,1,'2009-10-28');
Insert into License(pid,mid,licenseDate) Values(10,3,'2004-12-11');
Insert into License(pid,mid,licenseDate) Values(11,2,'2001-10-08');
Insert into License(pid,mid,licenseDate) Values(13,6,'2013-11-12');
Insert into License(pid,mid,licenseDate) Values(14,6,'2013-11-12');
-- Airplane Table:
Insert into Airplane(aid,mid,oid,hid,dateAcquired) Values(1,1,100,1,'2003-08-18');
Insert into Airplane(aid,mid,oid,hid,dateAcquired) Values(2,2,200,1,'2005-03-23');
Insert into Airplane(aid,mid,oid,hid,dateAcquired) Values(3,3,300,2,'2009-01-14');
Insert into Airplane(aid,mid,oid,hid,dateAcquired) Values(4,4,400,1,'2009-11-19');
Insert into Airplane(aid,mid,oid,hid,dateAcquired) Values(5,5,500,1,'2005-11-04');
Insert into Airplane(aid,mid,oid,hid,dateAcquired) Values(6,2,500,2,'2005-02-27');
Insert into Airplane(aid,mid,oid,hid,dateAcquired) Values(7,2,500,2,'1999-02-27');
Insert into Airplane(aid,mid,oid,hid,dateAcquired) Values(8,3,400,2,'1999-07-15');
Insert into Airplane(aid,mid,oid,hid,dateAcquired) Values(9,4,400,3,'2006-08-31');
Insert into Airplane(aid,mid,oid,hid,dateAcquired) Values(10,4,200,3,'2005-12-24');
-- Table Flight:
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(1,2,8,'2013-11-01 07:30:00','2013-11-01 07:30:00',1,'Rochester');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(2,1,7,'2013-11-01 08:30:00','2013-11-01 08:40:00',2,'Boston');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(3,3,6,'2013-11-02 07:34:00','2013-11-02 07:36:30',3,'Rochester');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(4,7,11,'2013-11-02 07:44:00','2013-11-02 07:44:00',2,'Buffalo');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(5,5,1,'2013-11-02 08:15:00','2013-11-02 08:40:00',4,'Boston');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(6,6,12,'2013-11-03 06:45:00','2013-11-03 06:40:00',1,'Buffalo');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(7,1,8,'2013-11-03 09:45:00','2013-11-03 09:46:40',1,'New York');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(8,10,10,'2013-11-04 05:30:00','2013-11-04 05:55:00',3,'Albany');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(9,6,8,'2013-11-04 07:08:00','2013-11-04 07:58:00',2,'Boston');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(10,2,11,'2013-11-04 08:05:00','2013-11-04 08:05:00',2,'New York');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(11,3,7,'2013-11-05 08:55:00','2013-11-05 08:55:00',4,'Buffalo');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(12,9,10,'2013-11-05 10:45:00','2013-11-05 12:25:00',4,'Buffalo');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(13,5,1,'2013-11-06 13:40:00','2013-11-06 00:00:00',5,'Rochester');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(14,1,8,'2013-11-07 10:00:00',NULL,2,'Rochester');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(15,10,10,'2013-11-08 08:05:00','2013-11-08 08:05:00',3,'Providence');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(16,8,7,'2013-11-08 09:13:00','2013-11-08 09:03:00',3,'Providence');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(17,7,12,'2013-11-09 07:33:00','2013-11-09 07:29:00',1,'Providence');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(18,3,6,'2013-11-09 07:40:00','2013-11-09 08:15:00',2,'Rochester');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(19,4,10,'2013-11-10 08:01:00','2013-11-10 08:00:00',2,'New York');
Insert into Flight(fid,aid,pid,plannedDeparture,actualDeparture,passengerCount,destination) Values(20,5,11,'2013-11-10 08:45:00','2013-11-10 08:35:00',5,'Buffalo');