Database design
Task A – ER Diagram
The local council is planning to implement a database system to help track players that sign up to play soccer. Data needs to be maintained for each team, the players their parents. Also, data needs to be stored for the coaches for each team.
Consider the following set of requirements to maintain this database:
· A Team is made up of many Players, and also has a Coach, and each Player has a Parent.
· Each Team has an ID number, name, and colours.
· Each Player has an ID number, first name, last name, and age.
· Each Coach has an ID number, first name, last name, and home phone number.
· Each Parent has an ID number, last name, first name, Home phone number, and Home Address (Street, City, State, and Postal Code).
· A Player must have one and only one Team.
· A Team must have many Players.
· A Team may or may not have a Coach.
· A Coach must have one and only one Team.
· A Team may have many Coaches.
· A Player must have at least one Parent, possibly more.
· A Parent must have a Player.
According to the information above, draw a corresponding ER diagram. Please note:
A1. You may decide the names for entities, attributes and relations, but you should use UPPERCASE to name your entities and use Capitalisation (of first letter) to name attributes of entities.
A2. Underline all primary key attributes and mention all the foreign key attributes.
A3. Clearly indicate participation and cardinalities between entities. Also specify the relationship verbs.
Task B – Normalization
Consider the following relation for student records:
GRADEREPORT(StudentID, StudentName, StudentMajor, StudentStreetAddress, CourseID, CourseTitle, CourseCreditPoints, CourseSemesterYear, CourseInstructorID, InstructorID, InstructorName, InstructorOffice, Grade)
Given that the following functional dependencies exist:
StudentID -> StudentName, StudentMajor, StudentStreetAddress
CourseID->CourseTitle, CourseCreditPoints, CourseInstructorID
StudentResult -> CourseID, CourseSemesterYear, Grade
Instructor -> InstructorID, InstructorName, InstructorOffice
B1. Why is the relation in 1NF? State the reason(s).
B2. Is the relation in 2NF? State the reason for your answer with example.
B3. Decompose the relation to 3NF. State the reason(s) why the decomposed relation is in 3NF.
Task C – SQL
Consider the following relational schema (the primary keys are underlined and foreign keys are italic)
SUPPLIERS(SupplierID, sname, addressline1,addressline2, city, state, zip)
PARTS(PartsID, pname, colour, description)
CATALOGUE(SupplierID, PartsID, cost, availability)
Write the SQL statements for the following queries:
C1. List the PartsID’s of all parts containing “plastic”.
C2. Find the names of suppliers who supply parts of red color and costing less than $200.
C3. What is the price of the lowest costing part in Melbourne?
C4. Find the SupplierID’s of suppliers who either supply some red part or who are in NSW.