Changes between Version 3 and Version 4 of DatabaseCreation


Ignore:
Timestamp:
06/15/26 08:27:36 (5 days ago)
Author:
231267
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseCreation

    v3 v4  
    155155[[Image(season_sport_team.png)]]
    156156
    157 ==
     157== Дуел
     158
     159Оваа табела е дефинирана се ограничување кое проверува дали домаќинот и противникот се различни, и надворешни клучеви кои референцираат кон натпревар (ако е `NULL` тогаш се подразбира дека е пријателска утакмица), клучевите `home_team_id` и `away_team_id` кои референцираат кон спортски тим, надворешен клуч кој референцира кон локација, и клуч кој референцира кон спортска категорија. Вредностите на `home_team_score` и `away_team_score` се `NULL` доколку дуелот е закажан за во иднина.
     160
     161Со кверито се генерираат податоци за дуели помеѓу национални репрезентации од иста спортска категорија. За секој дуел случајно се избира локација, се генерира случаен датум во минатото или иднината за најмногу 5 години. За веќе одиграните натпревари се доделуваат случајни резултати според правилата дефинирани во `score_logic` за соодветниот спорт. На овој начин се добиваат реалистични податоци со различни датуми, локации и резултати за повеќе спортови.
     162
     163
     164[[Image(duel.png)]]
     165
     166Дополнително го имаме и ова квери за генерирање на на дуели на нерепрезентациски натпревари. Работи на сличен принцип на претходното, но ова квери извршува дополнителни проверки.
     167
     168Двете кверија генерираат вкупно 16.069.000 дуели.
     169
     170[[Image(duel_2.png)]]
     171
     172
     173== Човек
     174
     175Табелата `PERSON` е дефинирана со ограничување датумот на раѓање да е подоцна од 01.01.1900 и полот да има вредност `M` или `F`. Дополнително има дефинирано надворешен клуч кој референцира кон табелата за држава.
     176
     177Генерирање на редици за оваа табела се врши во две кверија, едното генерира машки, дугото женски. Генерирањето користи привремени табели `temp_male_names`, `temp_female_names` и `temp_surnames` кои се генерирани од готово множество од имиња и презимиња. Во двете си избира случајен датум на раѓање, случајно име и презиме и случајна држава на раѓање, потоа се генерира ЕМБГ според генерираниот датум на раѓање.
     178
     179Од ова се генерирани 13.206.598 редици.
     180
     181[[Image(person.png)]]
     182
     183== Судија
     184
     185Табелата `REFEREE` наследува од `PERSON` па затоа примарниот клуч е исто така надворешен клуч кој референцира кон човек и е поставено каскадно да се брише. Исто така има и надворешни клучеви кои референцираат кон федерација и спортска категорија соодветно.
     186
     187Пред да се генерираат судии, се креира привремена табела `tmp_people` која ѓи содржи сите луѓе подредени на случаен начин. Со помош на оваа табела за секоја федерација се спојуваат 100 редици од привремената табела. Со ова се генерираат 5.594.200 судии.
     188
     189[[Image(referee.png)]]
     190
     191== Тренер
     192
     193Табелата `COACH`, исто како `REFEREE`, наследува од `PERSON` и затоа примарниот клуч е надворешниот клуч кој референцира кон човек е каскадно се брише. Исто има и надворешни клучеви кои референцираат кон федерација и спортска категорија.
     194
     195За генерирање податоци за оваа табел прво се креира нова привремена табела `tmp_people_no_referee` која ги содржи останатите вредности кои не се искористени во генерирање на судии. На сличен принцип како судии, се генерираат вреднстите и за тренер така за секој тим случајно се спојува федерација и се одбираат две случајни луѓе. За оваа табела се генерирани 552.125 редици.
     196
     197[[Image(coach.png)]]
     198
     199== Спортист
     200
     201`SPORTSPERSON` е дефинирана со надворешен клуч кој референцира човек и е поставено каскадно да се брише (бидејќи наследува од таа табела), и клуч кој референцира спортска категорија.
     202
     203Пред генерирање на податоци се креира привремена табела `tmp_sportspersons_pool` која ги содржи сите останатите луѓе што не биле доделени како сидуја или тренер. Според тимовите се доделуваат случајно спортски категории на спортистот. Вака се генерираат 2.180.588 спортисти.
     204
     205[[Image(sportsperson.png)]]
     206
     207== ...