Ardweaden / Ethnoguessr-V2

0 stars 0 forks source link

ER diagram in baza #1

Open jaanos opened 6 years ago

jaanos commented 6 years ago

Tvoj diagram ne prikazuje tistega, kar naj bi prikazoval ER diagram - izgleda mi bolj kot kak diagram poteka. Tudi vse entitete, ki jih imaš, niso potrebne - smiselno bi bilo ohraniti naslednje.

Ostale informacije naj bodo v relacijah.

Obe relaciji sta tipa več na več - na ER diagramu torej zanje ne narišeš puščic, v bazi pa bosta predstavljeni kot tabeli z ustreznimi relacijami na tabele entitet. Sicer pa, ko imaš na ER diagramu puščice (tj., omejitev tipa "največ enkrat v relaciji"), se jih vedno riše v smeri proti relaciji.

Tako ne potrebuješ posebej tabel z rezultati, saj jih lahko izpelješ iz ostalih tabel (morda bi pa koristil pogled z rezultati izzivov, ki ga izpelješ iz tabele zadnje relacije tako, da vzameš samo tiste vnose, kjer se število opravljenih krogov ujema s skupnim številom krogov). Posebej to pomeni tudi, da število tabel (in njihova struktura) ni odvisno od podatkov v bazi - tako ne boš potreboval novih tabel za vsak izziv.

jaanos commented 6 years ago

Zdaj izgleda struktura baze v redu. Opozoril bi samo na glavne ključe v tabelah picture_challenge in user_challenge. Glede na to, da se nanju ne sklicuješ, stolpca ID ne potrebuješ. Glavni ključ naj bo pri picture_challenge sestavljen iz CHALLENGEID in ROUND (slednji stolpec ni referenca, tako da bi v ER diagramu tej tabeli ustrezala šibka entiteta), pri user_challenge pa USERID in CHALLENGEID (obe sta referenci, tako da je to relacija v ER diagramu). Na ta način zagotoviš, da se za en krog v izzivu lahko pojavi samo ena slika ter da se lahko pri enem izzivu vsak uporabnik pojavi samo enkrat (lahko pa tudi pustiš stolpca ID, pa na omenjene stolpce daš omejitev UNIQUE).