Changes between Version 9 and Version 10 of RelationalDesign


Ignore:
Timestamp:
09/21/26 15:25:01 (6 days ago)
Author:
236024
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RelationalDesign

    v9 v10  
    187187    PK(student_index, as_id),
    188188    FK(student_index) -> members(student_index),
    189     FK(as_id) -> activity_sessions(as_id),
     189    FK(as_id) -> activity_sessions(as_id)
    190190)
    191191
    … …  
    227227The Locations entity is represented with `locations`. The relationship between !EventEditions and Locations is represented with `event_edition_locations`.
    228228
    229 The relationships `has_stage`, `participation`, `required_attendance`, `announces_absence`, `responsible_for`, `volunteers`, `cooperation`, `related_to`, `holds_event_function`, and the event-edition location relationship are represented as relations because they either have M:N cardinality, their own attributes, or are clearer without nullable foreign-key columns. The relationship `holds_function` is represented in the relational schema as `function_mandates` because it has the attribute `mandate_year`. The relationship `related_to` is represented separately because only some activity sessions are connected to event editions. The relationship `applies_with` is represented with the foreign key `student_index` in `applications`, because each application belongs to one student. The N:1 relationships `for_function`, `for_participation`, `takes_place_at`, `held_at`, `is_of_function_type`, and `mentorship` are represented directly with foreign keys on the N-side relation.
     229The M:N relationships `participation`, `required_attendance`, `announces_absence`, `responsible_for`, `volunteers`, `cooperation`, `holds_event_function`, and the event-edition location relationship are represented as separate relations. The relationship `related_to` is represented separately because only some activity sessions are connected to event editions; Placing `ee_id` directly in `activity_sessions` would create nullable values for independent activities such as weekly meetings, so the absence of a `related_to` row represents that no event edition is connected. The relationships `applies_with`, `for_function`, `for_participation`, `available_for`, `edition_of`, `part_of`, `session_inst_of`, `instance_of`, `takes_place_at`, `held_at`, `is_of_function_type`, `for_member`, `for_stage`, `held_by`, and `mandate_of` are represented by foreign keys in the corresponding N-side relations. The restriction that an absence may be announced only when attendance is required is a business rule to be enforced later through application logic or a database trigger; it is not represented as an additional relationship in this phase.
    230230
    231231== DDL script for creating the database schema and objects ==