| | 1 | = Програмирање база на податоци |
| | 2 | |
| | 3 | '''Членови на тим:''' |
| | 4 | - Aлександар Тодороски 231153 |
| | 5 | - Антонио Трајковски 231156 |
| | 6 | - Вељко Аџиќ 231267 |
| | 7 | |
| | 8 | == Тригери |
| | 9 | |
| | 10 | === 1. trg_check_contract |
| | 11 | |
| | 12 | Овој тригер се извршува пред додавање или ажурирање на ред во `sportsperson_contract`. Доколку клубот на новиот договор е национална репрезентација и спортистот не е од таа држава фрла грешка. Исто така, осигурува дека спортистот има најмногу еден договор за национална репрезентација и најмногу еден активен договор за стандарден клуб. |
| | 13 | |
| | 14 | [[Image(trg_1.png)]] |
| | 15 | |
| | 16 | === 2. trg_check_team_roster |
| | 17 | |
| | 18 | Овој тригер врши проверка на `team_roster` пред секое додавање или ажурирање. Се проверува дека бројот на играчи во не го надминува капацитетот, ново додадениот играчот да има активен договор за целосното траење на дуел и да не е во друга екипа за тој дуел. |
| | 19 | |
| | 20 | [[Image(trg_2.png)]] |
| | 21 | |
| | 22 | === 3. trg_check_team_sport_and_rep |
| | 23 | |
| | 24 | Тригерот врши валидација пред додавање или ажурирање на ред во `duel`. Се проверува дали клубовите на тимовите постојат, се осигурува дуелот да е против две национални репрезентации или два обични тима. Дополнително проверува за секој тим дали нивната федерација е активна до датумот на дуелот, и проверува дали тимовите игра соодветна спортска категорија за тој дуел. |
| | 25 | |
| | 26 | [[Image(trg_3.png)]] |
| | 27 | |
| | 28 | == Функции |
| | 29 | |
| | 30 | Освен функциите за тригери, единствена друга функција во ова база е `valid_date_range`. Таа се користи да провери дали внесен опсег на датуми е валиден. |
| | 31 | |
| | 32 | [[Image(fn_1.png)]] |
| | 33 | |
| | 34 | == Процедури |
| | 35 | |
| | 36 | === 1. Регистрација на спортист |
| | 37 | |
| | 38 | Ова процедура ни овозможува да се регистрира нов спортист. Ги валидира внесените податоци и креира и креира нови записи во person и `sportsperson`. Ова процедура ја отстранува потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството `sportsperson` од `person`. |
| | 39 | |
| | 40 | [[Image(pr_reg_sportsperson.png)]] |
| | 41 | |
| | 42 | === 2. Регистрација на тренер |
| | 43 | |
| | 44 | Процедура `register_coach` ни овозможува да се регистрира нов тренер каде извршува валидација на влезните податоци и го одржува наследството на `coach` од `person`. Целта на процедурата е да ја отстранува потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството. |
| | 45 | |
| | 46 | [[Image(pr_reg_coach.png)]] |
| | 47 | |
| | 48 | === 3. Регистрација на судија |
| | 49 | |
| | 50 | Со ова процедура може да се регистрира нов судија каде се валидираат влезните податоци и се одржува наследството на `referee` од `person`. Процедурата има цел да е да ја отстрани потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството. |
| | 51 | |
| | 52 | [[Image(pr_reg_referee.png)]] |
| | 53 | |
| | 54 | === 4. Додавање нов договор |
| | 55 | |
| | 56 | ... |