NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Jak navrhnout strukturu pro docházkový systém

V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Ondřej Pech
Člen
Avatar
Ondřej Pech:16.2.2017 17:09

Ahoj, řeším, jak navhnout tabulku (jak zaznamenat situaci) v docházkovém systému napadli mě 2 řešení a zajímalo by mě, které je efektivnější nebo případně jestli vás napadá něco dalšího.

  1. tabulka pro danou aktivitu (např. nějaký kroužek) která by obsahovala jako sloupce ID účastníků a přidávali by se do ni řádky jednotlivých schůzek + 1/0 pro jednotlivé IDčka účastníků
  2. jednu tabulku kde budou záznamy ve smyslu:

idÚčastníka, idKroužku, idSchůzky(nebo datum) a sloupce který by určoval jestli účastník byl přítomen nebo ne

  • u druhé varianty váhám, jestli nevytvářet jen záznamy pro ty účastníky kteří se zúčastnili?

Nevýhoda prvního řešení je podle mně potřeba více tabulek pro více kroužků (aktivit), v případě přidání nového účastníka nutnost přidat sloupec.

  • nevýhoda 2 řešení je více dat ( + pokud bych ukládal jen zúčastněné tak by byl složitější výpis všech účastníků a k nim jestli byli nebo ne)

    Díky za tipy.

 
Odpovědět
16.2.2017 17:09
Avatar
Lu Kiss
Člen
Avatar
Odpovídá na Ondřej Pech
Lu Kiss:16.2.2017 17:22

Určitě druhá možnost. Udělat Tabulku účastníků, kroužků a poté vazební tabulku, kde budou cizí klíče jako odkaz na tyto tabulky, primární klíč zde být nemusí.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
16.2.2017 17:22
Avatar
Odpovídá na Ondřej Pech
Matúš Petrofčík:16.2.2017 18:34

Ak som to dobre pochopil tak potrebuješ 1 tabuľku pre krúžky, 1 tabuľku pre jednotlivé stretnutia, 1 tabuľku všetkých účastníkov, a 1 väzobnú tabuľku stretnutí a účastníkov (dochádzka).
Teda 4 tabuľky: kruzky, terminy, ucastnici a terminy_ucastnici


Tabušky by mohli vyzerať takto nejako:

kruzky - id, title, description, ...
terminy - id, kruzok_id, datetime, ...
ucastnici - id, first_name, last_name, email, ...
terminy_ucastnici - id, termin_id, ucastnik_id, zucastneny (bool), ...

Kurzívou sú cudzie kľúče na iné tabuľky. Tak sa urobia väzby.


Tak ako písal Lu Kiss, vo vazobnej tabuľke nemusíš mať ID. Môžeš si tam pridať boolean hodnotu zucastneny, kedy do tabuľky pridáš všetkých prihlásených účastníkov, a tí čo naozaj došli budú mať v danej hodnote true :) A to máš celkom fajn dochádzku.

Nahoru Odpovědět
16.2.2017 18:34
obsah kocky = r^2 ... a preto vlak drnká
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.