You are on page 1of 2

IE 412/512: Information Systems Engineering

Fall 2016
Homework #1 Solutions: Database System Concepts and Architecture
1. What is the difference between controlled and uncontrolled redundancy?
Redundancy is when the same fact is stored multiple times in several places in a database.
Redundancy is controlled when the DBMS ensures that multiple copies of the same data are
consistent; If the DBMS has no control over this, we have uncontrolled redundancy.

2. Specify all the relationships among the records of the database shown in Figure 1.
- Each SECTION record is related to a COURSE record.
- Each GRADE_REPORT record is related to one STUDENT record and one SECTION
record.
- Each PREREQUISITE record relates two COURSE records: one in the role of a course and
the other in the role of a prerequisite to that course.

3. Give at least two additional views that may be needed by other user groups for the database
shown in Figure 1.
- A view that groups all the students who took each section and gives each student's grade.
This may be useful for printing the grade report for each section for the university
administration's use.
- A view that gives the number of courses taken and the GPA (grade point average) for each
student. This may be used to determine honors students.
4. Cite at least four examples of integrity constraints that you think can apply to the database
shown in Figure 1 along with their type (as discussed in slide 28 of the first lecture notes).
- The StudentNumber should be unique for each STUDENT record (key constraint).
- The CourseNumber should be unique for each COURSE record (key constraint).
- A value of CourseNumber in a SECTION record must also exist in some COURSE record
(referential integrity constraint).
- A value of StudentNumber in a GRADE_REPORT record must also exist in some
Page 1 of 2

STUDENT record (referential integrity constraint).


- The value of Grade in a GRADE_REPORT record must be one of the values in the set
{A, B, C, D, F, I, U, S} (domain constraint).
- Every record in COURSE must have a value for CourseNumber (entity integrity constraint).
- A STUDENT record cannot have a value of Class=2 (sophomore) unless the student has
completed a number of sections whose total course CreditHours is greater than 24 credits
(general semantic integrity constraint).
5. Consider Figure 1. In addition to constraints relating the values of columns in one table to

columns in another table, there are also constraints that impose restrictions on values in a
column or a combination of columns within a table. One such constraint forces that a column
or a group of columns must be unique across all rows in the table. For example, in the
STUDENT table, the StudentNumber column must be unique (to prevent two different
students from having the same StudentNumber). Identify at least three instances of the
column or the group of columns in the other tables that must be unique across all rows in the
table?

Table
COURSE

Column(s)
CourseNumber
Since this contains the combination of the department and the number that
must be unique within the department. Note we will overlook the fact this
does not accommodate a department from offering several Special Topics
course with the same CourseNumber but different titles. We could make this
a combination of CourseNumber and CourseName, but this is more
susceptible to someone mistyping while entering data.

PREREQUISITE

The combination of CourseNumber and PrerequisiteNumber

SECTION

SectionIdentifier
We assume that no two sections can have the same SectionIdentifier. If we
were to consider that SectionIdentifier is unique only within a given course
offered in a given term (such as section 2 of CS101) then the answer changes
to the combination of SectionIdentifier, CourseNumber, Semester, and Year.

GRADE_REPORT

StudentNumber and SectionIdentifier


As per assumption stated in SECTION, the SectionIdentifier will be different
if a student takes the same course or a different course in another term.

Page 2 of 2

You might also like