A model answer ERD for students enrolling in courses at Oaklands College
The College must be able to identify a student, and therefore the student name is crucial. This could be treated as a single field big enough to contain all the students names, First Name, Surname etc. However if there is a requirement to list students in Surname order, then it is better to split the name into parts and keep the Surname separate.
Student (FirstName, MiddleInitials, Surname)
Keeping the FirstName separate might also be required so that tutors can refer to the student informally. However some students may not like to use their FirstName, and therefore another field could be added FamiliarName, which could contain the informal name the students would prefer. For example Bill instead of William
Student (FirstName, MiddleInitials, Surname, FamiliarName)
There may be a legal requirement to have all the students names, in which case a field MiddleNames could be used instead of MiddleInitials, although that is not atomic.
Student (FirstName, MiddleNames, Surname, FamiliarName)
A better solution is to have a separate Entity called Names which is linked to Student by the Primary key StudentID and contains the name and its order (1,2,3...)
Student (StudentID, Surname)
Names(StudentID, Order, Name)
Although most students (and some staff) think in terms of courses, the correct technical word is Qualfication. It is possible for a single "course" to complete work towards more than one Qualification
However in this simple ERD it is assumed that a course leads to a single qualifcation. Qualification is therefore and alternative name for this entity. The qualification will be at a particular Level such as a National Diploma at Level 3
Most courses will have a suggested Guided Learning Hours, (GLH) the number of hours a student will get in class with a tutor. Total Learning Hours (TLH) could also be specified for this entity.
Most of the main courses will last for at least one year, and some will last for two years. There however some shorter courses which would not be easily specified by this attribute as they only last for so many weeks.
Most courses have a set pattern of so many hours per week, and that is the same for all the weeks. However this may not be true of all courses.
There is a lot of other information that can be added to a specify a course including a description, a subject area, overall aims, learning outcomes, assessment criteria, etc. This is usualy defined by an examination board that produced a Programme Specification that covers a set of related qualifications
The process of students taking a course starts with enrollment. However a student can enroll on more than one course, and a course must have more than one enrollment. A student can only enroll on the same course once, so that the combination of LearnerID and CourseID is unique and could be used as a primary key. However the College gives each enrollment a unique enrolment ID
There is an additional complication in that there may be more than one instance of the course running at the same time. When that happens different student groups taking the same course are established. Each group will have a different timetable, and may run on a different campus.
The enrolment needs to be tracked from the original student application to the student starting the course. Additional information could be added about the interview, such as tutor name, and tutor notes.
Student groups are multiple students taking the same course at the same time in the same class rooms, in the same campus
As multiple class rooms will be used at different times then a separate entity is needed to record each teaching session
Each group is given a simple group ID e.g. 1A, 1B and will have a set maximum capacity. It will also have an actual number of students enrolled, but that can be calculated from the enrollments.
Each group may have a group tutor who will be reponsible for the wellfair of each student.
Courses are normally delivered in a series of sessions or lessons. The entity could also be called a Class
Each session is normally in a room for a fixed time interval, and is taken by a single tutor.
Each session will be used to deliver part of the syllabus, however over the year that will change. So for example one session might be used to deliver three units one after the other.
Students still need to recieve letters from the college. However an Address entity with a full postal address breaks 3 Normal Form. If you know the Post Code you know the Town, if you know the Town you know the county. One county contains many towns. Therefore you cannot put PostCode, Town and County in the same entity.
The Post Office offers a national database, where the full Postal Address can be retrieved from the House Number and Post Code. So only those two attributes are part of the Address Entity
The College has more than one student from the same postal address (e.g. brothers/sisters).
As a combination of House No and Post code are unique they can be used as the Primary Key. If they are then, they would both be posted into the Student/Learner as a Foreign Key meaning that there is then no need for the Address Entity.