Changes between Version 1 and Version 2 of DatabaseProgramming


Ignore:
Timestamp:
07/02/26 10:10:54 (3 days ago)
Author:
231082
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v1 v2  
    3636
    3737=== Data Integrity Triggers ===
    38 Trigger Purpose
    39 `trg_academic_program_defaults` Manages updated_at timestamps; prevents backward updates
    40 `trg_prevent_prereq_cycle`      Prevents circular prerequisite dependencies using a recursive CTE
    41 `trg_prevent_equiv_duplicate`   Prevents duplicate symmetric course equivalences
    42 `trg_validate_submission_grade` Ensures submission grade does not exceed exercise max_grade and is not negative
    43 `trg_validate_survey_response_option`   Ensures survey responses reference valid options
    44 `trg_validate_survey_response_timing`   Ensures responses are submitted before the survey closes
    45 `trg_validate_exam_attempt_timing`      Validates exam attempt is not before start and not more than 5 min after end
    46 `trg_validate_course_edition_year`      Prevents future editions and ensures edition starts after course creation
     38|| Trigger || Purpose ||
     39|| `trg_academic_program_defaults` || Manages `updated_at` timestamps; prevents backward updates
     40|| `trg_prevent_prereq_cycle` || Prevents circular prerequisite dependencies using a recursive CTE
     41|| `trg_prevent_equiv_duplicate` || Prevents duplicate symmetric course equivalences
     42|| `trg_validate_submission_grade` || Ensures submission grade does not exceed exercise `max_grade` and is not negative
     43|| `trg_validate_survey_response_option` || Ensures survey responses reference valid options
     44|| `trg_validate_survey_response_timing` || Ensures responses are submitted before the survey closes
     45|| `trg_validate_exam_attempt_timing` || Validates exam attempt is not before start and not more than 5 min after end
     46|| `trg_validate_course_edition_year` || Prevents future editions and ensures edition starts after course creation
    4747
    4848The `trg_prevent_prereq_cycle` trigger uses a recursive query to detect cycles: