Autor Zpráva
zooner
Profil
dobrý den, dělám poprvé takový větší projekt a potřeboval bych poradit ohledně rozvržení databáze. Potřebuju mít tabulku uživatelé kde budou přihlašovací údaje, pak dál bude mít každý uživatel vlastní dejme tomu úkoly a ještě navíc předměty. Tabulku úkolů sem udělal podle přihlašovacího jména, ale abych dělal ještě další tabulku třeba jmeno_ukoly se mi zdá zbytečné. Když však dám sloupec předměty do tabulky s úkoly tak pak při výpisu se mi zobrazují nevyplněná pole úkolů. Nevim jestli jsem to vysvětlil pochopitelně, ale potřeboval bych vědět jak navrhnout tu databázi úsporněji.
Alphard
Profil
já bych použil samostatné tabulky, jestli dobře chápu, že každý uživatel může mít libovolný počet úkolů a předmětů, které spolu nesouvisí, je to nejlepší řešení
jsou to tzv. relace 1:N, N:N, třeba zde http://www.linuxsoft.cz/article.php?id_article=854
mimo jiné tam zjistíš, že je výhodnější spojovat podle jedinečného id než jména
peta
Profil
zooner
Mozna by to chtelo vypis SQL souboru. Ale tez bych pouzil samostatne tabulky.
tab uzivatele - id / jmeno / heslo / tel ...
tab ukoly - id / text / user_id

Jak to myslis se jmenem ukolu mi neni jasne. Jestli mas pevne ukoly, pak je mozne pouzit dalsi tabulku. Ale obvykle se ukoly pridavaji.
Zalezi na tom, jak to potrebujes. Mozna je lepsi v tvem pripade pouzit tabulku, ja bych pouzil PHP pole pro jmena ukolu. Pri kazde zmene prepisi v PHP. A pokud nekdo bude chtit zobrazit EN / CZ verzi, staci naincludovat spravnou jazykovou verzi. Do databaze to take jde, ale pak bys tam musel pridat sloupec jazyk, protoze nekomu je treba srozumitelnejsi anglictina / polstina. A kdyz by nenasel, pak by pouzil prvni jazyk, ktery najde. Eventualne bych dal podminky tak, aby nasel vsechny zaznamy s jazykem, ale prvni 3 byli v poradi zvoleny jazyk, CZ a EN.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: