From afb4e61a62b07277e0b455df50bfe73da5aa4a66 Mon Sep 17 00:00:00 2001 From: mo khan Date: Tue, 7 Jan 2020 18:59:41 -0700 Subject: Extract duplication between instructors and students into profiles table --- assignments/1/course-administration.png | Bin 94102 -> 89660 bytes assignments/1/course-administration.uml | 18 +++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/assignments/1/course-administration.png b/assignments/1/course-administration.png index a694734..9b54af0 100644 Binary files a/assignments/1/course-administration.png and b/assignments/1/course-administration.png differ diff --git a/assignments/1/course-administration.uml b/assignments/1/course-administration.uml index 418bddd..aa9046c 100644 --- a/assignments/1/course-administration.uml +++ b/assignments/1/course-administration.uml @@ -43,22 +43,24 @@ Table(course_assistants, "course_assistants") { Table(instructors, "instructors") { primary_key(id) BIGINT not_null(title) VARCHAR[255] - first_name VARCHAR[255] - last_name VARCHAR[255] - email_address VARCHAR[255] - phone_number VARCHAR[255] + foreign_key(profile_id) BIGINT fax_number VARCHAR[255] } Table(students, "students") { + primary_key(id) BIGINT + foreign_key(profile_id) BIGINT + type INTEGER [0 undergraduate, 1 graduate] + postal_code VARCHAR[255] + gpa DECIMAL +} + +Table(profiles, "profiles") { primary_key(id) BIGINT first_name VARCHAR[255] last_name VARCHAR[255] email_address VARCHAR[255] phone_number VARCHAR[255] - postal_code VARCHAR[255] - gpa DECIMAL - student_type INTEGER } Table(course_enrollments, "course_enrollments") { @@ -94,4 +96,6 @@ scheduled_courses --> instructors : "belongs to" instructors --> scheduled_courses : "has many" courses --> course_disciplines : "has many" course_disciplines --> disciplines : "belongs to" +students --> profiles : "belongs to" +instructors --> profiles : "belongs to" @enduml -- cgit v1.2.3