You are on page 1of 7

Your Own Version of GRASPS as a DBA – Project Intro

Goal:

The goal is to update the database structure to be able to handle reservations for entire groups.

Role:

Your job is to come up with propositions to update the database structure in order to be able to

handle reservations for entire groups.

Audience:

The target audience is the employees, but I will handle the group reservations.

Situation:

The actual database structure allows us to handle reservations from individual customers. If a

group of persons, including sports clubs, want to make reservations for all group (club)

members, it is necessary to make individual reservations for each member. This process may

take some time but may also lead to omitting some of the members.

Product/Performance and Purpose:

I will alter the current database structure in order to make it capable of handling reservations

from entire groups.

Standards & Criteria for Success:

A successful result will enable sport clubs to make reservations for several members at the same

time.
Project Request – Phase One

First, I will create a new table called Group. In this table, I will save the information about the

group (group also includes clubs), which is the GroupID (unique identifier), GroupName,

GroupLeader, Address, City, State, ZipCode, Phone. The GroupLeader is the number of the

customer (CustomertNum) responsible of the group.

I will also need to create a table called Member used to link a customer to a group. The

information in this table will involve the CustomerNum and the GroupID or any additional

information like the date where the customer becomes a member or the leaving date where the

customer is not a member of the group anymore. A customer may belong to several groups (one

to many relation).

I created two additional tables in order to handle groups and their information (Group table) and

to link a customer to one or several groups using the Member table.

I believe that this solution will have minimal impact on the database structure and the software

using the database. It will allow us to handle sport clubs but also any other types of groups. For

example, a group of friends traveling together. Finally, it will allow the group leader or the

employees responsible of reservations to make reservations to all the group members at the same

time which will be much quicker but also avoid forgetting any club members.
Project Request – Phase Two

GuideNum TripGuide Trip TripID

Guide

CustomerNum

Customer reservation
L

a member

e
Group
r

GroupID
Queries Required

CREATE TABLE Group (


GroupID INT NOT NULL,
GroupName VARCHAR (100),
GroupLeader INT,
Address VARCHAR (255),
City VARCHAR (30),
State VARCHAR (2),
ZipCode VARCHAR (5),
Phone VARCHAR (10),
PRIMARY KEY (GroupID)
)
;

CREATE TABLE Member (


MemberID INT NOT NULL
CustomerNum INT FOREIGN KEY REFERENCES Customer(CustomerNum),
GroupID INT FOREIGN KEY REFERENCES Group(GroupID),
MembershipDate DATE,
PRIMARY KEY (MemberID),

)
;
Three Possible Requests

1. Get all the customers names that belong to a group who made reservations.

2. Get all the groups that made a reservation.

3. Display all trips made by groups.

SQL Queries

1. SELECT LastName, FirstName FROM Customer WHERE Customer.

CustomerNum=Member.CustomerNum AND Customer.CustomerNum=Reservation.

CustomerNum

2. SELECT GroupName FROM Group WHERE Customer. CustomerNum=Member.

CustomerNum AND Customer.CustomerNum=Reservation.CustomerNum AND

Member.GroupID=Group.GroupID

3. SELECT TripName FROM Trip WHERE Customer. CustomerNum=Member.

CustomerNum AND Customer.CustomerNum=Reservation.CustomerNum AND

Member.GroupID=Group.GroupID AND Reservation.TripID=Trip.TripID


Executive Summary

Company Description:

Colonial Adventure Tours offers products designed for travelers. The company offers organized

trips all around the world for many different activities requested by the customer. Trouble

accommodations and reservations are easier thanks to the Colonial Adventure Guides. Our wide

range of trips, services, but also our experience and professionalism are what makes us the best

touring company.

The Need/Problem:

The current website allows individual reservations where a customer can access information

related to trips and if you want make reservations. However, if a group of persons want to make

a reservation, they would have to do it one at a time because the website does not offer the

possibility to make group reservations.

The Solution:

The solution will be to implement a new functionality that allows customers to create groups

(clubs) thus, make reservations for all the group members at the same time. This new

functionality will involve changing the actual database, in order to handle groups, memberships,

and group reservations.


Post-Mortem

Project/Task/Roadmap:

Create a new functionality that enables group reservations.

Description:

The current reservation system allows both customers and employees to make single

reservations. However, if a group wants to make reservations for all group members, it needs to

be done one by one. The aim of this project is to improve the reservation system (including

database) to be able to handle groups, membership, and group reservations. The actual database

structure allows us to handle reservations from individual customers.

What Happened

The group leaders and employees were not able to make group reservations for all members at

the same time, instead it had to be done for each member individually.

What worked

The updated system now offers new functionalities to the customers where they can join groups.

The group leader can thus make reservations or group members.

What didn’t work

I did not cover how to designate group leaders.

When a group reservation is made, it is applied to all group members. But what if a group
member

Does not want to participate in that trip (exclusion).

You might also like