Autor Zpráva
Arynev
Profil *
Ahoj,

mám tabulku komentáře, a komentáře mohou být přidávané k více druhům obsahu. Například článek, stránka atd...(každý druh obsahu má svou vlastní tabulku) Vyřešil jsem to sloupcem enum, do kterého nastavuju typ obsahu, ale nastává problém při vypsání nejnovějších komentářů a k nim odkazu na obsah. Při vybrání a následném procházení jednotlivých dotazů bych musel kontrolovat podmínky a ke každému jednotlivému komentáři přidat minimálně jeden dotaz. Lze to vyřešit nějak úsporněji? Nebráním se jinému návrhu databáze.

Díky za odpovědi
Mastodont
Profil
Já bych zavedl globální jedinečný ID pro všechny typy obsahu a ke komentářům bych ukládal tento ID.
Arynev
Profil *
Nepřinese to více problémů než užitku? Například při přidání nového záznamu by bylo potřeba kontrolovat poslední ID.
Mastodont
Profil
Při přidání nového záznamu (článku, stránky) bys nejdříve vložil nový záznam do extra tabulky s jediným sloupcem auto increment a přes insert_id získáš nový ID, který použiješ jako id článku a id pro komentáře.
Kajman_
Profil *
Arynev:

K posledním komentářům potřebuje např. nadpis článku nebo tak něco?

Asi bych to řešil uloženou funkcí, která se použije přímo v dotaze. Také by se dalo vytvořit view, kde bude něco jako enum, idvramcienum, nadpis, url a s tím pak poslední komentáře spojovat (ale to bude asi citelně pomalejší).
Arynev
Profil *
Díky za odpovědi. Jak nad tim přemýšlím, nudu s daty stejně muset pracovat, takže bych se dotazu nevyhnul.
Kajman_
Profil *
Když bude ve výpise třeba dvacet posledních komentářů, tak stačí pro získání doplňujících informací udělat jen tolik dotazů, kolik je různých enum.
Arynev
Profil *
Ano, to mě nenapadlo. Díky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: