Zadejte hledaný výraz...

vytvaret tabulku nebo sloupec?

Tom Novy
verified
rating uzivatele
(43 hodnocení)
19. 11. 2010 13:29:27
Zdravim,
resim problem, jelikoz nejsem zbehly ve velkych projektech zajima me Vas nazor.
Dejme tomu, ze mam uzivatele, ktery obsazuje jeden radek v tabulce `uzivatele` a ma jedinecne id. Nyni chci shromazdovat informace o tom, ze dany uzivatel si pridal jine uzivatele do blaclistu, tj. ze si nemohou zobrazit jeho profil, mam na to dve reseni:
1) vytvorit novy sloupec v tabulce uzivatele, ktery bude ve formatu text a nazvu jej block_id, pote do nej budu vpisovat, id uzivatelu, ktere se maji blokovat, treba ve formatu "id1","id2","id3" ...
dotazovat se budu select count(*) as pocet from uzivatele where block_id like "%id_navstevnika%" v pripade nenuloveho vraceni bloknu zobrazeni, v pripade, ze bych chtel uzivatele odebrat pouziji na to nejakou funkci z php najdi a nahrad a znovu ulozim.
2) Vytvorim tabulku, kde bude id_uzivatele, ktery blokaci vytvari a id uzivatele, ktery se ma blokovat, pro kazdy priapd zvlast radek.
Ktere reseni je lepsi?
diky
T.
19. 11. 2010 13:29:27
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585454
qwertr
verified
rating uzivatele
(7 hodnocení)
19. 11. 2010 13:40:10
No ja by som urcite to nepchal do vsetko do jedneho stlpca. A co ked tych ideciek, bude viacej, aky maz rozsah definovany pre stlpec.
Urcite by som volil samostatnu tabulku pre kazdu blokaciu. Zober si ze by si chcel ku kazdej blokacii poznacit napr., od kedy to bolo blokovane. Ako to pridas. Dalej ako zrusis blokaciu. Budes prechadzat cely ten zoznam a vymazavat id-cko blokovaneho namiesto jednoducheho delete prikazu ?
Teraz trosku databazovej teorie. Tabulka by ti nesplnala uz prvu normalovu formu.
Ja by som volil urcite riesenie cislo 2.
19. 11. 2010 13:40:10
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585453
Tom Novy
verified
rating uzivatele
(43 hodnocení)
19. 11. 2010 13:44:34
Ok diky za odpoved, jen k tomu otazku, neni reseni 1 zhlediska vykonu rychlejsi pri prohledavani?
Co se tyka sloupce pokud je jako text tak tam asi tech idecek vleze hodne.
19. 11. 2010 13:44:34
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585452
qwertr
verified
rating uzivatele
(7 hodnocení)
19. 11. 2010 14:04:24
Neviem. Nikdy som ziadnu strukturu tak nenavrhoval. Bal by som sa, ze ak by som v buducnosti chcel pridat k nejeku informaciu k tomu blokovaniu, tak nemam ako. Neviem co si predstavujes pod pojmom vela. Napr. Oracle ma pre texstovy stlpec varchar2 maximalny pocet znakov 2000. Nech tvoje idcko ma dlzku 5 znakov, tak tam vlezie 400. Je to vela, malo. Co ked budem chciet pridat 401 zaznam ?
19. 11. 2010 14:04:24
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585451
Václav Dušek
verified
rating uzivatele
(77 hodnocení)
19. 11. 2010 14:49:46
Řešení č. 1 je "prasárna" a nemá v aplikaci co dělat - přečti si něco o datovém modelu jeho navrhování.
To není o výkonu, ale o čistotě práce programátora
19. 11. 2010 14:49:46
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585450
Miroslav Rosival
verified
rating uzivatele
(5 hodnocení)
19. 11. 2010 14:50:46
Jednoznacne riesenie cislo 2, na 1 zabudni
19. 11. 2010 14:50:46
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585449
hm
verified
rating uzivatele
(20 hodnocení)
19. 11. 2010 16:46:47
precti si prosim o normalnich formach databaze, pak pochopis proc je reseni cislo 1 z hlediska databazi absolutne spatne a rozhodne se k tomuto pouziva reseni cislo 2
19. 11. 2010 16:46:47
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585448
node
verified
rating uzivatele
(5 hodnocení)
19. 11. 2010 20:10:30
Tak osobne by mi nevadilo pouzit riesenie stylom serializovane pole s id blokovanych userov, jedine o co prides je moznost filtracie, co myslim v tomto pripade ani nie je nutne. V kazdom pripade mat samostatnu tabulku user => blokovany user je vhodnejsie pre filtraciu a podobne. Do buducna nevies co budes pridavat a potom to cele prepisovat je len zbytocna praca, takze samostatna tabulka je najuniverzalnejsie riesenie.
19. 11. 2010 20:10:30
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585447
hm
verified
rating uzivatele
(20 hodnocení)
20. 11. 2010 22:14:08
Napsal node;598980
Tak osobne by mi nevadilo pouzit riesenie stylom serializovane pole s id blokovanych userov, jedine o co prides je moznost filtracie, co myslim v tomto pripade ani nie je nutne. V kazdom pripade mat samostatnu tabulku user => blokovany user je vhodnejsie pre filtraciu a podobne. Do buducna nevies co budes pridavat a potom to cele prepisovat je len zbytocna praca, takze samostatna tabulka je najuniverzalnejsie riesenie.
teda nic proti, ale serializovane pole neni v tomto pripade vhodne vubec k nicemu, nevim co tu placas... zamysli se trochu nad tim a bude ti to myslim jasne... (filtrace, tedy prakticky zjisteni je/neni blokovan a jeho pripadne vylouceni z vyberu totiz bude probihat na 100% alespon an jendom miste a jak sam rikas, serializovane pole je k tomuhle na nic - jinak by prece stavba blokace nedavala smysl, kdyby se alespon an jendom miste nezjistovalo zda je nebo nein zablokovany)
20. 11. 2010 22:14:08
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585446
node
verified
rating uzivatele
(5 hodnocení)
21. 11. 2010 11:13:41
AlesiBoss, tak to si dost mimo. Kedze ako Tom pise, ide mu o to, aby ked si A prida B do blacklistu, tak si B nemohol zobrazit profil A. Cize ak si vezmeme dane serializovane pole, tak ked B navstivi profil A, vykona sa query na blacklist A a ak je UID B v tom poli, tak sa stranka nezobrazi, ziadne filtrovanie(sortovanie) sa tu nepouziva.
21. 11. 2010 11:13:41
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585445
Václav Dušek
verified
rating uzivatele
(77 hodnocení)
21. 11. 2010 11:18:29
Napsal node;599325
AlesiBoss, tak to si dost mimo. ...
- myslím, že ne.
Proc to dělat jednoduše přes správně navrženou DB strukturu a SQL dotazy, když si to můžeš zkomplikovat pomocí polí :-(
Chápu tento přístup při normálním programování
21. 11. 2010 11:18:29
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585444
milda
verified
rating uzivatele
(1 hodnocení)
21. 11. 2010 11:49:04
Překvapuje mě, jak moc se to tu řeší...
Já v tom vidím jednoduchý příklad samoreferenčního vztahu M:N (Uživatel má v blacklistu N uživatelů, a sám muže být blokován M uživateli).
Řešením této situace je samozřejmě vazební tabulka s 2 id (uživatel který někoho blokuje a blokovaný uživatel).
Každé jiné řešení je z hlediska správného návrhu databáze špatné, nebo se v něčem pletu?
21. 11. 2010 11:49:04
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585443
hm
verified
rating uzivatele
(20 hodnocení)
21. 11. 2010 12:40:50
Napsal node;599325
AlesiBoss, tak to si dost mimo. Kedze ako Tom pise, ide mu o to, aby ked si A prida B do blacklistu, tak si B nemohol zobrazit profil A. Cize ak si vezmeme dane serializovane pole, tak ked B navstivi profil A, vykona sa query na blacklist A a ak je UID B v tom poli, tak sa stranka nezobrazi, ziadne filtrovanie(sortovanie) sa tu nepouziva.
jasne a jak se do toho pole asi dotazu? pomoci LIKE %% je to absolutne spatne (az nepouzitelne) a dotazovat se tak ze si to vytahnu a zkontroluju to v php je taky uplna hovadina, musis porad premyslet nad spravnym indexovanim a serializovane pole proste v zadnem pripade spravne nezaindexujes tak abys v nem mohl rozumne hledat, sortovat, filtrovat.... prestan tu ze sebe delat vola, kdyz databazim ocividne vubec nerozumis a prestan tu propagovat reseni toho nejhorsiho kalibru... uprimne jestli takhle programujes tak jses proste jen obycejny amater a nemel by ses tedy diskusi o php a sql vubec zucastnovat
---------- Příspěvek doplněn 21.11.2010 v 12:41 ----------
Napsal milda;599342
Každé jiné řešení je z hlediska správného návrhu databáze špatné, nebo se v něčem pletu?
Samozrejme, vubec nevim o co se tu treba node snazi...
21. 11. 2010 12:40:50
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585442
node
verified
rating uzivatele
(5 hodnocení)
21. 11. 2010 13:29:55
chlapec ty si daj facku a chod do kuta, decko.
21. 11. 2010 13:29:55
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585441
hm
verified
rating uzivatele
(20 hodnocení)
21. 11. 2010 13:54:33
Napsal node;599377
chlapec ty si daj facku a chod do kuta, decko.
? promin, ale mylsim ze se s tebou nema cenu dale obtezovat, kazdy kdo vi o cem mluvim (ty asi ne?) mi da za pravdu. Mozna bys mohl zvazit jestli si tu facku nemas dat za tvuj "vykon" spise ty :)
21. 11. 2010 13:54:33
https://webtrh.cz/diskuse/vytvaret-tabulku-nebo-sloupec#reply585440
Pro odpověď se přihlašte.
Přihlásit