Professional Documents
Culture Documents
Chapter 3: Data Modeling Using The Entity-Relationship Model
Chapter 3: Data Modeling Using The Entity-Relationship Model
Chapter 3: Data Modeling Using The Entity-Relationship Model
3.16 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:
(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:
This material has been taken from draft Pre-Publication Material, Copyright AWL2004
2 Selected exercises Chapter 3, Elmasri & Navathe
The entity GRADE may be left-out, in which case its attributes have to be added to the
ternary relation STUD_SECT. However, in the description it is mentioned that there is a
grade report in our Universe of Dicsourse, which motivated us to introduce the entity
GRADE. Suppose that the description was: if a student follows a section, the final grade
(some number) must be recorded, (so, without mentioning any grade report), then we
could have left out the GRADE section. We will continue this discussion below.
The structural constraints that are given here are WRONG, for which I apologize. Take
for example the MAJOR_DEPT relation between a STUDENT and a DEPARTMENT. A
student must participate in exactly one such relation instance, leading to a (min,max)
structural constraint of (1,1). A DEPARTMENT may participate in an arbitrary number of
relation instances (we do not have a lowerbound here, neither do we have an
upperbound), leading to a (min,max) structural constraint of (0,N). The structural
constraints of MAJOR_DEPT is therefore: STUDENT (1,1) -- MAJOR_DEPT (0,N)
DEPARTMENT. A complete list of structural constraints is:
o As discussed above:
STUDENT (1,1) -- MAJOR_DEPT (0,N) DEPARTMENT
o A student may not have a minor department:
STUDENT (0,1) -- MINOR_DEPT (0,N) DEPARTMENT
o A course must be associated to a department, a department may have an
arbitrary number of courses:
This material has been taken from draft Pre-Publication Material, Copyright AWL2004
Selected exercises Chapter 3, Elmasri & Navathe 3
This material has been taken from draft Pre-Publication Material, Copyright AWL2004
4 Selected exercises Chapter 3, Elmasri & Navathe
3.17 Composite and multi-valued attributes can be nested to any number of levels.
Suppose we want to design an attribute for a STUDENT entity type to keep track of
previous college education. Such an attribute will have one entry for each college
previously attended, and this entry is composed of: college name, start and end
dates, degree entries (degrees awarded at that college, if any), and transcript
entries (courses completed at that college, if any). Each degree entry is formed of
degree name and the month and year it was awarded, and each transcript entry is
formed of a course name, semester, year, and grade. Design an attribute to hold
this information. Use the conventions of Figure 3.5.
Answer:
{ PreviousEducation
( CollegeName,
StartDate,
EndDate,
{ Degree (DegreeName, Month, Year) },
{ Transcript (CourseName, Semester, Year, Grade) }
)
}
Note that in Computer Science we usually denote such nested structures in the BNF notation
for defining grammars:
PreviousEducationList:: PreviousEducation*
This material has been taken from draft Pre-Publication Material, Copyright AWL2004
Selected exercises Chapter 3, Elmasri & Navathe 5
3.18 Show an alternative design for the attribute described in Exercise 3.17 that uses
only entity types (including weak entity types if needed) and relationship types.
Answer:
This example illustrates a perceived weakness of the ER model, which is: how does the
database designer decide what to model as an entity type and what to model as a
relationship type. In our solution, we created a weak entity type ATTENDANCE; each
(weak) entity in ATTENDANCE represents a period in which a STUDENT attended a
particular COLLEGE, and is identified by the STUDENT and the StartDate of the period.
Hence, the StartDate attribute is the partial key of ATTENDANCE. Each ATTENDANCE
entity is related to one COLLEGE and zero or more DEGREEs (the degrees awarded during
that attendance period). The TRANSCRIPT of the STUDENT during each attendance period
is modeled as a weak entity type, which gives the records of the student during the
attendance period. Each (weak) entity in TRANSCRIPT gives the record of the sudent in
one course during the attendance period, as shown in the ER diagram below. Other ER
schema designs are also possible for this problem.
This material has been taken from draft Pre-Publication Material, Copyright AWL2004