Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Matúš Petrofčík:

Zdravím, zaujímalo by ma ako správne riešiť spojenie tagov s článkami (alebo lajky na články...), nakoľko každý článok môže mať viacero tagov, a tagy budú určite pribúdať.
Robiť to spôsobom, že v tabuľke článkov budú pribúdať nové atribúty pre každý tag (ako boolean), mi príde úplne hlúpe. Napadlo ma to robiť cez tzv. spojovaciu tabuľku, ktorá by v sebe držala cudzie kľúče ako ID článkov a k nim ID tagov pre článok, a tak by mohli mať články viacero tagov a zároveň tagy viacero článkov, na ktoré ukazujú.
Príklad:

  • články (id, titulka, obsah...)
  • tagy (id, nazov)
  • spojovacia_tabulka (id, id_clanok, id_tag)

A v tej spojovacej by boli hodnoty ako:

  • (1, 1, 1) - clanok 1 má tag 1
  • (2, 1, 2) - clanok 1 má aj tag 2
  • (3, 2, 1) - clanok 2 má tag 1
  • (4, 3, 7) - clanok 3 má tag 7
  • (n, x, y) ...

A tak by sa mohli lahšie pridať nové tagy, poprípade vymazať, a zároveň by sa nemenila štruktúra tabuliek.

Dobre som to vymyslel? Alebo sa to robí nejako ináč? Akú sú riešené 1++/-- tu na ITnetwork? Ďakujem.

Editováno 2.10.2014 12:46
Odpovědět  +1 2.10.2014 12:45
obsah kocky = r^2 ... a preto vlak drnká
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Matúš Petrofčík
David Čápka:

Vazební tabulka mi na tagy přijde OK, přes ty booleany by se IMHO docela špatně indexovalo. + a - jsou tu řešené tabulkou, kde se ukládá kdo pro co a jak hlasoval (aby nemohl vícekrát nebo aby hodnocení šlo stornovat). Hodnoty se také přičítají i přímo ke sloupci v příspěvku, protože volat pořád count by nebylo úplně optimální :)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +2 2.10.2014 12:49
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na David Čápka
Matúš Petrofčík:

No jasne, u tých 1++ je to lepšie v samostatnej tabulke ako cez spojovaciu tabulku :) Ďakujem

Editováno 2.10.2014 13:29
Nahoru Odpovědět 2.10.2014 13:27
obsah kocky = r^2 ... a preto vlak drnká
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Matúš Petrofčík
David Čápka:

Ona to je v podstatě spojovací tabulka mezi uživatelem a příspěvkem, který ohodnotil :)

Nahoru Odpovědět 2.10.2014 14:07
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na David Čápka
Matúš Petrofčík:

Joj ja už som celý popletený :D :D

Nahoru Odpovědět 2.10.2014 14:18
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 5 zpráv z 5.