Changes between Version 4 and Version 5 of DatabaseProgramming


Ignore:
Timestamp:
06/14/26 23:59:03 (5 days ago)
Author:
231267
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v4 v5  
    1616=== 2. trg_check_team_roster
    1717
    18 Овој тригер врши проверка на `team_roster` пред секое додавање или ажурирање. Се проверува дека бројот на играчи во не го надминува капацитетот, ново додадениот играчот да има активен договор за целосното траење на дуел и да не е во друга екипа за тој дуел.
     18Овој тригер врши проверка на `team_roster` пред секое додавање или ажурирање. Се проверува дека бројот на играчи не го надминува дозволениот капацитетот, новододадениот играч има активен договор во целото времетраење на дуелот и дека не е дел од друга екипа за тој дуел.
    1919
    2020[[Image(trg_2.png)]]
     
    2222=== 3. trg_check_team_sport_and_rep
    2323
    24 Тригерот врши валидација пред додавање или ажурирање на ред во `duel`. Се проверува дали клубовите на тимовите постојат, се осигурува дуелот да е против две национални репрезентации или два обични тима. Дополнително проверува за секој тим дали нивната федерација е активна до датумот на дуелот, и проверува дали тимовите игра соодветна спортска категорија за тој дуел.
     24Тригерот врши валидација пред додавање или ажурирање на ред во `duel`. Се проверува дали клубовите на тимовите постојат, се осигурува дуелот да е против две национални репрезентации или два обични тима. Дополнително проверува за секој тим дали нивната федерација е активна до датумот на дуелот, и проверува дали тимовите играат во соодветна спортска категорија за тој дуел.
    2525
    2626[[Image(trg_3.png)]]
     
    2828== Функции
    2929
    30 Освен функциите за тригери, единствена друга функција во ова база е `valid_date_range`. Таа се користи да провери дали внесен опсег на датуми е валиден.
     30Освен функциите што се користат во тригери, единствена друга функција во овој систем е `valid_date_range`. Таа се користи да провери дали внесен опсег на датуми е валиден.
    3131
    3232[[Image(fn_1.png)]]
     
    3636=== 1. Регистрација на спортист
    3737
    38 Ова процедура ни овозможува да се регистрира нов спортист. Ги валидира внесените податоци и креира нови записи во person и `sportsperson`. Ова процедура ја отстранува потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството `sportsperson` од `person`.
     38Оваа процедура ни овозможува да се регистрира нов спортист. Ги валидира внесените податоци и креира нови записи во `person` и `sportsperson`. Оваа процедура ја отстранува потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството `sportsperson` од `person`.
    3939
    4040[[Image(pr_reg_sportsperson.png)]]
     
    4242=== 2. Регистрација на тренер
    4343
    44 Процедура `register_coach` ни овозможува да се регистрира нов тренер каде извршува валидација на влезните податоци и го одржува наследството на `coach` од `person`. Целта на процедурата е да ја отстранува потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството.
     44Процедурата `register_coach` ни овозможува да се регистрира нов тренер каде извршува валидација на влезните податоци и го одржува наследството на `coach` од `person`. Целта на процедурата е да ја отстранува потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството.
    4545
    4646[[Image(pr_reg_coach.png)]]
     
    4848=== 3. Регистрација на судија
    4949
    50 Со ова процедура може да се регистрира нов судија каде се валидираат влезните податоци и се одржува наследството на `referee` од `person`. Процедурата има цел да е да ја отстрани потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството.
     50Со оваа процедура може да се регистрира нов судија каде се валидираат влезните податоци и се одржува наследството на `referee` од `person`. Процедурата има цел да ја отстрани потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството.
    5151
    5252[[Image(pr_reg_referee.png)]]
     
    5454=== 4. Додавање нов договор
    5555
    56 `add_contract` е процедура која се користи за додавање или обновување на договор на играч. Прво се проверува дали постои играч, дали се валидни почетен и краен датум, дали е валидна сумата, и доколку се помине оди на додавање договор. Ако играчот има активен договор со неопределен рок, или договор што завршил, се проверува валидноста на клубот и дополнително почетниот датум да е по завршниот датум на стариот договор, се затвара стариот договори се додава нов. Ако играчот нема предходен договор се прескокнуваат овие проверки и само се додава новиот договор во системот.
     56`add_contract` е процедура која се користи за додавање или обновување на договор на играч. Прво се проверува дали постои играч, дали се валидни почетен и краен датум, дали е валидна сумата, и доколку се помине оди на додавање договор. Ако играчот има активен договор со неопределен рок, или договор што завршил, се проверува валидноста на клубот и дополнително почетниот датум да е по завршниот датум на стариот договор, се затвора стариот договор и се додава нов. Ако играчот нема претходен договор се прескокнуваат овие проверки и само се додава новиот договор во системот.
    5757
    5858[[Image(pr_add_contract.png)]]
     
    6060=== 5. Позајмување играч
    6161
    62 Процедурата `borrow_player` овозмоќува позајмување на играчи од еден клуб во друг. Тука како основни проверки имаме дали времето е соодветно, дали играшот постои, дали клубовите потојат. Потоа се проверува дали играчот има договор со клубот и дополнително дали е валиден периодот за позајмување. Ако поминат сите проверки, ќе се заврши стариот договор, ќе се креира нов договор со позајмувачкиот клуб, и ќе се креира нов договор со стариот клуб кој почнува од датумот на завршување на позајмувањето до стариот завршен датум.
     62Процедурата `borrow_player` овозможува позајмување на играчи од еден клуб во друг. Тука како основни проверки имаме дали времето е соодветно, дали играчот постои, дали клубовите постојат. Потоа се проверува дали играчот има договор со клубот и дополнително дали е валиден периодот за позајмување. Ако поминат сите проверки, ќе се заврши стариот договор, ќе се креира нов договор со позајмувачкиот клуб, и ќе се креира нов договор со стариот клуб кој почнува од датумот на завршување на позајмувањето до стариот завршен датум.
    6363
    6464[[Image(pr_borrow_player.png)]]
     
    6666=== 6. Промоција на спортист во тренер
    6767
    68 `promote_sportsperson_to_coach` е процедура ни помага еден играч да се промовира во требер. Се проверува дали постои играчот, да не е веќе промовиран, дали постои федерација и да нема активен договор. Ако се поминат сите проверки се креира нов тренер во системот.
     68`promote_sportsperson_to_coach` е процедура која ни помага еден играч да се промовира во тренер. Се проверува дали играчот постои, да не е веќе промовиран, дали постои федерација и да нема активен договор. Ако се поминат сите проверки се креира нов тренер во системот.
    6969
    7070[[Image(pr_promote_sportsperson_to_coach.png)]]
     
    7272=== 7. Создавање нова сезона
    7373
    74 `start_new_season` е процедура која помага при започнување на нова сезона за одредена лига. Прво имаме проверки за гоида и лига, потоа ги додаваме новите датуми за почеток и крај, ја додаваме сезпмата во главната табела и другите табели што зимаат податоци од неа. Дополнително, автоматски се креираат тимови во сезоната, се креираат натпревари и се генерираат дуели.
     74`start_new_season` е процедура која помага при започнување на нова сезона за одредена лига. Прво се вршат проверки за годината и лигата, потоа се додаваат новите датуми за почеток и крај на сезоната, ја додаваме сезоната во главната табела и другите табели што зависат од неа. Дополнително, автоматски се креираат тимови во сезоната, се креираат натпревари и се генерираат дуели.
    7575
    7676[[Image(pr_start_new_season.png)]]
     
    7878=== 8. Презакажување на дуел
    7979
    80 `reschedule_duel` е процедура која има улога да презакаже дуел. Извршува валидација на влезните податоци (дали постои дуел, дали е валидно новото време), а потоа одат попократни проверки дали судијата, домаќинот и противникот се слободни тој период, ако се тогаш се ажурира почетокот на дуелот.
     80`reschedule_duel` е процедура која има улога да презакаже дуел. Извршува валидација на влезните податоци (дали постои дуел, дали е валидно новото време), а потоа се вршат дополнителни проверки дали судијата, домаќинот и противникот се слободни тој период, ако се тогаш се ажурира почетокот на дуелот.
    8181
    8282[[Image(pr_reschedule_duel.png)]]
    8383
    84 === 9. ...
     84=== 9. Доделување судија на дуел
     85
     86Процедурата `assign_referee_for_duel` овозможува доделување на судија на одреден дуел. Откако се изврши проверка дали дадениот дуел постои, се одбира случаен судија кој е слободен во периодот на дуелот. Доколку дуелот е дел од натпревар се бара судија од федерација која го организира натпреварот. Ако се најде судија се додава нов запис во `refereeing_duel`. Оваа процедура ја отстранува потребата апликацијата да бара и доделува судија за некој натпревар.
     87
     88[[Image(pr_assign_referee_for_duel.png)]]
     89
     90== 10. Додавање спонзорство на тим
     91
     92`add_sponsorship_to_team` е процедура која е задолжена за додавање спонзорства на одреден тим. Се земаат името на тимот и на спонзорот и се проверуваат дали постојат, се проверува дали сумата е позитивна, дали периодот на спонзорство е валиден и се проверува дали тој тим со тој спонзор има активно спонзорство во тој период. Ако поминат сите проверки тогаш се додава ново спонзорство за тој тим.
     93
     94[[Image(pr_add_sponsorship_to_team.png)]]
     95
     96=== 11. Преименување спортски клуб
     97
     98Процедурата `rename_sport_club` има улога да го смени името на одреден спортски клуб и сите негови клубови кои го користат името на клубот. Се извршуваат проверки дали постои клубот, дали е репрезентација (каде не смее да се промени името на национална репрезентација), и се проверува дали постои клуб со новото име во таа држава. Ако сите проверки поминат се ажурира записот во `sport_club` и се ажурираат имињата на сите тимови во тој клуб да го содржат новото име на клубот.
     99
     100[[Image(pr_rename_sport_club.png)]]
     101