wiki:RelationalModel

Version 4 (modified by 231147, 11 days ago) ( diff )

--

Релационен модел

ЕР Дијаграм

Дополнителен Опис

  • Релациониот модел е организиран во неколку логички целини: географски и натпреварувачки податоци, фудбалски ентитети и статистики, кориснички профили и активности и модули за бодување, приватни лиги, fantasy и квизови. Оваа поделба овозможува јасно одвојување на основните фудбалски податоци од корисничките интеракции и аналитичкиот дел на системот.
  • Географска и натпреварувачка структура: Табелите REGION и COUNTRY ја моделираат географската хиерархија, при што една држава припаѓа на еден регион. Табелата STADIUM содржи информации за стадионите, како име, град и капацитет. Табелата COMPETITION ги моделира натпреварувањата и е поврзана со држава и регион, додека SEASON овозможува секое натпреварување да се следи по сезони. Преку COMPETITION_TEAM се моделира many-to-many врската помеѓу тимовите и натпреварувањата.
  • Фудбалско јадро: Табелата TEAM ги содржи основните податоци за клубовите и е поврзана со стадион и натпреварување. Табелата PLAYER ги опишува играчите, нивната позиција, националност и тимот за кој настапуваат. Дополнително, COACH овозможува чување податоци за тренерите по тим, додека PLAYER_MARKET_VALUE ја следи пазарната вредност на играчите низ време, што овозможува историска анализа и користење на овие податоци во fantasy модулот.
  • Натпревари и статистики: Централна табела во системот е MATCH, која ги поврзува сезоната, домашниот и гостинскиот тим, стадионот, датумот и конечниот резултат. За секој натпревар се чуваат и дополнителни статусни информации како коло, тековен статус и изминати минути. Табелата MATCH_TEAM_STATS содржи агрегирани статистики на ниво на тим за конкретен натпревар, како посед, шутеви, корнери, прекршоци, додавања и expected goals. Табелата PLAYER_MATCH_STATS содржи индивидуални статистики за секој играч на натпревар, како одиграни минути, голови, асистенции, шутеви, додавања, картони и рејтинг. Табелата MATCH_EVENT овозможува детален запис на настани од натпревар, како голови, картони, измени и асистенции, со минута и дополнителен опис.
  • Корисници и профили: Табелата USERS ги содржи основните податоци за автентикација и регистрација на корисниците. Табелата USER_PROFILE е издвоена за дополнителни кориснички информации, како омилен тим и држава, со што личните податоци се одвоени од автентикациските. Ова решение овозможува пофлексибилно проширување на профилот без промена на основната корисничка табела.
  • Модул за предвидувања и ВАР поени: Табелата PREDICTION ја моделира главната функционалност за предвидување на резултати, каде секој корисник може да внесе предвиден број голови за конкретен натпревар. Во истата табела се чуваат и поените што корисникот ги освоил врз основа на точноста на предвидувањето. Табелата PREDICTION_HISTORY овозможува следење на промени на предвидувањата низ време, што е важно за ревизија и анализа на корисничкото однесување. Табелата VAR_POINTS служи за централизиран систем на поени, каде секој запис содржи извор на поените (source_type, source_id) и број на освоени поени. На овој начин сите активности во системот може да се сведат на единствен механизам за бодување.
  • Приватни лиги и рангирање: Табелата PRIVATE_LEAGUE овозможува корисниците да креираат сопствени приватни лиги, при што секоја лига има сопственик (owner_id). Преку LEAGUE_MEMBERS се моделира членството на корисниците во лигите, а LEAGUE_RANKINGS го чува рангирањето и вкупните поени на членовите во рамки на конкретна приватна лига. Со ова е поддржан натпреварувачки аспект помеѓу групи корисници.
  • Fantasy модул: Табелата FANTASY_TEAMS овозможува секој корисник да креира fantasy тим, при што се чуваат формацијата, буџетот и членот на кој му припаѓа тимот. Преку FANTASY_TEAM_PLAYERS се моделира составот на тимот како many-to-many врска помеѓу fantasy тим и играч. Овој пристап овозможува флексибилно дефинирање на составот и лесна проверка на ограничувања како буџет и број на играчи.
  • Квиз модул: Табелата QUIZ_CATEGORIES ги организира прашањата по категории. Табелата QUIZ_QUESTIONS ги содржи текстот на прашањето, точниот одговор и категоријата. Табелата QUIZ_SESSIONS го моделира секое играње квиз од страна на корисник, со освоен резултат и датум на играње. Табелата QUIZ_ANSWERS ги содржи конкретните одговори на прашањата во рамки на една квиз сесија, како и информација дали одговорот бил точен. На овој начин е овозможено детално следење на перформансите на корисниците во квизовите.

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.