This hotel is a resort hotel on the West Arm of Lake Minnetonka. It is a relatively small hotel, with three floors of rooms. The top floor includes two large suites, and each of the other floors has eight standard-sized hotel rooms. The ground floor includes the customer service counter, a lounge area, a small exercise room, and a restaurant.
The hotel staff currently uses Excel spreadsheets to keep track of the rooms, guests, and reservations, and they have hired you to convert the existing data into a more flexible relational database.
You will build a database that satisfies at least second normal form (2NF) using the data provided here. While you are given the data itself, you are expected to identify the tables, fields, and relationships that will house this data.
This exercise uses realistic data, but not necessarily real data. Some options (like extra beds or room service) that a real hotel is likely to include have been excluded to simplify the exercise.
Rooms
Room details are listed below:
Rooms 201-204 and 301-304
Rooms 205-208 and 305-308
Rooms 401 and 402
Base Room Prices
The base prices for the rooms are the following:
Additional Data
Room Data
The room data is as follows:
Room | Type | Amenities | ADA Accessible | Standard Occupancy | Maximum Occupancy | Base Price | Extra Person |
201 | Double | Microwave, Jacuzzi | No | 2 | 4 | $199.99 | $10 |
202 | Double | Refrigerator | Yes | 2 | 4 | $174.99 | $10 |
203 | Double | Microwave, Jacuzzi | No | 2 | 4 | $174.99 | $10 |
204 | Double | Refrigerator | Yes | 2 | 4 | $174.99 | $10 |
205 | Single | Microwave, Refrigerator, Jacuzzi | No | 2 | 2 | $174.99 | NA |
206 | single | Microwave, Refrigerator | Yes | 2 | 2 | $149.99 | NA |
207 | Single | Microwave, Refrigerator, Jacuzzi | No | 2 | 2 | $174.99 | NA |
208 | Single | Microwave, Refrigerator | Yes | 2 | 2 | $149.99 | NA |
301 | Double | Microwave, Jacuzzi | No | 2 | 4 | $199.99 | $10 |
302 | Double | Refrigerator | Yes | 2 | 4 | $174.99 | $10 |
303 | Double | Microwave, Jacuzzi | No | 2 | 4 | $199.99 | $10 |
304 | Double | Refrigerator | Yes | 2 | 4 | $174.99 | $10 |
305 | Single | Microwave, Refrigerator, Jacuzzi | No | 2 | 2 | $174.99 | NA |
306 | Single | Microwave, Refrigerator | Yes | 2 | 2 | $149.99 | NA |
307 | Single | Microwave, Refrigerator, Jacuzzi | No | 2 | 2 | $174.99 | NA |
308 | Single | Microwave, Refrigerator | Yes | 2 | 2 | $149.99 | NA |
401 | Suite | Microwave, Refrigerator, Oven | Yes | 3 | 8 | $399.99 | $20 |
402 | Suite | Microwave, Refrigerator, Oven | Yes | 3 | 8 | $399.99 | $20 |
Guests
Guest information is collected only when a guest makes a reservation, so all guests have at least one reservation in the system. Guests who have made reservations include the following:
Name | Address | City | State | Zip | Phone |
Your Name | Your Address | City | State | Zip | Phone |
Mack Simmer | 379 Old Shore Street | Council Bluffs | IA | 51501 | (291) 553-0508 |
Bettyann Seery | 750 Wintergreen Dr. | Wasilla | AK | 99654 | (478) 277-9632 |
Duane Collison | 9662 Foxrun Lane | Harlingen | TX | 78522 | (308) 494-0198 |
Karie Yang | 9378 W. Augusta Ave. | West Deptford | NK | 08096 | (214) 730-0298 |
Aurore Lipton | 762 Wild Rose Street | Saginaw | MI | 48601 | (377) 507-0974 |
Zachery Luechtefeld | 7 Poplar Dr. | Arvada | CO | 80003 | (814) 485-2615 |
Jeremiah Pendergrass | 70 Oakwood St. | Zion | IL | 60099 | (279) 491-0960 |
Walter Holaway | 7556 Arrhowhead St. | Cumberland | RI | 02864 | (446) 396-6785 |
Wilfred Vise | 77 West Surry Street | Oswego | NY | 13126 | (834) 727-1001 |
Maritza Tilton | 929 Linda Rd. | Burke | VA | 22015 | (446) 351-6860 |
Joleen Tison | 87 Queen St. | Drexel Hill | PA | 19026 | (231) 893-2755 |
Reservations
The following reservations appear in the current reservation system:
Room Number | Name | Adults | Children | Start Date | End Date | Total Room Cost |
308 | Mack Simmer | 1 | 0 | 2/2/2023 | 2/4/2023 | $299.98 |
203 | Bettyann Seery | 2 | 1 | 2/5/2023 | 2/10/2023 | $999.95 |
305 | Duane Cullison | 2 | 0 | 2/22/2023 | 2/24/2023 | $349.98 |
201 | Karie Yang | 2 | 2 | 3/6/2023 | 3/7/2023 | $199.99 |
307 | Your Name | 1 | 1 | 3/17/2023 | 3/20/2023 | $524.97 |
302 | Aurore Lipton | 3 | 0 | 3/18/2023 | 3/23/2023 | $924.95 |
202 | Zachery Leuchtefeld | 2 | 2 | 3/29/2023 | 3/31/2023 | $349.98 |
304 | Jeremiah Pendergrass | 2 | 0 | 3/31/2023 | 4/5/2023 | $874.95 |
301 | Walter Holaway | 1 | 0 | 4/9/20223 | 4/13/2023 | $799.96 |
207 | Wilfred Vise | 1 | 1 | 4/23/2023 | 4/24/2023 | $174.99 |
401 | Maritza Tilton | 2 | 4 | 5/30/2023 | 6/2/2023 | $1,199.97 |
206 | Joleen Tison | 2 | 0 | 6/10/2023 | 6/14/2023 | $599.96 |
208 | Joleen Tison | 1 | 0 | 6/10/2023 | 6/14/2023 | $599.96 |
304 | Aurore Lipton | 3 | 0 | 6/17/2023 | 6/18/2023 | $184.99 |
205 | Your Name | 2 | 0 | 6/28/2023 | 7/2/2023 | $699.96 |
204 | Walter Holaway | 3 | 1 | 7/13/2023 | 7/14/2023 | $184.99 |
401 | Wilfred Vise | 4 | 2 | 7/18/2023 | 7/21/2023 | $1,259.97 |
303 | Bettyann Seery | 2 | 1 | 7/28/2023 | 7/29/2023 | $199.99 |
305 | Bettyann Seery | 1 | 0 | 8/30/2023 | 9/1/2023 | $349.98 |
208 | Mack Simmer | 2 | 0 | 9/16/2023 | 9/17/2023 | $149.99 |
203 | Karie Yang | 2 | 2 | 11/22/2023 | 9/15/2023 | $399.98 |
401 | Duane Cullison | 2 | 2 | 11/22/2023 | 11/25/2023 | $1,199.97 |
206 | Mack Simmer | 2 | 0 | 11/22/2023 | 11/25/2023 | $449.97 |
301 | Mack Simmer | 2 | 2 | 11/22/2023 | 11/25/2023 | $599.97 |
302 | Maritza Tilton | 2 | 0 | 12/24/2023 | 12/28/2023 | $699.96 |
Comments:
Using the data presented above, create an ERD that represents the database.
Specifications for the ERD:
Using your ERD as an example, create a SQL script that performs the following steps:
The script should run from beginning to end without errors.
Next, using the data provided in the tables above, create the required SQL statements to populate the tables with the data above.
Second, after adding all of the data above, create SQL statements that will delete Jeremiah Pendergrass and his reservations from the database.
The script should run from beginning to end without errors.
Create a third SQL script that includes queries to retrieve the following data from the database.
For each query, include: