ER Model and Normalization
Q1: Garage Database [40 points]
We want to design a database for a local garage. For each customer, we want to record the (unique) name, the customer address, and the contact phone number. For each vehicle, we want to record the unique vehicle’s identification number (VIN), and the vehicle’s make, model and year. For each repair job we want to record the description of the job done (maximum 200 chars), the date, and the total dollar cost. A repair job may involve zero or more parts (like, e.g., “windshield wipers”, “battery”, etc.) For each part we want to record its (unique) part number, the part name and its cost. In addition, note that:
• Each vehicle may have 1 or more repair jobs.
• Each customer may be the primary owner of 1 or more vehicles.
• Every vehicle has only one primary owner (we ignore co-owners).
• No vehicle can have more than one repair job in any given day.
Please answer the following questions:
Q1.1. (10 points) Draw an ER diagram for this database. Make sure to indicate primary keys, cardinality constraints, weak entities (if any), and participation constraints. List any assumptions you make in the process.
Q1.2. (10 points) Translate the ER diagram in Q1.1 into relational database tables (i.e. give the SQL DDL statements). Make sure that the translation captures key constraints (primary keys and foreign keys if applicable) and participation constraints in the ER diagram. Identify constraints, if any, that you are not able to capture.
Q1.3. (20 points) Identify the functional dependencies that you expect should hold for the Garage Database domain. Use the dependencies to find keys and BCNF normal forms.
Q2: Restaurant Database [ 40 points]
The student administrator of the Mini University wants to design a database for profiling students’ preferences for the nearby restaurants and the dishes. For example, the student Jack Smith likes the “rib eye steak” at the “TGI Fridays”, not the “rib eye steak” at the “Olive Garden”, while the student Nancy Graham likes the Italian spaghetti at “Zeppoli’s”.
• Each student has his/her SSN, the name, and the department.
• Each restaurant has its name, and the mailing address.
• The name of a restaurant may not be unique, but the mailing address is unique.
• Each dish has the name and the price.
• The price of a dish might differ on different restaurants. For example, “rib eye steak” is $15 at “TGI Fridays”, but $20 at the “Olive Garden”.
• The name of a dish is unique within a restaurant. Two restaurants may have the same dish name.
• A dish is offered by at least one restaurant, and a restaurant offers at least a dish.
Please answer the following questions:
Q2.1. (10 points) Draw an ER diagram for this database. Make sure to indicate primary keys, cardinality constraints, weak entities (if any), and participation constraints. List any assumptions you make in the process.
Q2.2. (10 points) Translate the ER diagram in Q2.1 into relational database tables (i.e. give the SQL DDL statements). Make sure that the translation captures key constraints (primary keys and foreign keys if applicable) and participation constraints in the ER diagram. Identify constraints, if any, that you are not able to capture.
Q2.3. (20 points) Identify the functional dependencies that you expect should hold for the Restaurant Database domain. Use the dependencies to find keys and BCNF normal forms.
Q3: Reverse Engineering [20 points]
This question tests how well you understand the algorithm for converting E/R diagrams to relational schemas. An E/R diagram when converted to relations (using the mechanical construction that we know and love) gives rise to the following relations:
R(a, b, c)
T(a, d, f, g)
You may assume that the same symbols refer to the same attribute and different symbols refer to different attributes (e.g., the attributes a in the relations R, S and T are the same) i.e. it ultimately comes from a single entity set or relationship in the E/R diagram.
Your task is to reverse-engineer the E/R diagram from these relations; in other words, what E/R diagram could have produced these relations. For full credit, give two different E/R diagrams that could have produced these (and only these) relations (i.e. 10 points for each correct E/R diagram).
Submission Guidelines and Requirements
Include your name and UCM ID in the assignment
Add the following statement in your solution “I certify that the codes/answers/outputs of this assignment are entirely my own work.”
// Your Name
// Your UCM ID
//Certificate of Authenticity: “I certify that the assignment is entirely my own work.”
Add comments to your submission as much as possible
Submit your ER diagrams, relation schemas, functional dependencies and normalized forms
Zip your files and upload the zipped file onto Blackboard
There could be more than one correct answer. We shall accept them all
Whenever you are making an assumption, please state it clearly
There will be automatic 10 points penalty if your submission is missing certificate of authenticity
Late submission: Late submission is allowed with a 10% deduction per day (delay in submission). Submission after 3 days of the deadline won’t be accepted
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.Read more
Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.Read more
Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.Read more
Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.Read more
By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.Read more