2. Introduction
Adventure Place is an Amusement Park that has started to crumble due to poor management and a lack of
improvements to the facility. As times are changing, the technology used at Adventure Place has become outdated
and it has resulted in injuries of visitors, lack of employee supervision, and a decline in overall profits.
Steps are now being taken to turn Adventure Place around and create an enjoyable and safe facility for all of the
visitors. The first step is:
1. A new General Manager has been hired
a. Analyze attraction popularity to determine future attraction pricing options
a. Improve safety of rides by producing a reliable maintenance schedule
a. Keeping a detailed record of Staff responsibilities
3. 1. The database was implemented January 1, 2015 when the new general manager was hired.
2. The general manager wants to use the database to analyze the business from January to May before the summer
months to better prepare them for the busiest seasons of the year.
3. The general manager has standardized pricing to gauge the true popularity of each attraction before pricing it
accordingly for the summer season.
4. Maintenance staff will never work on attractions and attraction staff will never work on maintenance tasks.
5. Daily Maintenance tasks will take place at 8:00am every day before opening.
6. The park is open from 9:00am-8:30pm.
7. Attraction Staff members must work at least 1 shift per day but may work up to 2 shifts a day, and the 2nd shift
must be on a different attraction than the first shift worked.
8. Attractions do not have to be full for the attraction to run.
Assumptions
4. 1. Each Visitor that comes to Adventure Place must purchase at least one ticket through the Ticket Booth.
1. Each Visitor will be asked to supply their Zip Code and Email address.
1. An ID number will be generated for each new visitor & OrderID will hold all of the information pertaining
to the one specific attraction transaction. An OrderID must have at least one AttractionID, but can have
more.
1. Each Attraction requires the Visitor to have at least one ticket to ride one time.
Business Rules
5. 5. At least one Maintenance Staff member must be on the Maintenance Schedule for each day, but each
Maintenance Staff member may only service one ride per day.
6. Maintenance Schedule contains: its own Maintenance ID, the Maintenance Staff member working on the
attraction, AttractionID, Start & EndTime of the maintenance and a description of the job.
7. Attraction Schedule contains: its own Shift ID, the Attraction Staff member working on the attraction, the
AttractionID and the Start / EndTime.
8. Every attraction must be serviced and inspected each day by at least one member of the Attraction Staff, but can
be serviced by more than one member of the Attraction Staff.
Business Rules Continued
8. ● Visitor - Ticket Booth (One to Many)
● Ticket Booth - Attraction (One to One)
● Attraction - Maintenance Schedule (One to Many)
● Attraction - Attraction Schedule (One to Many)
● Attraction Schedule - Attraction Staff(One to Many)
● Maintenance Schedule - Maintenance Staff (One to Many)
Relations
9. Customer Loyalty
SELECT Email, FirstName, LastName, Date_Last_Visited
FROM Visitor
WHERE Date_Last_Visited <'2015-01-31'
ORDER BY Date_Last_Visited;
● Promotional Email Program
● Customer Retention
10. Revenues
SELECT TB.AttractionID, Name, Sum(Total) AS AttractionRevenue
FROM TicketBooth TB
INNER JOIN Attraction A ON TB.AttractionID=A.AttractionID
WHERE PurchaseDate BETWEEN ‘2015-01-01’ AND ‘2015-03-31’
GROUP BY AttractionID
ORDER BY AttractionRevenue DESC;
● Standardized Pricing
● Attraction Revenue
11. ● Repeated Roller Coaster Maintenance
● Employee Negligence or General Depreciation?
Maintenance
SELECT A.AttractionID, MS.MaintenanceStaffID, MS.FirstName, MS.LastName,
M.Description, M.Time_Start, M.Time_End
FROM MaintenanceStaff MS
INNER JOIN MaintenanceSchedule M ON
MS.MaintenanceStaffID=M.MaintenanceStaffID
INNER JOIN Attraction A ON M.AttractionID=A.AttractionID
WHERE A.AttractionID='RC01';
SELECT FirstName, LastName, YearOfHire
FROM MaintenanceStaff
WHERE EXISTS(SELECT MaintenanceStaffID,AttractionID FROM
MaintenanceSchedule WHERE
MaintenanceSchedule.MaintenanceStaffID=MaintenanceStaff.Maintenan
ceStaffID AND AttractionID='RC01');
12. SELECT COUNT(DISTINCT(VisitorID))
AS UniqueVisitors, AVG(Quantity) AS
AverageQuantity
FROM TicketBooth;
Visitor Preference
SELECT TB.AttractionID,A.Name,COUNT(DISTINCT
VisitorID) AS UniqueVisitors, AVG(Quantity) AS
AverageTicketsPurchased
FROM TicketBooth TB INNER JOIN Attraction A ON
TB.AttractionID=A.AttractionID
WHERE PurchaseDate BETWEEN '2015-01-01' AND
'2015-03-31'
GROUP BY AttractionID
ORDER BY UniqueVisitors DESC;
● Which Attractions do visitors prefer?
● True Popularity Analytics(Q1)
13. Customer Rewards
SELECT DISTINCT TB.VisitorID, V.FirstName,
V.LastName, V.Zip, SUM(Quantity) AS Quantity,
SUM(Total) AS Total
FROM TicketBooth TB
INNER JOIN Visitor V ON
TB.VisitorID=V.VisitorID
GROUP BY TB.OrderID
ORDER BY Total DESC
LIMIT 10;
● Most Valuable Customers Program
14. CREATE VIEW Attraction_Schedule_4_27 AS
SELECT AT.AttractionID,Name, AT.StaffID, FirstName,
LastName, Time_Start, Time_End
FROM AttractionSchedule AT INNER JOIN AttractionStaff
ATS ON AT.StaffID=ATS.StaffID INNER JOIN Attraction
A WHERE AT.AttractionID=A.AttractionID
AND Time_Start LIKE '2015-04-27%'
ORDER BY AttractionID, Time_End;
Employee Schedule View
● Employee schedule for
Manager distribution
16. ● The database gives a vast amount of ways for the new manager to monitor the Adventure place:
o Maintenance of Attractions
o Revenues of attractions
o Visitor data and Customer Loyalty
o Managing the Staff
Conclusion
17. ● Manager should change prices of the attractions
● Stay up to date with the loyalty program and visitors that have not visited in a while
● Make changes to the maintenance schedule as needed
● Use the average query to see the change in tickets
Recommendations
In order to increase repeated business from customers, the General Manager has decided to implement an email program to send out special offers if a visitor has not been to Adventure Place in a certain period of time.
Based off of past sales, he has decided to send out discounts/special promotions to customers that have not visited the park since January 15, 2015.
The General Manager has decided to pull monthly revenue data based off his standardized pricing method ($1.00/Attraction/Ride). This is to determine the popularity of each attraction without having the price of the attraction being a factor.
Here is an example of an attraction revenue table that the General Manager has created for the first quarter (January, February and March):
One issue that the General Manager must take care of is the inconsistency of the Roller Coaster. The Roller Coaster is Adventure Place’s oldest attraction, and has been having repeated maintenance problems over the past. The General Manager is unsure if these problems are maintenance staff related or are simply due to the age of the attraction.
To aid in process of determining the price for the attractions in the future, the new General Manager wants to know how the attractions were preferred by visitors. He achieves this by learning how many different visitors have ridden each attraction on average, and how many tickets have been purchased for that attraction on average.
The new General Manager is considering implementing a customer rewards program for the customers who are spending the most money. The General Manager wants to see how much the 10 highest paying customers are spending to help determine whether a rewards program would be beneficial or too cost worthy to implement at this time.
The General Manager will be implementing privileges into the database to keep the data secure and only the people he wants to access it will be able to. He will be allowing two of the Managers to view data in the database, but they will not have permission to alter any data within the database.
Customer Loyalty
Revenues
Maintenance
Visitor Preference
Blank
Customer Rewards
Priveliges
This database will be a useful asset for the new manager for a vast amount of reasons. With this database the new manager can track the maintenance at all times for any given attraction, any given employee that has worked on it, and any given time that it has been worked on. The database can also be used to monitor ticket sales for each attraction to see if the sales are increasing up or decreasing based on a price change for the attraction. It can also monitor visitor data by being able to see which visitors are spending the most money when they come to the park, when their most recent visit was, and also their zip codes to track where the visitors are coming from.
Based on the revenue query the new manager should increase the price of the attractions that have given him the highest revenue since all the attractions started at $1
The manager should continue to use the loyalty program query to inform frequent customers of deals or coupons for being a loyal customer of the adventure place or inform customers to come back that have not been in a while
The manager can continue to use the maintenance query to make sure that the attractions are in good condition to start and end each day
The manager should use the average query to show if ticket quantities are increasing or decreasing if he/she changes the price of the tickets