summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-01-07 19:08:15 -0700
committermo khan <mo.khan@gmail.com>2020-01-07 19:08:15 -0700
commit59bc49c0994585b11bae971da19d5cf61e1f3f8b (patch)
tree57bb95630cc9d8fa4e76916d5b10706a40072563
parentafb4e61a62b07277e0b455df50bfe73da5aa4a66 (diff)
Add missing pieces
-rw-r--r--assignments/1/README.md14
-rw-r--r--assignments/1/course-administration.pngbin89660 -> 120730 bytes
-rw-r--r--assignments/1/course-administration.uml10
3 files changed, 11 insertions, 13 deletions
diff --git a/assignments/1/README.md b/assignments/1/README.md
index 60e71df..33c8da0 100644
--- a/assignments/1/README.md
+++ b/assignments/1/README.md
@@ -119,19 +119,7 @@ Design an ER diagram for this course administration system.
Draw the complete ER diagrams, including all aspects discussed in the course.
Clearly state any further assumptions made, but note that you must not override the specifications above.
-```text
-courses(
- id integer primary key,
- course_number number,
- title varchar(title),
- foreign_key(instructor_id) number
-)
-add unique constaint on courses(course_number, title);
-
-instructors(
- id integer primary key
-)
-```
+ ![course administration ERD](./course-administration.png)
### Question 4 (15 marks)
diff --git a/assignments/1/course-administration.png b/assignments/1/course-administration.png
index 9b54af0..dab776e 100644
--- a/assignments/1/course-administration.png
+++ b/assignments/1/course-administration.png
Binary files differ
diff --git a/assignments/1/course-administration.uml b/assignments/1/course-administration.uml
index aa9046c..93734fb 100644
--- a/assignments/1/course-administration.uml
+++ b/assignments/1/course-administration.uml
@@ -27,6 +27,7 @@ Table(scheduled_courses, "scheduled_courses") {
foreign_key(term_id) BIGINT
foreign_key(instructor_id) BIGINT
foreign_key(course_id) BIGINT
+ conference_whiteboard_url VARCHAR[1024]
}
Table(course_prerequisites, "course_prerequisites") {
@@ -53,6 +54,7 @@ Table(students, "students") {
type INTEGER [0 undergraduate, 1 graduate]
postal_code VARCHAR[255]
gpa DECIMAL
+ years_of_work_experience INTEGER
}
Table(profiles, "profiles") {
@@ -67,6 +69,7 @@ Table(course_enrollments, "course_enrollments") {
primary_key(id) BIGINT
foreign_key(student_id) BIGINT
foreign_key(scheduled_course_id) BIGINT
+ foreign_key(authorized_by_instructor_id) BIGINT
grade DECIMAL
}
@@ -81,6 +84,11 @@ Table(course_disciplines, "course_disciplines") {
foreign_key(discipline_id) BIGINT
}
+Table(instructor_disciplines, "instructor_disciplines") {
+ foreign_key(instructor_id) BIGINT
+ foreign_key(discipline_id) BIGINT
+}
+
' relationships
disciplines --> disciplines : "belongs to"
course_enrollments --> scheduled_courses : "belongs to"
@@ -96,6 +104,8 @@ scheduled_courses --> instructors : "belongs to"
instructors --> scheduled_courses : "has many"
courses --> course_disciplines : "has many"
course_disciplines --> disciplines : "belongs to"
+instructors --> instructor_disciplines : "has many"
+instructor_disciplines --> disciplines : "belongs to"
students --> profiles : "belongs to"
instructors --> profiles : "belongs to"
@enduml