Logical layer

Person(personId, email, phoneNumber, name, DOB)
Instructor(instructorNumber) instructorNumber ⊆ Person.personId
Student(studentNumber) studentNumber ⊆ Person.personId

Course(courseNumber, name)

Enrolment(enrolmentId, studentNumber, courseNumber, grade) studentNumber ⊆ Student.studentNumber, courseNumber ⊆ Course.courseNumber

Teaches(instructorNumber, courseNumber) instructorNumber ⊆ Instructor.instructorNumber, courseNumber ⊆ Course.courseNumber