NORMALIZATION,
USE CASE
DIAGRAM,
DATAMODEL &
PROCESS
DIAGRAM
–Chapter 7-9
Problem 1
‘n Haarsalon hou detail in stand van kliente, afsprake en
haarkappers en die Haarkapper vra jou om ‘n stelsel vir
haar te ontwikkel. Die volgende data moet gestoor
word: / A hair salon maintains detail of clients,
appointments and hairdressers and the owner asks you
to develop a system for her. The following data must be
stored:
Problem 1
continues
*Kliënt ID nommer / Customer ID Number
*Kliënt e-posadres / Customer email address
*Kliënt city name / Customer city name
*Kliënt selfoon nommer / Customer cellphone number
*Haarkapper ID Nommer / Hairdresser ID Number
*Haarkapper naam (bestaande uit van en naam) /
Hairdresser Name (consisting of last name and first
name)
*Afspraak datum / Appointment date
*Afspraak tyd/ Appointment time
*Kliënt wat afspraak gemaak het / Customer that made
the appointment
*Haarkapper by wie afspraak gemaak is / Hairdresser
with whom an appointment was made
Problem 1 continues
Aanvaar die volgende: / Assume the following:
* Elke Kliënt ID nommer is uniek. / Each Customer ID number is unique.
* Elke Haarkapper ID nommer is uniek. / Each Hairdresser ID number is
unique.
* Kliënte van verskillende stede besoek die haarsalon. Elke kliënt woon
slegs in een stad. Natuurlik is daar stede waar geen kliënte woon nie. /
Clients from different cities come to visit the hair salon. Each customer
lives in only one city. Of course there are cities without any customers.
* Een kliënt kan baie afsprake maak, maar een afspraak word slegs deur
een kliënt vir een haarkapper gemaak. Elke kliënt het al ten minste een
afspraak gemaak. / Each customer can make many appointments but one
appointment is made by exactly one customer for one hairdresser. Each
customer has already made at least one appointment.
* Haarkappers is verantwoordelik vir baie afsprake. Elke haarkapper het al
ten minste een afspraak behartig. / Hairdressers are responsible for many
appointments. Every hairdresser has taken care of at least one
appointment.
Normaliseer hierdie data tot 3NF. / Normalise this data to 3NF.
Problem 1 Solution
*CITY (City_ID (PK)½, City_Name) ½
*HAIRDRESSER (Hairdresser_ID (PK)½,
FirstName, LastName) ½
*CUSTOMER (Customer_ID (PK)½, Email_Address,
City_ID (FK) ½, Cell_Number) ½
*APPOINTMENT (Appointment_Num (PK)½,
Customer_ID (FK) ½, Booking_Date,
Booking_Time, Hairdresser_ID (FK)) ½
Problem 2
Teken ‘n datamodel met alle entiteite, attribute, primêre
sleutels, vreemde sleutels en verwantskappe vir
bogenoemde besigheidsreëls. / Draw a datamodel with
all entities, attributes, primary keys, foreign keys and
relationships for the above business rules.
Problem 2 Solution
As gevolg van die toenemende gewildheid van die haarsalon, word nuwe kliënte
gereeld bygevoeg. Kliëntinligting verander van tyd tot tyd. Nadat ‘n kliënt vir twee
jaar nie ‘n afspraak gemaak het nie, word haar/sy inligting uit die databasis verwyder.
Nuwe haarkappers word van tyd tot tyd aangestel. Sommige haarkappers se inligting
moet soms verander word, bv. wanneer hulle trou. Twee jaar nadat ‘n haarkapper
bedank het, word haar/sy inligting uit die stelsel verwyder (Insluitend haar/sy ou
afsprake). Kliënte bel gewoonlik om ‘n afspraak te maak by ‘n spesifieke haarkapper.
Soms gebeur dit dat ‘n kliênt ‘n afspraak kanselleer. Verslae oor al die inligting in die
databasis is nodig. Die bestuurder het toegang tot alle funksies in die stelsel. Die
sekretaresse het toegang tot alle funksies behalwe om haarkappers by te voeg, te
verander en te verwyder. Gebruik die data-model van Vraag b as basis en teken 'n
Gebruiksgeval-diagram vir die stelsel wat ontwikkel moet word. Let daarop dat klein
veranderinge aan die datamodel van Vraag b toegelaat word vir die ontwikkeling van
die stelsel. / Due to the increasing popularity of the hair salon, new clients are regularly
added. Customer information changes from time to time. After a customer has not made
an appointment for two years, his/her information will be removed from the database.
New hairdressers are appointed from time to time. Some hairdressers' information
should sometimes be changed, e.g. when they get married. Two years after a hairdresser
resigns, his/her information is removed from the system (Including his/her old
appointments). Customers usually call to make an appointment with a specific
hairdresser. Sometimes it happens that a client cancels an appointment. Reports on all
the information in the database are required. The manager has access to all functions in
the system. The secretary has access to all functions except to add, change and remove
hairdressers’ information. Use the data model of Question b as a basis and draw a Use
Case diagram for the system to be developed. Note that small changes to the data
model of Question b are allowed for the development of the system.
Draw a Use Case diagram for the above scenario.
Problem 3 Solution
Hairsalon system
Problem 4
Gebruik die datamodel van Vraag b en die
gebruiksgeval-diagram van Vraag c en
teken nou ‘n prosesmodel vir afsprake. /
Use the data model of Question b and the
use case diagram of Question c to draw a
process model for appointments.
Key to drawing
DFD
Make an Make an
appointme Of Use-Case diagram, becomes Process appointmen
nt t
Of Use-Case diagram, becomes Agent Secretar
y
Secretary
CUSTOMER
PK Customer_ID
Of Data Model, becomes Data Store Customers
D1
Email_Address
FK City_ID
Cell_Number
* Problem 4
Solution
1 {Customer_ID +
Email_Address + City_ID
+ Cell_Number } N
Customer_ID + 1
Booking_date + {Hairdresser_
Booking_Time + ID +
Hairdresser_ID FirstName +
+ “N” LastName } N
D1
D2
D3