HW2GardenGlory.accdb
EmployeeID LastName FirstName CellPhone ExperienceLevel Apprenticeship
1 Smith Sam 206-254-1234 Master Completed
2 Evanston John 206-254-2345 Senior In process
3 Murray Dale 206-254-3456 Junior Not started
4 Murphy Jerry 585-545-8765 Master Completed
5 Fontaine Joan 206-254-4567 Senior In process
ServiceID ServiceDescription CostPerHour
1 Mow Lawn 25
2 Plant Annuals 25
3 Weed Garden 30
4 Trim Hedge 45
5 Prune Small Tree 60
6 Trim Medium Tree 100
7 Trim Large Tree 125
PropertyID PropertyName PropertyType Street City State Zip OwnerID
1 Eastlake Building Office 123 Eastlake Seattle WA 98119 2
2 Elm St Apts Apartments 4 East Elm Lynwood WA 98223 1
3 Jefferson Hill Office 42 West 7th St Bellevue WA 98007 2
4 Lake View Apts Apartments 1265 32nd Avenue Redmond WA 98052 3
5 Kodak Heights Apts Apartments 65 32nd Avenue Redmond WA 98052 4
6 Jones House Private Residence 1456 48th St Bellevue WA 98007 1
7 Douglas House Private Residence 1567 51st St Bellevue WA 98007 3
8 Samuels House Private Residence 567 151st St Redmond WA 98052 5
OwnerID OwnerName OwnerEmail OwnerType
1 Mary Jones [email protected] Individual
2 DT Enterprises [email protected] Corporation
3 Sam Douglas [email protected] Individual
4 UNY Enterprises [email protected] Corporation
5 Doug Samuels [email protected] Individual
7 Mary Jones [email protected] Individual
PropertyServiceID PropertyID ServiceID ServiceDate EmployeeID HoursWorked
1 1 2 5/5/19 1 4.5
2 3 2 5/8/19 3 4.5
3 2 1 5/8/19 2 2.75
4 6 1 5/10/19 5 2.5
5 5 4 5/12/19 4 7.5
6 8 1 5/15/19 4 2.75
7 4 4 5/19/19 1 1.0
8 7 1 5/21/19 2 2.5
9 6 3 6/3/19 5 2.5
10 5 7 6/8/19 4 10.5
11 8 3 6/12/19 4 2.75
12 4 5 6/15/19 1 5.0
13 7 3 6/19/19 2 4.0
CREATE TABLE EMPLOYEE( EmployeeID Int NOT NULL, LastName Char(25) NOT NULL, FirstName Char(25) NOT NULL, CellPhone Char(12) NOT NULL, ExperienceLevel Char(15) NOT NULL, CONSTRAINT EMPLOYEE_PK PRIMARY KEY(EmployeeID) );
CREATE TABLE GG_SERVICE( ServiceID Int NOT NULL, ServiceDescription Char(100) NOT NULL, CostPerHour Numeric NULL, CONSTRAINT GG_SERVICE_PK PRIMARY KEY(ServiceID) );
CREATE TABLE OWNED_PROPERTY( PropertyID Int NOT NULL, PropertyName Char(50) NOT NULL, PropertyType Char(50) NOT NULL, Street Char(35) NOT NULL, City Char(35) NOT NULL, State Char(2) NOT NULL, Zip Char(10) NOT NULL, OwnerID Int NOT NULL, CONSTRAINT OWNED_PROPERTY_PK PRIMARY KEY(PropertyID), CONSTRAINT PROPERTY_OWNER_FK FOREIGN KEY (OwnerID) REFERENCES OWNER(OwnerID) );
CREATE TABLE OWNER( OwnerID Int NOT NULL, OwnerName Char(50) NOT NULL, OwerEmail VarChar(100) NULL, OwnerType Char(12) NULL, CONSTRAINT OWNER_PK PRIMARY KEY(OwnerID) );
CREATE TABLE PROPERTY_SERVICE( PropertyServiceID Int NOT NULL, PropertyID Int NOT NULL, ServiceID Int NOT NULL, EmployeeID Int NOT NULL, ServiceDate DateTime NOT NULL, HoursWorked Numeric NULL, CONSTRAINT PROP_SERVICE_PK PRIMARY KEY(PropertyServiceID), CONSTRAINT PROP_SERVICE_PROP_FK FOREIGN KEY (PropertyID) REFERENCES OWNED_PROPERTY(PropertyID), CONSTRAINT PROP_SERVICE_SERVICE_FK FOREIGN KEY (ServiceID) REFERENCES GG_SERVICE(ServiceID), CONSTRAINT PROP_SERVICE_EMP_FK FOREIGN KEY (EmployeeID) REFERENCES EMPLOYEE(EmployeeID) );
SELECT * FROM EMPLOYEE;
SELECT * FROM GG_SERVICE;
SELECT * FROM OWNER;
SELECT * FROM OWNED_PROPERTY;
SELECT * FROM PROPERTY_SERVICE;
SELECT EMPLOYEE.LastName, EMPLOYEE.FirstName, EMPLOYEE.CellPhone FROM EMPLOYEE WHERE (((EMPLOYEE.ExperienceLevel)='Master'));
SELECT LastName, FirstName, CellPhone FROM EMPLOYEE WHERE ExperienceLevel='Master' And FirstName Like 'J*';
SELECT LastName, FirstName, CellPhone FROM EMPLOYEE WHERE EmployeeID IN (SELECT EmployeeID FROM PROPERTY_SERVICE WHERE PropertyID IN (SELECT PropertyID FROM OWNED_PROPERTY WHERE City = 'Seattle'));
SELECT E.LastName, E.FirstName, E.CellPhone FROM (EMPLOYEE AS E INNER JOIN PROPERTY_SERVICE AS PS ON E.EmployeeID = PS.EmployeeID) INNER JOIN OWNED_PROPERTY AS OP ON PS.PropertyID = OP.PropertyID WHERE OP.City = 'Seattle';
SELECT LastName, FirstName, CellPhone FROM EMPLOYEE WHERE EmployeeID IN (SELECT EmployeeID FROM PROPERTY_SERVICE WHERE PropertyID IN (SELECT PropertyID FROM OWNED_PROPERTY WHERE OwnerID IN (SELECT OwnerID FROM OWNER WHERE OwnerType = 'Corporation')));
SELECT DISTINCT E.LastName, E.FirstName, E.CellPhone FROM ((EMPLOYEE AS E INNER JOIN PROPERTY_SERVICE AS PS ON E.EmployeeID = PS.EmployeeID) INNER JOIN OWNED_PROPERTY AS OP ON PS.PropertyID = OP.PropertyID) INNER JOIN OWNER AS O ON OP.OwnerID = O.OwnerID WHERE O.OwnerType = 'Corporation';
SELECT LastName, FirstName, CellPhone, SUM(HoursWorked) AS TotalHoursWorked FROM EMPLOYEE INNER JOIN PROPERTY_SERVICE ON EMPLOYEE.EmployeeID = PROPERTY_SERVICE.EmployeeID GROUP BY LastName, FirstName, CellPhone;
SELECT ExperienceLevel, SUM(HoursWorked) AS TotalHoursWorked FROM EMPLOYEE INNER JOIN PROPERTY_SERVICE ON EMPLOYEE.EmployeeID = PROPERTY_SERVICE.EmployeeID GROUP BY ExperienceLevel ORDER BY ExperienceLevel DESC;
SELECT OwnerType, SUM(HoursWorked) AS TotalHoursWorked FROM ((EMPLOYEE INNER JOIN PROPERTY_SERVICE ON EMPLOYEE.EmployeeID = PROPERTY_SERVICE.EmployeeID) INNER JOIN OWNED_PROPERTY ON PROPERTY_SERVICE.PropertyID = OWNED_PROPERTY.PropertyID) INNER JOIN OWNER ON OWNED_PROPERTY.OwnerID = OWNER.OwnerID WHERE ExperienceLevel <> 'Junior' GROUP BY OwnerType;
ALTER TABLE EMPLOYEE ADD Supervisor Int NULL;
ALTER TABLE EMPLOYEE ADD CONSTRAINT EMP_EMP_FK FOREIGN KEY (Supervisor) REFERENCES EMPLOYEE (EmployeeID);
ALTER TABLE EMPLOYEE ADD Apprenticeship Char(20) NULL;
ALTER TABLE EMPLOYEE ALTER COLUMN Apprenticeship Varchar(20) NOT NULL;
SELECT E.FirstName AS EmployeeFirstName, E.LastName AS EmployeeLastName, S.FirstName AS SupervisorFirstName, S.LastName AS SupervisorLastName FROM EMPLOYEE AS E INNER JOIN EMPLOYEE AS S ON E.Supervisor = S.EmployeeID;
ALTER TABLE TOOL_USE ADD EmployeeID Int NULL;
ALTER TABLE TOOL_USE ALTER COLUMN EmployeeID Int NOT NULL;
ALTER TABLE TOOL_USE DROP COLUMN UsedBy;
ALTER TABLE TOOL_USE ADD CONSTRAINT TU_TOOL_FK FOREIGN KEY (ToolID) REFERENCES TOOLS (ToolID);
ALTER TABLE TOOL_USE ADD CONSTRAINT TU_EMP_FK FOREIGN KEY (EmployeeID) REFERENCES EMPLOYEE (EmployeeID);
SELECT * FROM OWNER;
SELECT * FROM EMPLOYEE;
SELECT * FROM GG_SERVICE;
SELECT * FROM OWNED_PROPERTY;
SELECT * FROM PROPERTY_SERVICE;