Question
The problem scenario You are asked to design a database for a company that operates driving schools at several cities in UK. It is to
The problem scenario
You are asked to design a database for a company that operates driving schools at several cities in UK. It is to store information about the driving schools, clients, instructors, cars and details of bookings for driving lessons and tests.
A driving school has a unique ID and address. It employs several driving instructors and some administration staff with various job roles, e.g. manager, secretary, assistant.
All members of staff have a unique ID, forename, surname, gender, contact phone number, address. Instructors have a valid driving license number recorded, other members of staff have their role recorded. Each instructor is allocated a specific car by the school. Each car has a numeric identifier, a registration number and model.
A client has a unique ID, forename, surname, gender, date of birth, address, contact phone number, and a provisional driving license number. After clients register with a driving school near where they live, they may book individual lessons with a particular instructor in the school. Each lesson lasts for an hour. A client may change to a different instructor at any stage.
A client may apply for a driving test at the nearest test centre. Each centre has a unique ID, name, address and contact phone number. A client may make multiple attempts to pass the test. For each test, the instructor should be available to drop off and pick up the client before and after the test at the centre. If a client fails a test, the reasons for failure must be recorded.
Task
1. [25 marks] Design a conceptual data model for the given scenario.
a) Construct an ER diagram in UML.
The diagram should show all entities, attributes of each entity, relationships between the entities with appropriate multiplicity constraints, and the coverage properties for the hierarchical relationship you have identified.
b) State any assumptions necessary to resolve ambiguities in the scenario. Pay special attention to cardinalities and participation constraints.
2. [25 marks] Produce a logical data model for a relational database.
a) Map your conceptual data model (Task 1) to a relational schema, indicating clearly the primary keys and any foreign keys introduced to model the relations and constraints. Represent the schema in textual form
b) For each foreign key, specify whether a null value would be allowed. Justify your choice.
c) State which attributes may be null and explain why.
d) State any other required constraints for your logical data model.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started