Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Návrh databáze…

Jan Pacek
verified
rating uzivatele
(4 hodnocení)
17. 11. 2007 14:36:26
Dělám na jednom projektu a potřeboval bych poradit s návrhem databáze. V rámci zachování výrobního tajemství (nápadu), uvedu obecný příklad: 2 tabulky - Uživatelé a Záznamy, webová aplikace by měla umožnit uživatelům hlasovat pro jednotlivé záznamy a u každého vypisovat seznam uživatelů, kteří pro něj hlasovali. Podobně jako zde, viz. seznam uživatelů, kteří "Linkovali". Jak navrhnout databázi tak, aby šli konkrétní uživatelé od každého Záznamu mazat a zase přidávat. Nějaké elegantní a rychlé řešení? Díky.
btw.: nejedná se o další linkovací portál ani nic podobného, prosím zdržte se OT
17. 11. 2007 14:36:26
https://webtrh.cz/diskuse/navrh-databaze/#reply28066
toshi
verified
rating uzivatele
(4 hodnocení)
17. 11. 2007 15:59:34
pridas jeste tabulku hlasovani, jenom s polozkama
(id)
uzivatel_id
zaznam_id
chápu to správně ?
17. 11. 2007 15:59:34
https://webtrh.cz/diskuse/navrh-databaze/#reply28065
Strzibny
verified
rating uzivatele
(25 hodnocení)
17. 11. 2007 16:03:31
Napsal Pacek;20320
Dělám na jednom projektu a potřeboval bych poradit s návrhem databáze. V rámci zachování výrobního tajemství (nápadu), uvedu obecný příklad: 2 tabulky - Uživatelé a Záznamy, webová aplikace by měla umožnit uživatelům hlasovat pro jednotlivé záznamy a u každého vypisovat seznam uživatelů, kteří pro něj hlasovali. Podobně jako zde, viz. seznam uživatelů, kteří "Linkovali". Jak navrhnout databázi tak, aby šli konkrétní uživatelé od každého Záznamu mazat a zase přidávat. Nějaké elegantní a rychlé řešení? Díky.
btw.: nejedná se o další linkovací portál ani nic podobného, prosím zdržte se OT
Já osobně bych ty uživatele všechny přidával do nějakého sloupce, třeba hlasy. Select bude rychlý - výpis uživatelů bude vlastně rozdělení řetězce nějakým znakem (například mezerou). Obsah řádku ve sloupci hlasy tedy bude vypadat třeba "zdenek jirka pavel".
Tabulka Záznamy pak bude mít dva sloupce - událost (záznam) a hlasy, při selectu vybereš obě a nic dalšího nepotřebuješ dělat - jednoduché a rychlé.
No a přidávat a zamaz uživatele půjde jednoduše - jde o práci s jednoduchým řetězcem - přidání uživatele - zápis na konec řetězce, smazání uživatele - smazání pořetězce uživatele, přičemž jeho jméno obklopují mezery...
17. 11. 2007 16:03:31
https://webtrh.cz/diskuse/navrh-databaze/#reply28064
toshi
verified
rating uzivatele
(4 hodnocení)
17. 11. 2007 16:44:29
hh, jo takhle to dělají začátečníci, kteří nezvládají složitější sql dotazy. Vtipné pak bude když při výpisu co všechno uživatel linkoval bude databáze fultextem prohledávat všechny záznamy a nedejbože bys chtěl umožnit uživatelům měnit přezdívku...a na indexy můžeš rovnou zapomenout.
17. 11. 2007 16:44:29
https://webtrh.cz/diskuse/navrh-databaze/#reply28063
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
17. 11. 2007 16:51:03
Napsal toshi;20326
hh, jo takhle to dělají začátečníci, kteří nezvládají složitější sql dotazy. Vtipné pak bude když při výpisu co všechno uživatel linkoval bude databáze fultextem prohledávat všechny záznamy a nedejbože bys chtěl umožnit uživatelům měnit přezdívku...a na indexy můžeš rovnou zapomenout.
Mezerou by asi odděloval jejich ID. Ono to není až tak špatné řešení, pokud by to byl spíš kešovací řádek hodnot, protože by počet čtení vysoce převažoval počet zápisů
17. 11. 2007 16:51:03
https://webtrh.cz/diskuse/navrh-databaze/#reply28062
Ivan L.
verified
rating uzivatele
17. 11. 2007 18:48:41
Prosím vás zapomeňte na ta řešení se sloupcem hlasování a nějakejma mezerama :rolleyes: Jediné správné řešení je další tabulka jak psal toshi
17. 11. 2007 18:48:41
https://webtrh.cz/diskuse/navrh-databaze/#reply28061
truhla
verified
rating uzivatele
18. 11. 2007 00:21:12
Toshi správně, ostatním doporučuji nastudovat pojem "první normální forma".
18. 11. 2007 00:21:12
https://webtrh.cz/diskuse/navrh-databaze/#reply28060
Jan Pacek
verified
rating uzivatele
(4 hodnocení)
18. 11. 2007 01:02:26
Díky za názory, využiju toshiho variantu.
18. 11. 2007 01:02:26
https://webtrh.cz/diskuse/navrh-databaze/#reply28059
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
18. 11. 2007 12:03:59
A v případě, že bude poměr čtení zápis 1000:1? Opravdu je efektivnější při každém čtení složit z tabulky řádek? Pokud by se tento řádek sestavoval nějak inteligentně a fungoval pouze jako cache, tak by to asi nebylo úplně marné
18. 11. 2007 12:03:59
https://webtrh.cz/diskuse/navrh-databaze/#reply28058
Cachování řeš na jiné úrovni než ve struktuře DB.
18. 11. 2007 12:34:50
https://webtrh.cz/diskuse/navrh-databaze/#reply28057
duben
verified
rating uzivatele
(50 hodnocení)
21. 11. 2007 10:30:57
Napsal Souki;20401
A v případě, že bude poměr čtení zápis 1000:1? Opravdu je efektivnější při každém čtení složit z tabulky řádek? Pokud by se tento řádek sestavoval nějak inteligentně a fungoval pouze jako cache, tak by to asi nebylo úplně marné
Na čtení a hledání v textu při velkém množství záznamů rovnou zapomeň. Toshiho řešení je jediná správná volba. I kdyby byl poměr 1000000:1 tak bude propojení tabulek přes 1:N rychlejší než procházení textu a to v několika řádech. Stačí správné rozložení indexů. Doporučuju nastudovat základy relačních databází.
21. 11. 2007 10:30:57
https://webtrh.cz/diskuse/navrh-databaze/#reply28056
Pro odpověď se přihlašte.
Přihlásit