drop database if exists themeParkDB;
create database themeParkDB;
connect themeParkDB;

drop table if exists Customers;
create table Customers(customerID integer primary key auto_increment, peopleID int, under48Inches int);
insert into Customers(customerID,peopleID,under48Inches) values(100,1,0);
insert into Customers(customerID,peopleID,under48Inches) values(101,2,1);
insert into Customers(customerID,peopleID,under48Inches) values(102,3,1);
select * from Customers;

drop table if exists People;
create table People(peopleID integer primary key auto_increment, sin int(9), firstName varchar(32), lastName varchar(32), dateOfBirth char(11), phone varchar(15), addressID int);
insert into People(peopleID,sin,firstName,lastName,dateOfBirth,phone,addressID) values(1,374923138,'Joe','Smith','2000-04-06','234-4321-6557',1);
insert into People(peopleID,sin,firstName,lastName,dateOfBirth,phone,addressID) values(2,859264847,'Jane','Brown','1970-07-23','680-788-3234',2);
insert into People(peopleID,sin,firstName,lastName,dateOfBirth,phone,addressID) values(3,123719475,'Jill','Davids','1995-10-06','854-242-2333',3);
insert into People(peopleID,sin,firstName,lastName,dateOfBirth,phone,addressID) values(4,834720437,'Warren','Brown','1947-07-03','454-422-2344',1);
insert into People(peopleID,sin,firstName,lastName,dateOfBirth,phone,addressID) values(5,576723464,'George','Jack','1973-09-12','345-756-2343',2);
insert into People(peopleID,sin,firstName,lastName,dateOfBirth,phone,addressID) values(6,924658847,'Wayne','Matts','1956-01-04','123-567-6787',3);
select * from People;

drop table if exists Addresses;
create table Addresses(addressID integer primary key auto_increment, street varchar(50), city varchar(30), postalCode varchar(7), province varchar(50), country varchar(30));
insert into Addresses(addressID,street,city,postalCode,province,country) values(1,'100 Fake St.','Abbotsford','2v8 k93','British Columbia','Canada');
insert into Addresses(addressID,street,city,postalCode,province,country) values(2,'678 Test Rd.','Los Angels','9q2 o5d','California','United States');
insert into Addresses(addressID,street,city,postalCode,province,country) values(3,'111000 Test Pl.','London','9f3 7h3','Great Britain','United Kingdom');
select * from Addresses;

drop table if exists PeopleAnimalAllergies;
create table PeopleAnimalAllergies(peopleAnimalAllergiesID integer primary key auto_increment, animalID int, peopleID int);
insert into PeopleAnimalAllergies(peopleAnimalAllergiesID,animalID,peopleID) values(1,1,1);
insert into PeopleAnimalAllergies(peopleAnimalAllergiesID,animalID,peopleID) values(2,2,1);
insert into PeopleAnimalAllergies(peopleAnimalAllergiesID,animalID,peopleID) values(3,3,3);
select * from PeopleAnimalAllergies;

drop table if exists Animals;
create table Animals(animalID integer primary key auto_increment, animalName varchar(30));
insert into Animals(animalID,animalName) values(1,'Tiger');
insert into Animals(animalID,animalName) values(2,'Elephant');
insert into Animals(animalID,animalName) values(3,'Bear');
select * from Animals;

drop table if exists AnimalAtRides;
create table AnimalAtRides(animalAtRidesID integer primary key auto_increment, animalRideID int, animalID int);
insert into AnimalAtRides(animalAtRidesID,animalRideID,animalID) values(1,1,1);
insert into AnimalAtRides(animalAtRidesID,animalRideID,animalID) values(2,2,2);
insert into AnimalAtRides(animalAtRidesID,animalRideID,animalID) values(3,3,3);
insert into AnimalAtRides(animalAtRidesID,animalRideID,animalID) values(4,3,2);
select * from AnimalAtRides;

drop table if exists AnimalRides;
create table AnimalRides(animalRideID integer primary key auto_increment, attractionID int);
insert into AnimalRides(animalRideID,attractionID) values(1,1);
insert into AnimalRides(animalRideID,attractionID) values(2,2);
insert into AnimalRides(animalRideID,attractionID) values(3,3);
select * from AnimalRides;

drop table if exists Attractions;
create table Attractions(attractionID integer primary key auto_increment, attractionName varchar(50), inOperation int, capacity int, cost float, under48InchesAllowed int, minimumAge int, averageLineUp int);
insert into Attractions(attractionID,attractionName,inOperation,capacity,cost,under48InchesAllowed,minimumAge,averageLineUp) values(1,'Elevator of Death',0,30,10.00,0,19,0);
insert into Attractions(attractionID,attractionName,inOperation,capacity,cost,under48InchesAllowed,minimumAge,averageLineUp) values(2,'Thunder Coaster',1,20,20.50,0,10,10);
insert into Attractions(attractionID,attractionName,inOperation,capacity,cost,under48InchesAllowed,minimumAge,averageLineUp) values(3,'Petting Zoo',1,5,5.75,1,0,5);
select * from Attractions;

drop table if exists RollerCoasters;
create table RollerCoasters(rollerCoasterID integer primary key auto_increment, attractionID int, scariness int);
insert into RollerCoasters(rollerCoasterID,attractionID,scariness) values(1,1,10);
insert into RollerCoasters(rollerCoasterID,attractionID,scariness) values(2,2,7);
select * from RollerCoasters;

drop table if exists Tickets;
create table Tickets(ticketID integer primary key auto_increment, ticketDate char(11), attractionID int, customerID int, staffPeopleID int);
insert into Tickets(ticketID,ticketDate,attractionID,customerID,staffPeopleID) values(1,'1964-07-12',1,1,1);
insert into Tickets(ticketID,ticketDate,attractionID,customerID,staffPeopleID) values(2,'1983-10-24',2,2,2);
insert into Tickets(ticketID,ticketDate,attractionID,customerID,staffPeopleID) values(3,'1995-12-06',3,3,3);
select * from Tickets;

drop table if exists StaffPeople;
create table StaffPeople(staffPeopleID integer primary key auto_increment, staffDepartmentID int, peopleID int, userName varchar(32), password varchar(32), userType varchar(10));
insert into StaffPeople(staffPeopleID,staffDepartmentID,peopleID,userName,password,userType) values(1,1,4,'tim','timmy','staff');
insert into StaffPeople(staffPeopleID,staffDepartmentID,peopleID,userName,password,userType) values(2,2,5,'userName','password','staff');
insert into StaffPeople(staffPeopleID,staffDepartmentID,peopleID,userName,password,userType) values(3,3,6,'admin','god','admin');
select * from StaffPeople;

drop table if exists StaffDepartments;
create table StaffDepartments(staffDepartmentID integer primary key auto_increment, departmentName varchar(30), buildingID int);
insert into StaffDepartments(staffDepartmentID,departmentName,buildingID) values(1,'Marketing',1);
insert into StaffDepartments(staffDepartmentID,departmentName,buildingID) values(2,'IT',2);
insert into StaffDepartments(staffDepartmentID,departmentName,buildingID) values(3,'Managment',1);
select * from StaffDepartments;

drop table if exists Buildings;
create table Buildings(buildingID integer primary key auto_increment, buildingName varchar(30));
insert into Buildings(buildingID,buildingName) values(1,'B102');
insert into Buildings(buildingID,buildingName) values(2,'C105');
select * from Buildings;