December
1998 QUESTION 2 Total Marks: 20 Marks |
Click here to access other
questions
SUGGESTED SOLUTIONS
|
(a) | Give three reasons why normalization is carried out. | [3] |
Any 3, 1 mark
|
[3] | |
(b) | What is denormalization? Give two situations where it might be considered, and explain carefully why it might be useful in each case. | [7] |
Denormalization: the
(deliberate) implementation of a database in a form which does not obey the normalization
rules. Possible situations for denormalization:
Any 2 out of these 3: 1 mark for identifying the situation, 2 more for explanation
|
[1]
[6]
|
|
(c) | Apply the normalization rules to the
following data structures, which show the data to be recorded in a database of student
records. All of your intermediate steps (UNF, INF, 2NF, 3NF) should be shown in detail.. student record = student number + student name + contact phone number + major + {course number + course title + instructor name + instructor location + grade} |
[10] |
UNF (StuNo,
StuName, PhoneNo, Major, {CourseNo, CourseTitle, InsName InsLoc, Grade})
|
[1] | |
INF STUDENT = (StuNo, StuName, PhoneNo, Major) GRADE = (StudNo, CourseNo, CourseTitle, InsName, InsLoc, Grade)
|
[2] | |
2NF STUDENT = (StudNo, StuName, PhoneNo, Major) GRADE = (StudNo, CourseNo, Grade) COURSE = (CourseNo, CourseTitle, InsName, InsLoc)
|
[3] | |
3NF STUDENT = (StudNo, StuName, PhoneNo, Major) GRADE = (StudNo, CourseNo, Grade) COURSE = (CourseNo, CourseTitle, InsName) INSTRUCTOR = (InsName, InsLoc) Consequential error: candidates should only be penalised once for a mistake: e.g., a 2NF that is correctly derived from an incorrect 1NF should be given credit. Markers should therefore be looking for understanding: have candidates removed repeating groups (for 1NF), removed partial functional dependencies (for 2NF), removed transitive dependencies (for 3NF)? |
[4] | |