Ask DBMS Expert


Home >> DBMS

Database Management for Business Individual Project: Database Case Study

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:

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 twin share.
  • 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

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.

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

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.

Attachment:- Project Assignment.rar

DBMS, Programming

  • Category:- DBMS
  • Reference No.:- M92025247

Have any Question?


Related Questions in DBMS

Data mining assignment -in this assignment you are asked to

Data Mining Assignment - In this assignment you are asked to explore the use of neural networks for classification and numeric prediction. You are also asked to carry out a data mining investigation on a real-world data ...

Sql query assignment -for this assignment you are to write

SQL Query Assignment - For this assignment you are to write your answers in a word document. This assignment is in three parts: Part A (reporting queries), Part B (query performance), Part C (query design). For this assi ...

The groceries datasetimagine 10000 receipts sitting on your

The groceries Dataset Imagine 10000 receipts sitting on your table. Each receipt represents a transaction with items that were purchased. The receipt is a representation of stuff that went into a customer's basket. That ...

You are in a real estate business renting apartments to

You are in a real estate business renting apartments to customers. Your job is to define an appropriate schema using SQL DDL in MySQL. The relations are Property(Id, Address, NumberOfUnits), Unit(ApartmentNumber, Propert ...

Objectivethe objective of this lab is to be familiar with a

OBJECTIVE: The objective of this lab is to be familiar with a process in big data modeling. You're required to produce three big data models using the MS PowerPoint software. This tool is available on UMUC Virtual Deskto ...

The relation memberstudentid organizationid roleid stores

The relation Member(StudentId, OrganizationId, RoleId) stores the membership information of student joining organization. For example, ('S1', 'O2', 'R3') indicates that student with Id 'S1' joined the organization with i ...

Relational database exerciseyou have been assigned to a new

Relational Database Exercise: You have been assigned to a new development team. A client is requesting a relational database system to manage their present store with the anticipation of adding more stores in the future. ...

Relational database design a given the following business

Relational Database Design A) Given the following business rules, identify entity types, attributes (at least two attributes for each entity, including the primary key) and relationships, and then draw an Entity-Relation ...

We can represent a data set as a collection of object nodes

We can represent a data set as a collection of object nodes and a collection of attribute nodes, where there is a link between each object and each attribute, and where the weight of that link is the value of the object ...

Data model development and implementationpurpose of the

Data model development and implementation Purpose of the assessment (with ULO Mapping) The purpose of this assignment is to develop data models and map Database System into a standard development environment to gain unde ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As