ISY103 - Database Management for Business Teaching Period Semester 2, 2016 – Weighting 20% Individual Project: Database Case Study
Due 6th November, 2016 by 11:55PM.
Aim: To give you practical experience in with database modelling, normalization and writing SQL statements.
Background Information
A local Sydney hotel requires a database system to manage their bookings and payments.
When a guest rings up or comes into the hotel to book a room for the first time they are asked to provide their name, address, and telephone number.
Guests may make reservations for a room which includes the date and time, number of adults, number of children, expected arrival date & time, expected departure date & time, and notes. Reservations may be confirmed and / or cancelled.
When the guest checks in to the hotel reception enter a record of the room number, and check in date & time. Guests may also check in without a reservation.
When the guest checks out then the checkout date & time, and number of days are entered into the database. The number of days is calculated but may be overwritten by a manager and the guest is charged for the accommodation plus additional service charges including restaurant, dry cleaning, valet parking, room service, etc.
Once the checkout details have been completed then the guest is invoiced for the accommodation and also additional service charges. Payments are recorded for each room booking. Payments are expected to be in full.
However, the system allows multiple payments to be recorded against each room booking.
The database system also needs to keep a record of database users, staff, rooms, room type, facilities, payments, payment types, and guest notes.
Assumptions
Some service charges have a fixed cost. However, the charge amount may be adjusted up or down when charges are entered against the guest booking record. Total charges are calculated by the system by multiplying the charge amount (price) by the quantity.
System Requirements
The system is a prototype system and as such is not a full production version. You will be required to enter a representative sample data into your tables in order to test the design and operation of your database. You are required to import the sample data provided into your tables and you are required to enter at least two new records of your own in some of the tables.
Project Specification
1. Part A (20 marks):
Using MySQL, you are required to develop a demonstration prototype system that handles hotel bookings and payments. Use MySQL to create a new database called HMS. Create tables according to your ERD. Follow a standard naming convention for table names and also field names. Avoid using spaces and any special characters in table and also field names. Use underscore_case or use camelCase to separate parts of a name.
Create relationships between tables and enforce the referential integrity as shown below.
Relationships:
• Guests can have one or more bookings.
• Each room booking can have numerous service charges associated with it.
• Each room is classified by room type, such as deluxe, suite, or twinshare.
• Each room is also provisioned with various facilities such as TV, spa, etc.
• Each guest record may require one or more notes so as to keep a history of information related to the guest record.
• Notes may be assigned to a particular staff person (or database user) to follow up.
• Each room booking may have one or many payments and each payment is identified as to the payment method.
5. The database should include suitable validation and integrity checks as well as appropriate referential integrity checks. That is, AS A MINIMUM, your system should ensure that the following events cannot occur:
Referential Integrity Constraints:
• A booking record cannot be entered for a guest that does not exist.
• A guest cannot be deleted for which a reservation or a booking has been recorded. Similarly a guest cannot be deleted once notes have been entered for the guest record. Likewise, staff (users) cannot be deleted once staff persons have been assigned to follow up a note.
• A booking cannot be deleted once the booking has a service charge or payment details associated with it. Similarly a service type cannot be deleted once the service type has been entered against any service charge detail record for a guest booking.
• Only service types that have been entered into the service types table may be entered as charges for service charge details.
• Rooms cannot be deleted once rooms have been assigned to a guest room booking record.
• Payment methods cannot be deleted once payment methods have been recorded against payments and room bookings that have matching payment details cannot be deleted once payment records have been entered.
Add at least two new records into the appropriate tables to include your details as a guest, room booking details of your own, and notes details related to your guest record.
2. Part B [18 Marks]
Use the Hotel Management System (HMS) database that you created in MySQL to design and execute SQL queries that answer the following questions.
Number your answers to each question clearly. The answer to each question must be tabulated as shown in the example below and include the SQL statement and also the output that is produced when you execute the statement in your database. The output includes the records that are listed and also the message that appears when you run the SQL statement.
For example:
Question 1:
SQL: SELECT lName, position FROM Staff
WHERE salary 20000;
Output: +-------+----------+
| lName | position |
+-------+----------+
| Brand | Manager |
| White | Manager |
+-------+----------+
2 rows in set (0.03 sec)
Do not use screen captures to display the SQL statement or the output.
You should right-click on the MySQL Command Prompt window; choose Mark and then press the [Enter] key to Copy and then Paste into your Word document that includes the answers to all questions.
Format and indent the clauses in your SQL statements for better readability and understanding as shown in the example above.
Statements must be syntactically and semantically correct.
Format both the SQL and also the Output in Courier New 10 or 11 point.
Each question is 2 marks.
1. List the first name, last name of guests (join guest first and last name with a space in between and use the alias Guest Name for the column heading), and email address (for all guests that have an email address only). Sort the output in ascending order by the guest last name.
2. List the room number, rate, and number of beds for all rooms that have 2 beds.
3. List the total amount owing on service charges for each guest grouped by guest last name and the service description. Use the alias “Total Amount” for the sum of the service charges for the guest. Sort the output in ascending order by the guest last name.
4. List the guest last name, first name, mobile, and email for all guests that do not have a mobile phone number recorded in the guests table. Sort the output in ascending order by the guest last name, and then first name.
5. List the guest last name for all guests that have a suburb that has the word ‘hill’ anywhere in the suburb name. Sort the output ascending order by the guest name.
6. Count the number of rooms grouped by room type. Use the alias “Count of room type” for the count.
7. List the room number and facility type for room numbers 18 or 19. Sort in ascending order of the room number, and also the facility type.
8. List the guest first and last name for all guests that do not have a room booking entered in the database.
9. List the payment method description and sum of payment amounts for all payments which were made after 1-July-2014.
3. Part C (2 marks)
Write a page to the department manager that describes your experience building the database. You can discuss any challenges / difficulties that you experienced or solutions that you found. Comment on any limitations and / or strengths of your database design. Comment on whether your database meets all the system requirements as specified in Part A Question 4. Avoid making excuses or comments that reflect negativity. Include an acknowledgement of all students you have spoken to about the assignment.
Submission:
Deliverables for Parts A, B, & C must be witten in a report form
a) A soft copy of your assignment documentation report must be zipped and uploaded to AIH Moodle.
b) The SQL that can be used to restore your database should also be uploaded to AIH Moodle. You can create the SQL for your database as follows:
Use the mysqldump command to create a text version of the database. Use mysqldump to create SQL file that contains a list of SQL statements which can be used to restore/recreate the original database.
The syntax is as follows:
$ mysqldump -u [uname] -p[pass] [dbname] [backupfile.sql]
WHERE:
[uname] Your database username
[pass] The password for your database [dbname] The name of your database
[backupfile.sql
]
The filename for your database backup
You do not need to log on to MySQL. For example from the DOS command prompt, the syntax is:
e:xamppmysqlin mysqldump -u root MyDB e:
MyDB_bak.sql
This will create the SQL file that can be used to restore your database.
OR
Use the word document to show the query and their results show them as screen shots.
Administrative Details
Deadlines: There will be NO extensions except where Calendar rules apply. Deadlines must be met, unless an acceptable medical certificate covers 25% or more of the lead-time between the assignment and the deadline. Other absences must be accounted for by substantiating documentation, for example a police accident report or statutory declaration. Any assessment activities missed for medical (or other acceptable substantiated) reasons must be completed by a new deadline that will be assigned in negotiation with the lecturer.
The Penalty for Late Submission of assignments is 10% of the total marks for each day (or part thereof, including weekends) the assignment is late. For assignments received more than 5 days after the due date, the assignment will be assessed, but a zero mark will be awarded.
Electronic failure causing delay: In most work submissions you have a final deadline but it is recommended that you submit well before this time. Timely submission is your responsibility – last minute technical disaster will not be accepted as a reason for late submission. You are expected to have discipline in time management, to make back-ups, and always have the back-ups available for submission.
Your report is to be presented as a hard copy. All assessment activities that are handed in must be presented to a professional standard and must include:
1. A hard copy to be submitted to the designated lecturer or nominated alternative by the due time and date. It must have a title page which includes the student’s name and ID number, title of assignment and a signed statement that the work is exclusively the student’s own work and that there has been no plagiarism or collusion. The pro-forma for this is attached. Reports without a coversheet will not be accepted.
2. A footer to be shown on every page that includes student’s name, ID number and page #.
3. A soft copy of your report to be submitted on AIH Moodle. The same assignment deadlines apply to this submission format.
E-mailing of your assignment will be accepted only after consultation with the tutor. If emailing, through arrangement with the tutor, send the document as an e-mail attachment in MS Word or PDF format. The subject line in the e-mail must include student name. When sending e-mails please request an automated receipt. Where there is doubt as to whether the assessment activity was submitted on time, no claims for timely submission will be accepted if there is no receipt.
Submissions not clearly identified with the author’s details as outlined in the points above will not be marked and may result in a 0 grade for that activity.
PLAGIARISM AND COLLUSION Any submitted work that contains plagiarism or collusion will be reported to the appropriate authorities according to the University policy and will receive an automatic zero ‘0’ mark for the assignment.
Database Management for Business
Student Name: Student ID#: I acknowledge that this project is my own work, that there is no collusion with other students, past or present, and that any work used from another source has been correctly cited and referenced (using the Harvard style) as per the University handbook.
Signed:
Marking Guide for Assignment 2
Date:
PART MARKS
A: ER Diagram + Table Definitions (entities, attributes, relationships, keys) / 10
Schema matches ERD
Database Design (appropriate data types, field size), Data Integrity (keys), Constraints (FKs) / 1
/ 3
/ 3
Sufficient data/records shown / 3
B: SQL & Output
Q1 /2
Q2 /2
Q3 /2
Q4 /2
Q5 /2
Q6 /2
Q7 /2
Q8 /2
Q9 /2
/ 18
C: Personal Report / 2
Late Penalties 10% each day late
Total: _______ / 40
Comments:
End of the document
8 | Page
GET ANSWERS / LIVE CHAT