wiki:UseCase004

Version 2 (modified by 233149, 2 weeks ago) ( diff )

--

UC004 - Приказ на запишани семестри

Иницијален актер: Студент

Други актери: -

Студентот сака да ја види историјата на сите семестри кои ги запишал, со студиската програма, квотата и статусот на секој од нив. Целта е преглед од кој може да продолжи кон предметите на конкретен семестар.

Сценарио

  1. Студентот се најавува и избира Семестри од менито.
  1. Системот го чита идентификаторот на студентот од пристапниот токен и ги презема сите негови запишани семестри. Семестрите се подредени од најнов кон најстар; во рамките на иста година зимскиот семестар претходи на летниот.
    SELECT es.id,
           a.year,
           a.type,
           m.name AS major,
           es.quota,
           es.note,
           es.student_comment,
           es.created_at,
           es.last_change,
           es.completed
    FROM project.enrolled_semesters es
    JOIN project.active_semesters a ON a.id = es.semester_id
    JOIN project.major m            ON m.id = es.major_id
    WHERE es.user_id = 1
    ORDER BY a.year DESC, (a.type = 'summer') DESC;
    
  1. Системот ја прикажува табелата со по еден ред за секој семестар. Колоната Завршен се пополнува според тоа дали completed има вредност.
  1. Студентот избира конкретен семестар за да ги види неговите предмети, со што се преминува на UC005.

Забелешки

  • Ограничувањето UNIQUE (user_id, semester_id) во enrolled_semesters гарантира дека студентот не може да се појави двапати во истиот семестар, па во оваа табела нема дупликати.
  • Атрибутот completed е timestamp, а не boolean, па покрај тоа дали семестарот е завршен се знае и кога е заверен.
Note: See TracWiki for help on using the wiki.