SlideShare a Scribd company logo
1 of 18
Adventure
Place
By Joe Miller, Alex Dickinson, Alex Pileggi, James Hiltwine, and Kieran Crean
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
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
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. 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
● Visitor (VisitorID, LastName, FirstName, ZipCode, Email, Date_Last_Visited)
● TicketBooth (OrderID, VisitorID, AttractionID, PurchaseDate, Quantity, Total)
● MaintenaceSchedule(MaintenanceID, MaintenanceStaffID, AttractionID, Time_Start, Time_End,
Description)
● MaintenanceStaff (MaintenanceStaffID, FirstName, LastName, YearOfHire)
● Attraction (AttractionID,, Price, Name, Description)
● AttractionSchedule (ShiftID, StaffID, AttractionID, Time_Start, Time_End)
● AttractionStaff (StaffID, LastName, FirstName, YearOfHire)
Database Schema
ER-Diagram
● 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
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
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
● 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');
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)
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
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
Privileges
GRANT SELECT
ON DATABASE
TO Manager_1, Manager_2;
● Manager Privileges
● Track activity
● 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
● 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
Any Questions?
Thank You

More Related Content

What's hot

Ludo game using c++ with documentation
Ludo game using c++ with documentation Ludo game using c++ with documentation
Ludo game using c++ with documentation Mauryasuraj98
 
Difference between stack and queue
Difference between stack and queueDifference between stack and queue
Difference between stack and queuePulkitmodi1998
 
Restaurant Management System Database Project (Oracle)
Restaurant Management System Database Project (Oracle)Restaurant Management System Database Project (Oracle)
Restaurant Management System Database Project (Oracle)Md. Shafaat Jamil Rokon
 
Infix to-postfix examples
Infix to-postfix examplesInfix to-postfix examples
Infix to-postfix examplesmua99
 
Data Structures Practical File
Data Structures Practical File Data Structures Practical File
Data Structures Practical File Harjinder Singh
 
Smart Gym System documentation
Smart Gym System documentationSmart Gym System documentation
Smart Gym System documentationTuvshinbayar Davaa
 
Computer graphics lab manual
Computer graphics lab manualComputer graphics lab manual
Computer graphics lab manualUma mohan
 
1.1 binary tree
1.1 binary tree1.1 binary tree
1.1 binary treeKrish_ver2
 
Hotel management system presentation
Hotel management system presentationHotel management system presentation
Hotel management system presentationjoilrahat
 
Arrays in c language
Arrays in c languageArrays in c language
Arrays in c languagetanmaymodi4
 
Synopsis on billing system
Synopsis on billing systemSynopsis on billing system
Synopsis on billing systemAlok Sharma
 
Arrays in Data Structure and Algorithm
Arrays in Data Structure and Algorithm Arrays in Data Structure and Algorithm
Arrays in Data Structure and Algorithm KristinaBorooah
 
Linear search algorithm
Linear search algorithmLinear search algorithm
Linear search algorithmNeoClassical
 

What's hot (20)

Ludo game using c++ with documentation
Ludo game using c++ with documentation Ludo game using c++ with documentation
Ludo game using c++ with documentation
 
Arrays
ArraysArrays
Arrays
 
BINARY SEARCH TREE
BINARY SEARCH TREE BINARY SEARCH TREE
BINARY SEARCH TREE
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Queue ppt
Queue pptQueue ppt
Queue ppt
 
Difference between stack and queue
Difference between stack and queueDifference between stack and queue
Difference between stack and queue
 
Restaurant Management System Database Project (Oracle)
Restaurant Management System Database Project (Oracle)Restaurant Management System Database Project (Oracle)
Restaurant Management System Database Project (Oracle)
 
Infix to-postfix examples
Infix to-postfix examplesInfix to-postfix examples
Infix to-postfix examples
 
Data Structures Practical File
Data Structures Practical File Data Structures Practical File
Data Structures Practical File
 
Smart Gym System documentation
Smart Gym System documentationSmart Gym System documentation
Smart Gym System documentation
 
Computer graphics lab manual
Computer graphics lab manualComputer graphics lab manual
Computer graphics lab manual
 
1.1 binary tree
1.1 binary tree1.1 binary tree
1.1 binary tree
 
Tourism project
Tourism projectTourism project
Tourism project
 
Heap and heapsort
Heap and heapsortHeap and heapsort
Heap and heapsort
 
Hotel management system presentation
Hotel management system presentationHotel management system presentation
Hotel management system presentation
 
Arrays in c language
Arrays in c languageArrays in c language
Arrays in c language
 
Synopsis on billing system
Synopsis on billing systemSynopsis on billing system
Synopsis on billing system
 
Arrays in Data Structure and Algorithm
Arrays in Data Structure and Algorithm Arrays in Data Structure and Algorithm
Arrays in Data Structure and Algorithm
 
Linear search algorithm
Linear search algorithmLinear search algorithm
Linear search algorithm
 
Heap_Sort1.pptx
Heap_Sort1.pptxHeap_Sort1.pptx
Heap_Sort1.pptx
 

Viewers also liked

Theme Park 3.0
Theme Park 3.0Theme Park 3.0
Theme Park 3.0mathurr
 
Amusement park industry in india
Amusement park industry in india Amusement park industry in india
Amusement park industry in india Gopal Sarkar
 
Hilton hotel reservation_system2
Hilton hotel reservation_system2Hilton hotel reservation_system2
Hilton hotel reservation_system2Dhanurjaya Naik
 
Amusement Parks and Success Factors
Amusement Parks and Success Factors Amusement Parks and Success Factors
Amusement Parks and Success Factors Hossein Bakhshaei
 
BIS4995 : Web-based Package Tour Reservation System
BIS4995 : Web-based Package Tour Reservation System BIS4995 : Web-based Package Tour Reservation System
BIS4995 : Web-based Package Tour Reservation System Woraphan Atikomtrirat
 
Online clinic reservation
Online clinic reservationOnline clinic reservation
Online clinic reservationMay Ann Mas
 
Online Hotel Room Booking System
Online Hotel Room Booking SystemOnline Hotel Room Booking System
Online Hotel Room Booking SystemAbhishek Kumar
 
Entity relationship diagram (erd)
Entity relationship diagram (erd)Entity relationship diagram (erd)
Entity relationship diagram (erd)tameemyousaf
 

Viewers also liked (13)

Amusement
AmusementAmusement
Amusement
 
Theme Park 3.0
Theme Park 3.0Theme Park 3.0
Theme Park 3.0
 
Theme park
Theme parkTheme park
Theme park
 
Amusement park industry in india
Amusement park industry in india Amusement park industry in india
Amusement park industry in india
 
Hilton hotel reservation_system2
Hilton hotel reservation_system2Hilton hotel reservation_system2
Hilton hotel reservation_system2
 
Design Layout
Design   LayoutDesign   Layout
Design Layout
 
Amusement Parks and Success Factors
Amusement Parks and Success Factors Amusement Parks and Success Factors
Amusement Parks and Success Factors
 
Theme Park
Theme ParkTheme Park
Theme Park
 
BIS4995 : Web-based Package Tour Reservation System
BIS4995 : Web-based Package Tour Reservation System BIS4995 : Web-based Package Tour Reservation System
BIS4995 : Web-based Package Tour Reservation System
 
Online clinic reservation
Online clinic reservationOnline clinic reservation
Online clinic reservation
 
Online Hotel Room Booking System
Online Hotel Room Booking SystemOnline Hotel Room Booking System
Online Hotel Room Booking System
 
Erd examples
Erd examplesErd examples
Erd examples
 
Entity relationship diagram (erd)
Entity relationship diagram (erd)Entity relationship diagram (erd)
Entity relationship diagram (erd)
 

Amusement Park

  • 1. Adventure Place By Joe Miller, Alex Dickinson, Alex Pileggi, James Hiltwine, and Kieran Crean
  • 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
  • 6. ● Visitor (VisitorID, LastName, FirstName, ZipCode, Email, Date_Last_Visited) ● TicketBooth (OrderID, VisitorID, AttractionID, PurchaseDate, Quantity, Total) ● MaintenaceSchedule(MaintenanceID, MaintenanceStaffID, AttractionID, Time_Start, Time_End, Description) ● MaintenanceStaff (MaintenanceStaffID, FirstName, LastName, YearOfHire) ● Attraction (AttractionID,, Price, Name, Description) ● AttractionSchedule (ShiftID, StaffID, AttractionID, Time_Start, Time_End) ● AttractionStaff (StaffID, LastName, FirstName, YearOfHire) Database Schema
  • 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
  • 15. Privileges GRANT SELECT ON DATABASE TO Manager_1, Manager_2; ● Manager Privileges ● Track activity
  • 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

Editor's Notes

  1. 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.
  2. 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):
  3. 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.
  4. 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.
  5. 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.
  6. 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
  7. 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.
  8. 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