IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Riešenie spojenia tagov s článkami

Aktivity
Avatar
Matúš Petrofčík:2.10.2014 12:45

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
2.10.2014 12:45
obsah kocky = r^2 ... a preto vlak drnká
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Matúš Petrofčík
David Hartinger:2.10.2014 12:49

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í
+2,50 Kč
Řešení problému
Nahoru Odpovědět
2.10.2014 12:49
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Matúš Petrofčík:2.10.2014 13:27

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 Hartinger
Vlastník
Avatar
Odpovídá na Matúš Petrofčík
David Hartinger:2.10.2014 14:07

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
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Matúš Petrofčík:2.10.2014 14:18

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.