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, \(\ldots,\) 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 code
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 the course number
is unique for each course.
d. Each section has an instructor, semester, year, course, and section number.
The section number distinguishes sections of the same course that are taught
during the same semester/year; its values are \(1,2,3, \ldots,\) 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, \text { or } 4)\) 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.