SYSTEM ANALYSIS AND DESIGN
ASSIGNMENT 3 GROUP 7
SIZELENKOSI MPANDE H230485J
VERILY MWANZA H230111F
PANASHE M CHASI H230508C
KUDAKWASHE MUSOKOTA H230947Q
SHAWN MASINGA H230412Z
Plausible Functional Dependencies
1. Customer Telephone Number (Home or Work) > Customer Name, Customer Home
Address, Customer Home Region, Customer Work Address, Customer Work City Region
2. Driver ID > Driver Name, Driver Address, Driver City Region, Driver Phone Number
3. Car ID > Car Make, Car License Number
4. Date of Pickup, Time of Pickup, Customer Telephone Number > Driver assigned to
Pickup, Special Pickup Information, Flight Number, Air Carrier, Arrival Time, Customer
Drop-off City Region
5. Driver ID, Date > Car ID (assuming a driver is assigned one car per day)
Entity-Relationship Diagram Analysis
Entities:
1. CUSTOMER
o Primary Key: customerID (generated)
o Unique Keys: homeTelephone, workTelephone (either can be used to look up a
customer)
o Attributes: name, homeAddress, homeRegion, workAddress, workCityRegion
2. DRIVER
o Primary Key: driverID
o Attributes: name, address, cityRegion, phoneNumber
3. CAR
o Primary Key: carID
o Unique Key: licenseNumber
o Attributes: make
4. ASSIGNMENT
o Primary Key: assignmentID
o Foreign Keys: driverID, carID
o Attributes: assignmentDate
o This entity represents the daily assignment of cars to drivers
5. PICKUP_REQUEST
o Primary Key: requestID
o Foreign Keys: customerID, driverID
o Attributes: dateOfPickup, timeOfPickup, specialPickupInfo, flightNumber,
airCarrier, arrivalTime, dropoffCityRegion, pickupLocation
Relationships:
1. CUSTOMER to PICKUP_REQUEST: One-to-many (a customer can make multiple
pickup requests)
2. DRIVER to PICKUP_REQUEST: One-to-many (a driver can handle multiple pickup
requests)
3. DRIVER to ASSIGNMENT: One-to-many (a driver can have multiple assignments on
different days)
4. CAR to ASSIGNMENT: One-to-many (a car can be assigned to different drivers on
different days)
Cardinality Constraints:
• A CUSTOMER can make zero or many PICKUP_REQUESTs
• A PICKUP_REQUEST must belong to exactly one CUSTOMER
• A DRIVER can handle zero or many PICKUP_REQUESTs
• A PICKUP_REQUEST must be handled by exactly one DRIVER
• A DRIVER can receive zero or many ASSIGNMENTs
• An ASSIGNMENT must be assigned to exactly one DRIVER
• A CAR can be allocated to zero or many ASSIGNMENTs
• An ASSIGNMENT must include exactly one CAR