| 1 | CREATE TABLE Academic_program (
|
|---|
| 2 | code varchar(255) NOT NULL,
|
|---|
| 3 | name varchar(255) NOT NULL,
|
|---|
| 4 | created_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 5 | updated_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 6 | PRIMARY KEY (code))
|
|---|
| 7 | ;
|
|---|
| 8 |
|
|---|
| 9 | CREATE TABLE Aggregated_Course_Edition_Results (
|
|---|
| 10 | id SERIAL NOT NULL,
|
|---|
| 11 | TeachesTeacherMemberid int4 NOT NULL,
|
|---|
| 12 | TeachesCourse_Editionid int4 NOT NULL,
|
|---|
| 13 | exported_at timestamp NOT NULL,
|
|---|
| 14 | data_jsonb int4 NOT NULL,
|
|---|
| 15 | PRIMARY KEY (id))
|
|---|
| 16 | ;
|
|---|
| 17 |
|
|---|
| 18 | CREATE TABLE Announcement (
|
|---|
| 19 | id int4 NOT NULL,
|
|---|
| 20 | TeachesTeacherMemberid2 int4 NOT NULL,
|
|---|
| 21 | TeachesCourse_Editionid int4 NOT NULL,
|
|---|
| 22 | message varchar(255) NOT NULL,
|
|---|
| 23 | sent_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 24 | PRIMARY KEY (id,
|
|---|
| 25 | TeachesTeacherMemberid2,
|
|---|
| 26 | TeachesCourse_Editionid))
|
|---|
| 27 | ;
|
|---|
| 28 |
|
|---|
| 29 | CREATE TABLE Announcement_Replies (
|
|---|
| 30 | Announcementid int4 NOT NULL,
|
|---|
| 31 | Announcementid2 int4 NOT NULL,
|
|---|
| 32 | AnnouncementTeachesTeacherMemberid22 int4 NOT NULL,
|
|---|
| 33 | AnnouncementTeachesTeacherMemberid23 int4 NOT NULL,
|
|---|
| 34 | AnnouncementTeachesCourse_Editionid int4 NOT NULL,
|
|---|
| 35 | AnnouncementTeachesCourse_Editionid2 int4 NOT NULL,
|
|---|
| 36 | PRIMARY KEY (Announcementid,
|
|---|
| 37 | Announcementid2,
|
|---|
| 38 | AnnouncementTeachesTeacherMemberid22,
|
|---|
| 39 | AnnouncementTeachesTeacherMemberid23,
|
|---|
| 40 | AnnouncementTeachesCourse_Editionid,
|
|---|
| 41 | AnnouncementTeachesCourse_Editionid2))
|
|---|
| 42 | ;
|
|---|
| 43 |
|
|---|
| 44 | CREATE TABLE Course (
|
|---|
| 45 | code varchar(255) NOT NULL,
|
|---|
| 46 | name varchar(255) NOT NULL,
|
|---|
| 47 | credits int4 NOT NULL CHECK(credits > 0),
|
|---|
| 48 | created_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 49 | PRIMARY KEY (code))
|
|---|
| 50 | ;
|
|---|
| 51 |
|
|---|
| 52 | CREATE TABLE Course_Edition (
|
|---|
| 53 | id SERIAL NOT NULL,
|
|---|
| 54 | Coursecode varchar(255) NOT NULL,
|
|---|
| 55 | academic_year int4 NOT NULL,
|
|---|
| 56 | semester int4 NOT NULL,
|
|---|
| 57 | PRIMARY KEY (id))
|
|---|
| 58 | ;
|
|---|
| 59 |
|
|---|
| 60 | CREATE TABLE Course_Enrollment (
|
|---|
| 61 | id SERIAL NOT NULL,
|
|---|
| 62 | Semester_Enrollmentid int4 NOT NULL,
|
|---|
| 63 | Course_Editionid int4 NOT NULL,
|
|---|
| 64 | PRIMARY KEY (id))
|
|---|
| 65 | ;
|
|---|
| 66 |
|
|---|
| 67 | CREATE TABLE Course_Equivalence (
|
|---|
| 68 | Coursecode varchar(255) NOT NULL,
|
|---|
| 69 | Coursecode2 varchar(255) NOT NULL,
|
|---|
| 70 | PRIMARY KEY (Coursecode,
|
|---|
| 71 | Coursecode2))
|
|---|
| 72 | ;
|
|---|
| 73 |
|
|---|
| 74 | CREATE TABLE Course_Prerequisite (
|
|---|
| 75 | Coursecode varchar(255) NOT NULL,
|
|---|
| 76 | Coursecode2 varchar(255) NOT NULL,
|
|---|
| 77 | PRIMARY KEY (Coursecode,
|
|---|
| 78 | Coursecode2),
|
|---|
| 79 | CONSTRAINT COURSE_CANNOT_BE_ITS_OWN_PREREQUISITE
|
|---|
| 80 | CHECK (course_code <> prerequisite_code))
|
|---|
| 81 | ;
|
|---|
| 82 |
|
|---|
| 83 | COMMENT ON CONSTRAINT COURSE_CANNOT_BE_ITS_OWN_PREREQUISITE ON Course_Prerequisite IS 'A course cannot be its own prerequisite.'
|
|---|
| 84 | ;
|
|---|
| 85 |
|
|---|
| 86 | CREATE TABLE Curriculum (
|
|---|
| 87 | Academic_programcode varchar(255) NOT NULL,
|
|---|
| 88 | Coursecode varchar(255) NOT NULL,
|
|---|
| 89 | semester int4 NOT NULL CHECK(semester BETWEEN 1 AND 8),
|
|---|
| 90 | mandatory bytea DEFAULT 'FALSE' NOT NULL,
|
|---|
| 91 | PRIMARY KEY (Academic_programcode,
|
|---|
| 92 | Coursecode))
|
|---|
| 93 | ;
|
|---|
| 94 |
|
|---|
| 95 | CREATE TABLE Exam (
|
|---|
| 96 | id SERIAL NOT NULL,
|
|---|
| 97 | Course_Editionid int4 NOT NULL,
|
|---|
| 98 | scheduled_at date,
|
|---|
| 99 | duration_minutes int4 CHECK(duration_minutes > 0),
|
|---|
| 100 | PRIMARY KEY (id))
|
|---|
| 101 | ;
|
|---|
| 102 |
|
|---|
| 103 | CREATE TABLE Exam_Attempt (
|
|---|
| 104 | attempt_number int4 NOT NULL CHECK(attempt_number > 0),
|
|---|
| 105 | Examid int4 NOT NULL,
|
|---|
| 106 | Course_Enrollmentid int4 NOT NULL,
|
|---|
| 107 | total_points float4 CHECK(total_points >= 0),
|
|---|
| 108 | submitted_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 109 | PRIMARY KEY (attempt_number,
|
|---|
| 110 | Examid,
|
|---|
| 111 | Course_Enrollmentid))
|
|---|
| 112 | ;
|
|---|
| 113 |
|
|---|
| 114 | CREATE TABLE Exam_Problem (
|
|---|
| 115 | pid int4 NOT NULL,
|
|---|
| 116 | Examid int4 NOT NULL,
|
|---|
| 117 | description varchar(255) NOT NULL,
|
|---|
| 118 | expected varchar(255) NOT NULL,
|
|---|
| 119 | points float4 NOT NULL CHECK(points > 0),
|
|---|
| 120 | PRIMARY KEY (pid,
|
|---|
| 121 | Examid))
|
|---|
| 122 | ;
|
|---|
| 123 |
|
|---|
| 124 | CREATE TABLE Exam_Results (
|
|---|
| 125 | id SERIAL NOT NULL,
|
|---|
| 126 | Examid int4 NOT NULL,
|
|---|
| 127 | TeachesTeacherMemberid int4 NOT NULL,
|
|---|
| 128 | TeachesCourse_Editionid int4 NOT NULL,
|
|---|
| 129 | exported_at timestamp NOT NULL,
|
|---|
| 130 | data_jsonb int4 NOT NULL,
|
|---|
| 131 | PRIMARY KEY (id))
|
|---|
| 132 | ;
|
|---|
| 133 |
|
|---|
| 134 | CREATE TABLE Exercise (
|
|---|
| 135 | id SERIAL NOT NULL,
|
|---|
| 136 | Course_Editionid int4 NOT NULL,
|
|---|
| 137 | title varchar(255) NOT NULL,
|
|---|
| 138 | task varchar(255) NOT NULL,
|
|---|
| 139 | expected_result varchar(255) NOT NULL,
|
|---|
| 140 | deadline date,
|
|---|
| 141 | max_grade int4 DEFAULT 5 NOT NULL CHECK(max_grade > 0),
|
|---|
| 142 | created_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 143 | PRIMARY KEY (id))
|
|---|
| 144 | ;
|
|---|
| 145 |
|
|---|
| 146 | CREATE TABLE Exercise_Submission (
|
|---|
| 147 | id int4 NOT NULL,
|
|---|
| 148 | Exerciseid int4 NOT NULL,
|
|---|
| 149 | Course_Enrollmentid int4 NOT NULL,
|
|---|
| 150 | content varchar(255) NOT NULL,
|
|---|
| 151 | grade int4 CHECK(grade BETWEEN 1 AND 10),
|
|---|
| 152 | submitted_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 153 | graded_at date,
|
|---|
| 154 | PRIMARY KEY (id,
|
|---|
| 155 | Exerciseid,
|
|---|
| 156 | Course_Enrollmentid))
|
|---|
| 157 | ;
|
|---|
| 158 |
|
|---|
| 159 | CREATE TABLE Lecture (
|
|---|
| 160 | id SERIAL NOT NULL,
|
|---|
| 161 | Course_Editionid int4 NOT NULL,
|
|---|
| 162 | title varchar(255) NOT NULL,
|
|---|
| 163 | content_url varchar(255),
|
|---|
| 164 | created_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 165 | PRIMARY KEY (id))
|
|---|
| 166 | ;
|
|---|
| 167 |
|
|---|
| 168 | CREATE TABLE Member (
|
|---|
| 169 | id SERIAL NOT NULL,
|
|---|
| 170 | name varchar(255) NOT NULL,
|
|---|
| 171 | surname varchar(255) NOT NULL,
|
|---|
| 172 | username varchar(255) NOT NULL,
|
|---|
| 173 | password_hash varchar(255) NOT NULL,
|
|---|
| 174 | date_birth date NOT NULL,
|
|---|
| 175 | created_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 176 | updated_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 177 | PRIMARY KEY (id))
|
|---|
| 178 | ;
|
|---|
| 179 |
|
|---|
| 180 | CREATE TABLE Member_Message (
|
|---|
| 181 | id SERIAL NOT NULL,
|
|---|
| 182 | message varchar(255) NOT NULL,
|
|---|
| 183 | sent_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 184 | Memberid int4 NOT NULL,
|
|---|
| 185 | Memberid2 int4 NOT NULL,
|
|---|
| 186 | PRIMARY KEY (id))
|
|---|
| 187 | ;
|
|---|
| 188 |
|
|---|
| 189 | CREATE TABLE Program_Enrollment (
|
|---|
| 190 | id SERIAL NOT NULL,
|
|---|
| 191 | StudentMemberid int4 NOT NULL UNIQUE,
|
|---|
| 192 | Academic_programcode varchar(255) NOT NULL UNIQUE,
|
|---|
| 193 | date_enrollment date NOT NULL UNIQUE,
|
|---|
| 194 | date_disenrollment date,
|
|---|
| 195 | PRIMARY KEY (id),
|
|---|
| 196 | CONSTRAINT CNS_disenrollment_after_enrollment
|
|---|
| 197 | CHECK (date_enrollment < date_disenrollment))
|
|---|
| 198 | ;
|
|---|
| 199 |
|
|---|
| 200 | COMMENT ON CONSTRAINT CNS_disenrollment_after_enrollment ON Program_Enrollment IS 'Date of disenrollment has to be after the date of enrollment (for a specific academic program).'
|
|---|
| 201 | ;
|
|---|
| 202 |
|
|---|
| 203 | COMMENT ON TABLE Program_Enrollment IS 'date_enrollment is a part of primary key, because e.g. a student may enroll in program A, then disenroll from it (change program), and then enroll in program A again (only the dates are different).'
|
|---|
| 204 | ;
|
|---|
| 205 |
|
|---|
| 206 | CREATE TABLE Semester_Enrollment (
|
|---|
| 207 | id SERIAL NOT NULL,
|
|---|
| 208 | Program_Enrollmentid int4 NOT NULL,
|
|---|
| 209 | academic_year int4 NOT NULL CHECK(academic_year >= 2000),
|
|---|
| 210 | semester int4 NOT NULL CHECK(semester BETWEEN 1 AND 2),
|
|---|
| 211 | prev_hash varchar(255),
|
|---|
| 212 | current_hash varchar(255) DEFAULT '' NOT NULL,
|
|---|
| 213 | PRIMARY KEY (id))
|
|---|
| 214 | ;
|
|---|
| 215 |
|
|---|
| 216 | CREATE TABLE Student (
|
|---|
| 217 | Memberid int4 NOT NULL,
|
|---|
| 218 | "index" varchar(255) NOT NULL UNIQUE,
|
|---|
| 219 | PRIMARY KEY (Memberid))
|
|---|
| 220 | ;
|
|---|
| 221 |
|
|---|
| 222 | CREATE TABLE Student_Answer (
|
|---|
| 223 | answer varchar(255) NOT NULL,
|
|---|
| 224 | points_acquired float4 NOT NULL CHECK(points_acquired >= 0),
|
|---|
| 225 | Exam_Problempid int4 NOT NULL,
|
|---|
| 226 | Exam_Attemptattempt_number int4 NOT NULL,
|
|---|
| 227 | Exam_AttemptCourse_Enrollmentid int4 NOT NULL,
|
|---|
| 228 | Exam_AttemptExamid2 int4 NOT NULL,
|
|---|
| 229 | PRIMARY KEY (Exam_Problempid,
|
|---|
| 230 | Exam_Attemptattempt_number,
|
|---|
| 231 | Exam_AttemptCourse_Enrollmentid,
|
|---|
| 232 | Exam_AttemptExamid2))
|
|---|
| 233 | ;
|
|---|
| 234 |
|
|---|
| 235 | CREATE TABLE Student_Grade (
|
|---|
| 236 | grade int4 NOT NULL CHECK(grade BETWEEN 6 AND 10),
|
|---|
| 237 | graded_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 238 | Course_Enrollmentid int4 NOT NULL,
|
|---|
| 239 | Aggregated_Course_Edition_Resultsid int4 NOT NULL,
|
|---|
| 240 | PRIMARY KEY (Course_Enrollmentid))
|
|---|
| 241 | ;
|
|---|
| 242 |
|
|---|
| 243 | CREATE TABLE Survey (
|
|---|
| 244 | id SERIAL NOT NULL,
|
|---|
| 245 | Course_Editionid int4 NOT NULL,
|
|---|
| 246 | title varchar(255) NOT NULL,
|
|---|
| 247 | open_until date,
|
|---|
| 248 | PRIMARY KEY (id))
|
|---|
| 249 | ;
|
|---|
| 250 |
|
|---|
| 251 | CREATE TABLE Survey_Option (
|
|---|
| 252 | "option" varchar(255) NOT NULL,
|
|---|
| 253 | Surveyid int4 NOT NULL,
|
|---|
| 254 | capacity int4 CHECK(capacity > 0),
|
|---|
| 255 | PRIMARY KEY ("option",
|
|---|
| 256 | Surveyid))
|
|---|
| 257 | ;
|
|---|
| 258 |
|
|---|
| 259 | CREATE TABLE Survey_Response (
|
|---|
| 260 | option_text varchar(255) NOT NULL,
|
|---|
| 261 | Surveyid int4 NOT NULL,
|
|---|
| 262 | Course_Enrollmentid int4 NOT NULL,
|
|---|
| 263 | responded_at date DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|---|
| 264 | PRIMARY KEY (option_text,
|
|---|
| 265 | Surveyid,
|
|---|
| 266 | Course_Enrollmentid))
|
|---|
| 267 | ;
|
|---|
| 268 |
|
|---|
| 269 | CREATE TABLE Teacher (
|
|---|
| 270 | Memberid int4 NOT NULL,
|
|---|
| 271 | date_registration date DEFAULT CURRENT_DATE NOT NULL,
|
|---|
| 272 | PRIMARY KEY (Memberid))
|
|---|
| 273 | ;
|
|---|
| 274 |
|
|---|
| 275 | CREATE TABLE Teaches (
|
|---|
| 276 | TeacherMemberid int4 NOT NULL,
|
|---|
| 277 | Course_Editionid int4 NOT NULL,
|
|---|
| 278 | PRIMARY KEY (TeacherMemberid,
|
|---|
| 279 | Course_Editionid))
|
|---|
| 280 | ;
|
|---|
| 281 |
|
|---|
| 282 | CREATE TABLE Teaching_Assistant (
|
|---|
| 283 | id int4 NOT NULL,
|
|---|
| 284 | StudentMemberid int4 NOT NULL,
|
|---|
| 285 | TeacherMemberid int4 NOT NULL,
|
|---|
| 286 | PRIMARY KEY (id,
|
|---|
| 287 | StudentMemberid,
|
|---|
| 288 | TeacherMemberid))
|
|---|
| 289 | ;
|
|---|
| 290 |
|
|---|
| 291 | ALTER TABLE Student ADD CONSTRAINT FKStudent782306 FOREIGN KEY (Memberid) REFERENCES Member (id)
|
|---|
| 292 | ;
|
|---|
| 293 |
|
|---|
| 294 | ALTER TABLE Teacher ADD CONSTRAINT FKTeacher351553 FOREIGN KEY (Memberid) REFERENCES Member (id)
|
|---|
| 295 | ;
|
|---|
| 296 |
|
|---|
| 297 | ALTER TABLE Teaches ADD CONSTRAINT FKTeaches706203 FOREIGN KEY (TeacherMemberid) REFERENCES Teacher (Memberid)
|
|---|
| 298 | ;
|
|---|
| 299 |
|
|---|
| 300 | ALTER TABLE Teaches ADD CONSTRAINT FKTeaches334626 FOREIGN KEY (Course_Editionid) REFERENCES Course_Edition (id)
|
|---|
| 301 | ;
|
|---|
| 302 |
|
|---|
| 303 | ALTER TABLE Course_Enrollment ADD CONSTRAINT FKCourse_Enr486954 FOREIGN KEY (Course_Editionid) REFERENCES Course_Edition (id)
|
|---|
| 304 | ;
|
|---|
| 305 |
|
|---|
| 306 | ALTER TABLE Member_Message ADD CONSTRAINT FKMember_Mes36195 FOREIGN KEY (Memberid) REFERENCES Member (id)
|
|---|
| 307 | ;
|
|---|
| 308 |
|
|---|
| 309 | ALTER TABLE Member_Message ADD CONSTRAINT FKMember_Mes61215 FOREIGN KEY (Memberid2) REFERENCES Member (id)
|
|---|
| 310 | ;
|
|---|
| 311 |
|
|---|
| 312 | ALTER TABLE Program_Enrollment ADD CONSTRAINT FKProgram_En889357 FOREIGN KEY (StudentMemberid) REFERENCES Student (Memberid)
|
|---|
| 313 | ;
|
|---|
| 314 |
|
|---|
| 315 | ALTER TABLE Program_Enrollment ADD CONSTRAINT FKProgram_En384401 FOREIGN KEY (Academic_programcode) REFERENCES Academic_program (code)
|
|---|
| 316 | ;
|
|---|
| 317 |
|
|---|
| 318 | ALTER TABLE Course_Equivalence ADD CONSTRAINT FKCourse_Equ56181 FOREIGN KEY (Coursecode) REFERENCES Course (code)
|
|---|
| 319 | ;
|
|---|
| 320 |
|
|---|
| 321 | ALTER TABLE Course_Equivalence ADD CONSTRAINT FKCourse_Equ535651 FOREIGN KEY (Coursecode2) REFERENCES Course (code)
|
|---|
| 322 | ;
|
|---|
| 323 |
|
|---|
| 324 | ALTER TABLE Announcement ADD CONSTRAINT FKAnnounceme407182 FOREIGN KEY (TeachesTeacherMemberid2, TeachesCourse_Editionid) REFERENCES Teaches (TeacherMemberid, Course_Editionid)
|
|---|
| 325 | ;
|
|---|
| 326 |
|
|---|
| 327 | ALTER TABLE Exam_Results ADD CONSTRAINT FKExam_Resul860551 FOREIGN KEY (Examid) REFERENCES Exam (id)
|
|---|
| 328 | ;
|
|---|
| 329 |
|
|---|
| 330 | ALTER TABLE Exam_Results ADD CONSTRAINT FKExam_Resul975811 FOREIGN KEY (TeachesTeacherMemberid, TeachesCourse_Editionid) REFERENCES Teaches (TeacherMemberid, Course_Editionid)
|
|---|
| 331 | ;
|
|---|
| 332 |
|
|---|
| 333 | ALTER TABLE Aggregated_Course_Edition_Results ADD CONSTRAINT FKAggregated438385 FOREIGN KEY (TeachesTeacherMemberid, TeachesCourse_Editionid) REFERENCES Teaches (TeacherMemberid, Course_Editionid)
|
|---|
| 334 | ;
|
|---|
| 335 |
|
|---|
| 336 | ALTER TABLE Student_Grade ADD CONSTRAINT FKStudent_Gr234275 FOREIGN KEY (Aggregated_Course_Edition_Resultsid) REFERENCES Aggregated_Course_Edition_Results (id)
|
|---|
| 337 | ;
|
|---|
| 338 |
|
|---|
| 339 | ALTER TABLE Student_Answer ADD CONSTRAINT answers FOREIGN KEY (Exam_Attemptattempt_number, Exam_AttemptExamid2, Exam_AttemptCourse_Enrollmentid) REFERENCES Exam_Attempt (attempt_number, Examid, Course_Enrollmentid)
|
|---|
| 340 | ;
|
|---|
| 341 |
|
|---|
| 342 | ALTER TABLE Student_Answer ADD CONSTRAINT answers FOREIGN KEY (Exam_Problempid, Exam_AttemptExamid2) REFERENCES Exam_Problem (pid, Examid)
|
|---|
| 343 | ;
|
|---|
| 344 |
|
|---|
| 345 | ALTER TABLE Teaching_Assistant ADD CONSTRAINT assists FOREIGN KEY (TeacherMemberid) REFERENCES Teacher (Memberid)
|
|---|
| 346 | ;
|
|---|
| 347 |
|
|---|
| 348 | ALTER TABLE Teaching_Assistant ADD CONSTRAINT assists FOREIGN KEY (StudentMemberid) REFERENCES Student (Memberid)
|
|---|
| 349 | ;
|
|---|
| 350 |
|
|---|
| 351 | ALTER TABLE Exam_Attempt ADD CONSTRAINT attempts FOREIGN KEY (Course_Enrollmentid) REFERENCES Course_Enrollment (id)
|
|---|
| 352 | ;
|
|---|
| 353 |
|
|---|
| 354 | ALTER TABLE Exam_Attempt ADD CONSTRAINT attempts FOREIGN KEY (Examid) REFERENCES Exam (id)
|
|---|
| 355 | ;
|
|---|
| 356 |
|
|---|
| 357 | ALTER TABLE Curriculum ADD CONSTRAINT "contains" FOREIGN KEY (Academic_programcode) REFERENCES Academic_program (code)
|
|---|
| 358 | ;
|
|---|
| 359 |
|
|---|
| 360 | ALTER TABLE Curriculum ADD CONSTRAINT "contains" FOREIGN KEY (Coursecode) REFERENCES Course (code)
|
|---|
| 361 | ;
|
|---|
| 362 |
|
|---|
| 363 | ALTER TABLE Exam_Problem ADD CONSTRAINT "contains" FOREIGN KEY (Examid) REFERENCES Exam (id)
|
|---|
| 364 | ;
|
|---|
| 365 |
|
|---|
| 366 | ALTER TABLE Student_Grade ADD CONSTRAINT "graded in" FOREIGN KEY (Course_Enrollmentid) REFERENCES Course_Enrollment (id)
|
|---|
| 367 | ;
|
|---|
| 368 |
|
|---|
| 369 | ALTER TABLE Course_Edition ADD CONSTRAINT "has edition" FOREIGN KEY (Coursecode) REFERENCES Course (code)
|
|---|
| 370 | ;
|
|---|
| 371 |
|
|---|
| 372 | ALTER TABLE Semester_Enrollment ADD CONSTRAINT "has enrollment" FOREIGN KEY (Program_Enrollmentid) REFERENCES Program_Enrollment (id)
|
|---|
| 373 | ;
|
|---|
| 374 |
|
|---|
| 375 | ALTER TABLE Exam ADD CONSTRAINT "has exam" FOREIGN KEY (Course_Editionid) REFERENCES Course_Edition (id)
|
|---|
| 376 | ;
|
|---|
| 377 |
|
|---|
| 378 | ALTER TABLE Exercise ADD CONSTRAINT "has exercise" FOREIGN KEY (Course_Editionid) REFERENCES Course_Edition (id)
|
|---|
| 379 | ;
|
|---|
| 380 |
|
|---|
| 381 | ALTER TABLE Lecture ADD CONSTRAINT "has lecture" FOREIGN KEY (Course_Editionid) REFERENCES Course_Edition (id)
|
|---|
| 382 | ;
|
|---|
| 383 |
|
|---|
| 384 | ALTER TABLE Survey_Option ADD CONSTRAINT "has option" FOREIGN KEY (Surveyid) REFERENCES Survey (id)
|
|---|
| 385 | ;
|
|---|
| 386 |
|
|---|
| 387 | ALTER TABLE Announcement_Replies ADD CONSTRAINT "has reply" FOREIGN KEY (Announcementid, AnnouncementTeachesTeacherMemberid22, AnnouncementTeachesCourse_Editionid) REFERENCES Announcement (id, TeachesTeacherMemberid2, TeachesCourse_Editionid)
|
|---|
| 388 | ;
|
|---|
| 389 |
|
|---|
| 390 | ALTER TABLE Survey_Response ADD CONSTRAINT "has response" FOREIGN KEY (Surveyid) REFERENCES Survey (id)
|
|---|
| 391 | ;
|
|---|
| 392 |
|
|---|
| 393 | ALTER TABLE Survey ADD CONSTRAINT "has survey" FOREIGN KEY (Course_Editionid) REFERENCES Course_Edition (id)
|
|---|
| 394 | ;
|
|---|
| 395 |
|
|---|
| 396 | ALTER TABLE Course_Enrollment ADD CONSTRAINT includes FOREIGN KEY (Semester_Enrollmentid) REFERENCES Semester_Enrollment (id)
|
|---|
| 397 | ;
|
|---|
| 398 |
|
|---|
| 399 | ALTER TABLE Announcement_Replies ADD CONSTRAINT "replies to" FOREIGN KEY (Announcementid2, AnnouncementTeachesTeacherMemberid23, AnnouncementTeachesCourse_Editionid2) REFERENCES Announcement (id, TeachesTeacherMemberid2, TeachesCourse_Editionid)
|
|---|
| 400 | ;
|
|---|
| 401 |
|
|---|
| 402 | ALTER TABLE Course_Prerequisite ADD CONSTRAINT required FOREIGN KEY (Coursecode2) REFERENCES Course (code)
|
|---|
| 403 | ;
|
|---|
| 404 |
|
|---|
| 405 | ALTER TABLE Course_Prerequisite ADD CONSTRAINT requires FOREIGN KEY (Coursecode) REFERENCES Course (code)
|
|---|
| 406 | ;
|
|---|
| 407 |
|
|---|
| 408 | ALTER TABLE Survey_Response ADD CONSTRAINT "responded to" FOREIGN KEY (Course_Enrollmentid) REFERENCES Course_Enrollment (id)
|
|---|
| 409 | ;
|
|---|
| 410 |
|
|---|
| 411 | ALTER TABLE Exercise_Submission ADD CONSTRAINT submits FOREIGN KEY (Course_Enrollmentid) REFERENCES Course_Enrollment (id)
|
|---|
| 412 | ;
|
|---|
| 413 |
|
|---|
| 414 | ALTER TABLE Exercise_Submission ADD CONSTRAINT "submitted for" FOREIGN KEY (Exerciseid) REFERENCES Exercise (id)
|
|---|
| 415 | ;
|
|---|
| 416 |
|
|---|