1185
1185
1. (20 points) What is the difference between controlled and uncontrolled redundancy?
Illustrate with examples.
Answer:
Redundancy is when the same fact is stored multiple times in several places in a
database. For example, in Figure 1.5(a) the fact that the name of the student with
StudentNumber=8 is Brown is stored multiple times. Redundancy is controlled when
the
DBMS ensures that multiple copies of the same data are consistent; for example, if a
new
record with StudentNumber=8 is stored in the database of Figure 1.5(a), the DBMS will
ensure that StudentName=Smith in that record. If the DBMS has no control over this,
we
have uncontrolled redundancy.
2. (20 points) Give some examples of integrity constraints that you think should hold on
the database shown in Figure 1.2 of the textbook.
Answer:
We give a few constraints expressed in English. Following each constraint, we give its
type in the relational database terminology that will be covered in Chapter 6, for
reference purposes.
(a) The StudentNumber should be unique for each STUDENT record (key constraint).
(b) The CourseNumber should be unique for each COURSE record (key constraint).
(c) A value of CourseNumber in a SECTION record must also exist in some COURSE
record (referential integrity constraint).
(d) A value of StudentNumber in a GRADE_REPORT record must also exist in some
STUDENT record (referential integrity constraint).
(e) 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).
(f) Every record in COURSE must have a value for CourseNumber (entity integrity
constraint).
(g) 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 that 24
credits (general semantic integrity constraint).
3. (30 points) Consider the following set of requirements for a university database that
is used to keep track of students' transcripts. This is similar but not identical to the
database shown in Figure 1.2 of the textbook:
(a) The university keeps track of each student's name, student number, social
security number, current address and phone, permanent address and phone,
birthdate, sex, class (freshman, sophomore, ..., graduate), major department,
minor department (if any), and degree program (B.A., B.S., ..., Ph.D.). Some user
applications need to refer to the city, state, and zip of the student's permanent address,
and to the student's last name. Both social security number and student number have
unique values for each student.
(b) Each department is described by a name, department code, office number, office
phone, and college. Both name and code have unique values for each department.
(c) Each course has a course name, description, course number, number of semester
hours, level, and offering department. The value of course number is unique for each
course.
(d) Each section has an instructor, semester, year, course, and section number. The
section number distinguishes different sections of the same course that are taught during
the same semester/year; its values are 1, 2, 3, ...; up to the number of sections taught
during each semester.
(e) A grade report has a student, section, letter grade, and numeric grade (0, 1, 2, 3, 4 for
F, D, C, B, A, respectively).
Design an ER schema for this application, and draw an ER diagram for that schema.
Specify key attributes of each entity type and structural constraints on each relationship
type. Note any unspecified requirements, and make appropriate assumptions to make
the specification complete.
Answer:
4. (30 points) Consider the ER diagram of Figure 3.20 of the textbook, which shows a
simplified schema for an airline reservations system. Extract from the ER diagram the
requirements and constraints that resulted in this schema. Try to be as precise as
possible in your requirements and constraints specification.
Answer:
(1) The database represents each AIRPORT, keeping its unique AirportCode, the
AIRPORT Name, and the City and State in which the AIRPORT is located.
(2) Each airline FLIGHT has a unique number, the Airline for the FLIGHT, and the
Weekdays on which the FLIGHT is scheduled (for example, every day of the week
except Sunday can be coded as X7).
(3) A FLIGHT is composed of one or more FLIGHT LEGs (for example, flight number
CO1223 from New York to Los Angeles may have two FLIGHT LEGs: leg 1 from New
York to Houston and leg 2 from Houston to Los Angeles). Each FLIGHT LEG has a
DEPARTURE AIRPORT and Scheduled Departure Time, and an ARRIVAL AIRPORT
and
Scheduled Arrival Time.
(5) The customer RESERVATIONs on each LEG INSTANCE include the Customer
Name,
Phone, and Seat Number(s) for each reservation.
(6) Information on AIRPLANEs and AIRPLANE TYPEs are also kept. For each
AIRPLANE
TYPE (for example, DC-10), the TypeName, manufacturing Company, and
Maximum Number of Seats are kept. The AIRPORTs in which planes of this type
CAN LAND are kept in the database. For each AIRPLANE, the AirplaneId, Total
number of seats, and TYPE are kept.
Submit your answers in MS-Word or PDF format via email to the instructor cc TA.