Autor | Zpráva | ||
---|---|---|---|
IdemeNaHavaj Profil |
#1 · Zasláno: 1. 2. 2017, 12:59:19
Ahoj,
chystám si systém na vytváranie kalendárov priamo v prehliadači na webe, používam k tomu MariaDB, php, javascript atď.. Než začnem, chcel by som požiadať o radu ako odporučíte tvar databázy. Do databázy by sa malo uložiť všetko čo sa bude dať nastavovať - vlastná fotka, pozícia, dôležité dátumy, farba zvýraznenia víkendov, sviatkov, atď Prvé čo ma napadlo je vytvoriť jednu tabuľku s názvom trebarz "kalendare" a do nej iba dva stĺpčeky: id | obsah Druhé čo ma napadlo je, urobiť dve rôzne tabulky: kalendare | mesiace No neviem ani to či je múdre.. Poraďte prosím, ako by ste to vyriešili vy takúto databázu? |
||
Tomášeek Profil |
IdemeNaHavaj:
„No neviem ani to či je múdre“ Moc ne. Jednotlivé záznamy ukládej jednotlivě, ne hromadně ve fromátu JSONu. Jakákoliv operace s tím pak bude snadná, zatímco ve tvém případě... buď nemožná, nebo složitá. Tzn. tabulky zhruba takto: - kalendare (id | typ) - dny (id | kalendar_id | datum [date]) - events (id | den_id | event | value) - event např. zvyrazneny/meniny/..., value true/Eliška/... (co událost, akce, event, to jeden vlastní řádek, den jich může mít X) Pokud bude mít každý měsíc vlastní obrázek, tak přibude tabulka měsíc ekvivalentní s tabulkou dny (id | kalendar_id | obrazek), pokud by měl mít měsíc více dat, tak je možno je vložit do tabulky events, kde den_id = mesic_id - nevím, jaká data tam plánuješ. |
||
Radek9 Profil |
#3 · Zasláno: 1. 2. 2017, 13:09:43
IdemeNaHavaj:
S tím JSONem v DB si dávej velký pozor. Jsou případy, kdy je to velice výhodné. Zrovna tenhle případ použití je ale očividně špatně. Správným řešením by bylo pro každou část udělat zvláštní tabulku. V první řadě si nakresli všechny entity, které tam potřebuješ, a mezi nimi relace. Jakmile se ti v tom tvém JSONu nějaké struktury opakují, je lepší to převést na tabulku. |
||
Keeehi Profil |
#4 · Zasláno: 1. 2. 2017, 13:45:10
IdemeNaHavaj:
Ono to záleží, co vlastně chceš s tou konfigurací dělat. Jestli ji potřebuješ jen ukládat a načítat pak id | obsah vlastně není špatný návrh. Pokud bys chtěl třeba zjišťovat, kolik kalendářů má 24.8. označeno jako významný den, pak ano, pak by to nebylo dostatečné. Jelikož to má ale sloužit vlastně jako skladiště konfiguračních souborů, pak to jako špatný návrh nevidím.
|
||
Časová prodleva: 8 let
|
0