Changes between Version 5 and Version 6 of RelationalModel
- Timestamp:
- 04/22/26 00:11:03 (11 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
RelationalModel
v5 v6 7 7 == Дополнителен Опис 8 8 9 - Релациониот модел е организиран во неколку логички целини: '''географски и натпреварувачки податоци''', ''' фудбалски ентитети и статистики''', '''кориснички профили и активности''' и '''модули за бодување, приватни лиги, fantasy и квизови'''. Оваа поделба овозможува јасно одвојување на основните фудбалски податоци од корисничките интеракции и аналитичкиот делна системот.9 - Релациониот модел е организиран во неколку логички целини: '''географски и натпреварувачки податоци''', '''основни фудбалски ентитети''', '''натпревари и статистики''' и '''кориснички активности и рангирање'''. Оваа поделба овозможува јасно одвојување на податоците и полесно одржување и проширување на системот. 10 10 11 - '''Географск а и натпреварувачка структура:''' Табелите `REGION` и `COUNTRY` ја моделираат географската хиерархија, при што една држава припаѓа на еден регион. Табелата `STADIUM` содржи информации за стадионите, како име, град и капацитет. Табелата `COMPETITION` ги моделира натпреварувањата и е поврзана со држава и регион, додека `SEASON` овозможува секое натпреварување да се следи по сезони. Преку `COMPETITION_TEAM` се моделира many-to-manyврската помеѓу тимовите и натпреварувањата.11 - '''Географски и натпреварувачки податоци:''' Табелите `REGION` и `COUNTRY` ја моделираат географската хиерархија. Табелата `STADIUM` ги содржи стадионите. `COMPETITION` и `SEASON` ги дефинираат натпреварувањата, додека `COMPETITION_TEAM` ја моделира врската помеѓу тимовите и натпреварувањата. 12 12 13 - ''' Фудбалско јадро:''' Табелата `TEAM` ги содржи основните податоци за клубовите и е поврзана со стадион и натпреварување. Табелата `PLAYER` ги опишува играчите, нивната позиција, националност и тимот за кој настапуваат. Дополнително, `COACH` овозможува чување податоци за тренерите по тим, додека `PLAYER_MARKET_VALUE` ја следи пазарната вредност на играчите низ време, што овозможува историска анализа и користење на овие податоци во fantasy модулот.13 - '''Основни фудбалски ентитети:''' Табелите `TEAM`, `PLAYER` и `COACH` ги претставуваат клубовите, играчите и тренерите. Табелата `PLAYER_MARKET_VALUE` овозможува следење на вредноста на играчите низ време. 14 14 15 - '''Натпревари и статистики:''' Централна табела во системот е `MATCH`, која ги поврзува сезоната, домашниот и гостинскиот тим, стадионот, датумот и конечниот резултат. За секој натпревар се чуваат и дополнителни статусни информации како коло, тековен статус и изминати минути. Табелата `MATCH_TEAM_STATS` содржи агрегирани статистики на ниво на тим за конкретен натпревар, како посед, шутеви, корнери, прекршоци, додавања и expected goals. Табелата `PLAYER_MATCH_STATS` содржи индивидуални статистики за секој играч на натпревар, како одиграни минути, голови, асистенции, шутеви, додавања, картони и рејтинг. Табелата `MATCH_EVENT` овозможува детален запис на настани од натпревар, како голови, картони, измени и асистенции, со минута и дополнителен опис.15 - '''Натпревари и статистики:''' Табелата `MATCH` ги поврзува тимовите, сезоната и резултатите. `MATCH_TEAM_STATS` содржи тимски статистики, `PLAYER_MATCH_STATS` индивидуални статистики, а `MATCH_EVENT` ги евидентира настаните од натпреварите. 16 16 17 - '''Корисници и пр офили:''' Табелата `USERS` ги содржи основните податоци за автентикација и регистрација на корисниците. Табелата `USER_PROFILE` е издвоена за дополнителни кориснички информации, како омилен тим и држава, со што личните податоци се одвоени од автентикациските. Ова решение овозможува пофлексибилно проширување на профилот без промена на основната корисничка табела.17 - '''Корисници и предвидувања:''' Табелите `USERS` и `USER_PROFILE` ги моделираат корисниците. `PREDICTION` ги чува предвидувањата, а `PREDICTION_HISTORY` овозможува следење на нивните промени. Табелата `VAR_POINTS` служи како централен систем за бодување. 18 18 19 - ''' Модул за предвидувања и ВАР поени:''' Табелата `PREDICTION` ја моделира главната функционалност за предвидување на резултати, каде секој корисник може да внесе предвиден број голови за конкретен натпревар. Во истата табела се чуваат и поените што корисникот ги освоил врз основа на точноста на предвидувањето. Табелата `PREDICTION_HISTORY` овозможува следење на промени на предвидувањата низ време, што е важно за ревизија и анализа на корисничкото однесување. Табелата `VAR_POINTS` служи за централизиран систем на поени, каде секој запис содржи извор на поените (`source_type`, `source_id`) и број на освоени поени. На овој начин сите активности во системот може да се сведат на единствен механизам за бодување.19 - '''Приватни лиги и рангирање:''' Табелите `PRIVATE_LEAGUE`, `LEAGUE_MEMBERS` и `LEAGUE_RANKINGS` овозможуваат креирање лиги и рангирање на корисниците. 20 20 21 - ''' Приватни лиги и рангирање:''' Табелата `PRIVATE_LEAGUE` овозможува корисниците да креираат сопствени приватни лиги, при што секоја лига има сопственик (`owner_id`). Преку `LEAGUE_MEMBERS` се моделира членството на корисниците во лигите, а `LEAGUE_RANKINGS` го чува рангирањето и вкупните поени на членовите во рамки на конкретна приватна лига. Со ова е поддржан натпреварувачки аспект помеѓу групи корисници.21 - '''Fantasy тимови:''' Табелите `FANTASY_TEAMS` и `FANTASY_TEAM_PLAYERS` овозможуваат корисниците да креираат и управуваат со сопствени тимови, при што се користи many-to-many врска помеѓу тимовите и играчите. 22 22 23 - ''' Fantasy модул:''' Табелата `FANTASY_TEAMS` овозможува секој корисник да креира fantasy тим, при што се чуваат формацијата, буџетот и членот на кој му припаѓа тимот. Преку `FANTASY_TEAM_PLAYERS` се моделира составот на тимот како many-to-many врска помеѓу fantasy тим и играч. Овој пристап овозможува флексибилно дефинирање на составот и лесна проверка на ограничувања како буџет и број на играчи.23 - '''Квиз систем:''' Табелите `QUIZ_CATEGORIES`, `QUIZ_QUESTIONS`, `QUIZ_SESSIONS` и `QUIZ_ANSWERS` го моделираат квиз системот, овозможувајќи следење на прашања, одговори и резултати по корисник. 24 24 25 - '''Квиз модул:''' Табелата `QUIZ_CATEGORIES` ги организира прашањата по категории. Табелата `QUIZ_QUESTIONS` ги содржи текстот на прашањето, точниот одговор и категоријата. Табелата `QUIZ_SESSIONS` го моделира секое играње квиз од страна на корисник, со освоен резултат и датум на играње. Табелата `QUIZ_ANSWERS` ги содржи конкретните одговори на прашањата во рамки на една квиз сесија, како и информација дали одговорот бил точен. На овој начин е овозможено детално следење на перформансите на корисниците во квизовите. 26 27 28 25 - Моделот е нормализиран и користи посебни табели за решавање на many-to-many врски, со што се избегнува редунданција и се обезбедува интегритет на податоците. Структурата е прилагодена за работа со големи количини податоци и идно проширување.
