wiki:DatabaseProgramming

Version 2 (modified by 231267, 5 days ago) ( diff )

--

Програмирање база на податоци

Членови на тим:

  • Aлександар Тодороски 231153
  • Антонио Трајковски 231156
  • Вељко Аџиќ 231267

Тригери

1. trg_check_contract

Овој тригер се извршува пред додавање или ажурирање на ред во sportsperson_contract. Доколку клубот на новиот договор е национална репрезентација и спортистот не е од таа држава фрла грешка. Исто така, осигурува дека спортистот има најмногу еден договор за национална репрезентација и најмногу еден активен договор за стандарден клуб.

2. trg_check_team_roster

Овој тригер врши проверка на team_roster пред секое додавање или ажурирање. Се проверува дека бројот на играчи во не го надминува капацитетот, ново додадениот играчот да има активен договор за целосното траење на дуел и да не е во друга екипа за тој дуел.

3. trg_check_team_sport_and_rep

Тригерот врши валидација пред додавање или ажурирање на ред во duel. Се проверува дали клубовите на тимовите постојат, се осигурува дуелот да е против две национални репрезентации или два обични тима. Дополнително проверува за секој тим дали нивната федерација е активна до датумот на дуелот, и проверува дали тимовите игра соодветна спортска категорија за тој дуел.

Функции

Освен функциите за тригери, единствена друга функција во ова база е valid_date_range. Таа се користи да провери дали внесен опсег на датуми е валиден.

Процедури

1. Регистрација на спортист

Ова процедура ни овозможува да се регистрира нов спортист. Ги валидира внесените податоци и креира и креира нови записи во person и sportsperson. Ова процедура ја отстранува потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството sportsperson од person.

2. Регистрација на тренер

Процедура register_coach ни овозможува да се регистрира нов тренер каде извршува валидација на влезните податоци и го одржува наследството на coach од person. Целта на процедурата е да ја отстранува потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството.

3. Регистрација на судија

Со ова процедура може да се регистрира нов судија каде се валидираат влезните податоци и се одржува наследството на referee од person. Процедурата има цел да е да ја отстрани потребата за проверка и валидација на влезни податоци од апликацијата и за одржување на наследството.

4. Додавање нов договор

add_contract е процедура која се користи за додавање или обновување на договор на играч. Прво се проверува дали постои играч, дали се валидни почетен и краен датум, дали е валидна сумата, и доколку се помине оди на додавање договор. Ако играчот има активен договор со неопределен рок, или договор што завршил, се проверува валидноста на клубот и дополнително почетниот датум да е по завршниот датум на стариот договор, се затвара стариот договори се додава нов. Ако играчот нема предходен договор се прескокнуваат овие проверки и само се додава новиот договор во системот.

5. Позајмување играч

Процедурата borrow_player овозмоќува позајмување на играчи од еден клуб во друг. Тука како основни проверки имаме дали времето е соодветно, дали играшот постои, дали клубовите потојат. Потоа се проверува дали играчот има договор со клубот и дополнително дали е валиден периодот за позајмување.Ако поминат сите проверки, ќе се заврши стариот договор, ќе се креира нов договор со позајмувачкиот клуб, и ќе се креира нов договор со стариот клуб кој почнува од датумот на завршување на позајмувањето до стариот завршен датум.

6. Старт на нова сезона

...

Attachments (25)

Note: See TracWiki for help on using the wiki.