You are on page 1of 5

Database Questions Query (Storage) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.

. List all the employees and their managers that work in the office located in PA and VA. List the addresses of the offices that are located in VA. Count the number of employees that work in all the offices in PA. List the number of available units in each office located in PA and VA. List the number of sold units in each office located in VA. List all the reservations that were made and their total cost for the past week. List all the units that have been booked for the past 6 months. Calculate the money spent on salaries for each office. Calculate the revenue for each office and order them based on the revenue with the highest to lowest. Create a query that produces an invoice to the customer named Anna Foller. Create a report that lists all the customer and what storage units they have rented at the Alexandria office. List all the reservations made by Sophia Jacob List all the payment accounts that Sara Butt has. List all the customers that live in Virginia. List all the reservations that were not successful.

CUSTOMER CREATE TABLE IF NOT EXISTS `dbuser8db`.`CUSTOMER` ( `USERID` INT NOT NULL, `FNAME` VARCHAR(45) NULL, `LNAME` VARCHAR(45) NULL, `BIRTH_DATE` DATETIME NULL, `ADDRESS1` VARCHAR(45) NULL, `ADDRESS2` VARCHAR(45) NULL, `CITY` VARCHAR(45) NULL, `STATE` CHAR(2) NULL, `ZIPCODE` VARCHAR(5) NULL, `COUNTRY` VARCHAR(45) NULL, `PHONE` INT NULL, PRIMARY KEY (`USERID`)) ENGINE = InnoDB; PAYMENT_ACCOUNT CREATE TABLE IF NOT EXISTS `dbuser8db`.`PAYMENT_ACCOUNT` ( `PAYMENT_ID` INT NOT NULL, `CARD_TYPE` VARCHAR(45) NULL, `CARD_NUMBER` VARCHAR(16) NULL, `EXPIRY_DATE` DATETIME NULL, `SECURITY_CODE` VARCHAR(5) NULL, `USERID` INT NOT NULL, PRIMARY KEY (`PAYMENT_ID`, `USERID`), INDEX `fk_PAYMENT_ACCOUNT_CUSTOMER1_idx` (`USERID` ASC), CONSTRAINT `fk_PAYMENT_ACCOUNT_CUSTOMER1` FOREIGN KEY (`USERID`) REFERENCES `dbuser8db`.`CUSTOMER` (`USERID`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; RESERVATION CREATE TABLE IF NOT EXISTS `dbuser8db`.`RESERVATION` ( `RESERVATION_ID` INT NOT NULL, `TOTAL_PRICE` DECIMAL(5,2) NULL, `PAYMENT_ID` INT NOT NULL, `USERID` INT NOT NULL, `RESERVATION_DATE` DATETIME NULL, `SUCCESS_YN` CHAR(1) NULL, PRIMARY KEY (`RESERVATION_ID`, `PAYMENT_ID`, `USERID`), INDEX `fk_BOOKING_PAYMENT_ACCOUNT1_idx` (`PAYMENT_ID` ASC, `USERID` ASC), CONSTRAINT `fk_BOOKING_PAYMENT_ACCOUNT1` FOREIGN KEY (`PAYMENT_ID` , `USERID`)

REFERENCES `dbuser8db`.`PAYMENT_ACCOUNT` (`PAYMENT_ID` , `USERID`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; EMPLOYEE CREATE TABLE `dbuser8db`.`EMPLOYEE` ( `EMPLOYEE_ID` INT NOT NULL, `FIRST_NAME` VARCHAR(45) NULL, `LAST_NAME` VARCHAR(45) NULL, `TITLE` VARCHAR(45) NULL, `GENDER` CHAR(1) NULL, `HIRE_DATE` DATETIME NULL, `SALARY` INT NULL, `OFFICE_OFFICE_ID` INT NOT NULL, PRIMARY KEY (`EMPLOYEE_ID`, `OFFICE_OFFICE_ID`)) ENGINE = InnoDB; CREATE TABLE IF NOT EXISTS `dbuser8db`.`OFFICE` ( `OFFICE_ID` INT NOT NULL, `ADDRESS1` VARCHAR(45) NULL, `ADDRESS2` VARCHAR(45) NULL, `CITY` VARCHAR(45) NULL, `STATE` VARCHAR(2) NULL, `ZIPCODE` VARCHAR(5) NULL, `PHONE` INT NULL, `MANAGER_ID` INT NOT NULL, PRIMARY KEY (`OFFICE_ID`, `MANAGER_ID`) ) ENGINE = InnoDB; OFFICE CREATE TABLE IF NOT EXISTS `dbuser8db`.`OFFICE` ( `OFFICE_ID` INT NOT NULL, `ADDRESS1` VARCHAR(45) NULL, `ADDRESS2` VARCHAR(45) NULL, `CITY` VARCHAR(45) NULL, `STATE` VARCHAR(2) NULL, `ZIPCODE` VARCHAR(5) NULL, `PHONE` INT NULL, `MANAGER_ID` INT NOT NULL, PRIMARY KEY (`OFFICE_ID`, `MANAGER_ID`), INDEX `fk_OFFICE_EMPLOYEE1_idx` (`MANAGER_ID` ASC), CONSTRAINT `fk_OFFICE_EMPLOYEE1` FOREIGN KEY (`MANAGER_ID`) REFERENCES `dbuser8db`.`EMPLOYEE` (`EMPLOYEE_ID`) ON DELETE NO ACTION

ON UPDATE NO ACTION) ENGINE = InnoDB;

STORAGE_UNIT CREATE TABLE IF NOT EXISTS `dbuser8db`.`STORAGE_UNIT` ( `UNIT_ID` INT NOT NULL, `UNIT_TYPE` CHAR(2) NULL, `ROOM#` INT NULL, `LEVEL` VARCHAR(15) NULL, `AVALABILITY` CHAR(1) NULL, `PRICE` DECIMAL(5,2) NULL, `OFFICE_OFFICE_ID` INT NOT NULL, PRIMARY KEY (`UNIT_ID`, `OFFICE_OFFICE_ID`), INDEX `fk_STORAGE_UNIT_OFFICE1_idx` (`OFFICE_OFFICE_ID` ASC), CONSTRAINT `fk_STORAGE_UNIT_OFFICE1` FOREIGN KEY (`OFFICE_OFFICE_ID`) REFERENCES `dbuser8db`.`OFFICE` (`OFFICE_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; RESERVATION_UNIT CREATE TABLE IF NOT EXISTS `dbuser8db`.`RESERVATION_UNIT` ( `RESERVATION_ID` INT NOT NULL, `START_DATE` DATETIME NULL, `END_DATE` DATETIME NULL, `UNIT_ID` INT NOT NULL, `OFFICE_ID` INT NOT NULL, PRIMARY KEY (`RESERVATION_ID`, `UNIT_ID`, `OFFICE_ID`), INDEX `fk_BOOKING_UNIT_STORAGE_UNIT1_idx` (`UNIT_ID` ASC, `OFFICE_ID` ASC), CONSTRAINT `fk_BOOKING_UNIT_BOOKING1` FOREIGN KEY (`RESERVATION_ID`) REFERENCES `dbuser8db`.`RESERVATION` (`RESERVATION_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_BOOKING_UNIT_STORAGE_UNIT1` FOREIGN KEY (`UNIT_ID` , `OFFICE_ID`) REFERENCES `dbuser8db`.`STORAGE_UNIT` (`UNIT_ID` , `OFFICE_OFFICE_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;

FOREIGN KEY EMPLOYEE ALTER TABLE EMPLOYEE ADD CONSTRAINT `fk_EMPLOYEE_OFFICE` FOREIGN KEY (`OFFICE_OFFICE_ID`) REFERENCES `dbuser8db`.`OFFICE` (`OFFICE_ID`);

You might also like