4CCS1DBS Database Systems
Part 1: Design
Overview
The purpose of this coursework is to create a database ER schema and relational schema foraspecificdomainbasedontheprovidedrequirements. Thiscourseworkalso involves implementing your relational schema in SQL and writing some queries in SQL’s Data Manipulation Language.
Thiscourseworkiscomprisedof2Parts,eachwithseparatedeadlines. Beawareany late submissions will have the grade for that part capped at 40%. This is Part 1 of the Coursework.
The entire coursework is formally assessed and is worth 11% of your final grade. Part 1 of the Coursework is worth 5% and Part 2 of the coursework is worth 6%. You will receive some feedback as part of the marking of the coursework.
Part 1: Design (5% of your final grade)
(1.1) Identification and representation of entities, relationships and attributes.
(1.2) Identification and representation of relationship cardinalities based on the coursework requirements, or by making proper use assumptions if the coursework requirements are vague. Any assumptions need to be reasonable and realistic.
(1.3) Conversion of the ER schema to a relational schema.
(1.4) Identify domain constraint specific to the database requirements.
Part 1 Deadline: Monday February 19th by 11:55 pm on KEATs.
(Part 1 Late Deadline: Tuesday February 20th by 11:55pm on KEATs)
Overall presentation including legibility and proper use of language (where applicable).
Database Requirements
You have been hired by a nation-wide fitness company named Fitness4All. Fitness4All has gyms in different locations and offers different types of memberships to customers. Customers can also purchase different fitness lessons and personal training sessions. The company wants to utilize a DBMS to track the sales of classes and memberships. In addition, Firtness4All would like to start a customer loyalty program called the SuperFitRewards. Members who sign-up to SuperFitRewards can get offers on free classes! This also will allow Fitness4All to store data on customer purchases for his Data Science team to analyze.
Here are the specifications for the database requirements:
Fitness4All has gyms in different locations across the country. All of these gyms have a gym suite and they may have a swimming pool. Each gym has a unique identifier and the date in which the gym opened.
Customers can become members of any of these gyms. In particular, there are three types of memberships ‘GymOnly’, ‘SwimOnly’ and ‘Gym&Swim’. Note ‘SwimOnly’ and ‘Gym&Swim’ memberships are only available at locations where there is a swimming pool. For each membership, the company wants to store the unique membership number, start date, monthly fee, gym and customer information. For each customer, Fitness4All stores its full name, address, phone, and date of birth.
Members make online purchases consisting of group and individual fitness classes. For each type of class, the company stores its name, price and type (group or individual). Each type of class can take place at different dates, times and gyms. Indeed, more than one occurrence of a same class type can take place simultaneously at a same gym. Each class occurrence has a unique identifier and a particular capability. Purchases are of particular places in class occurrences.
For each purchase, the company would like to keep the purchase identifier, date and time, the total price, the classes purchased and the member information. Note classes can also be purchased by non-members at the gym receptions. These purchases are registered in the system as purchases without member information.
Members may sign up to the SuperFitRewards with their email address. They will provide their membership number and email as part of the sign-up. Every member may have only one SuperFitRewards account.
Fitness4All would like to keep the offer scheme of the SuperFitRewards simple at first. Every SuperFitRewards member gets 1 free group class for every 10 group classes that they buy and 1 free individual class for every 5 individual classes that they buy. The database should keep track of the necessary information for the SuperFitRewards.
Part 1: Design
1.1 ER Diagram. Draw the ER schema that would correspond to the requirements above. Include all entities, attributes, and relationships.
If necessary, please explain/justify your design choices.
1.2 Cardinalities and Assumptions. On the ER Diagram include all cardinalities of the relationships using the ERD (min,max) notation from lecture. State assumptions made and ensure that those assumptions do not contradict with the coursework requirements.
Please list your assumptions as bullet points.
1.3 Relational Schema. Convert the ER schema into a relational schema separately grouping the Entity and the Relationship relations.
1.4 Constraints.
(i) For each relation, identify their primary and foreign keys. You may write (PK) and (FK) to indicate the attribute(s) that serve as primary and foreign keys, respectively. For example, ‘ProjectNumber (PK), EmployeeNumber (FK)’.
(ii) In addition, define all of the domain constraints for three relations in your relationalschema. Ifnecessary,includeanexplanationforthesedomain constraints.
(iii) Define three semantic integrity constraints for your schema specific to theFitness4Alldomain. Includeanexplanationforeachsemanticintegrity constraint.
What to turn in
Organise your design into a single PDF document for Part 1 and submit it on KEATs before the deadline. Other documents and extra materials will be ignored.
Be sure to include your Name and Student number on your submission.
Your design will be accessed not only on the quality of the design, but also on the overall presentation including legibility and proper use of language in your explanations.
Utilise a diagramming / sketching program (as practiced in the Lab Practicals) to create a ER Diagram and relational schema. It will be hard for the marker to properly access your work if it is drawn by hand.