Myslím, že byste si měli přečíst o normalizaci databáze a rozhodni se sám. Stručně řečeno, váš návrh má řadu problémů, ale můžete se rozhodnout, že s nimi můžete žít.
Nejviditelnější jsou:
- Co když je do řádku (1) přidána další značka? Musíte nejprve analyzovat, zkontrolovat, zda již existuje, a poté aktualizovat řádek na
tags.append(newTag)
. - Je stále horší smazat značku? Hledat značky, je přítomno, znovu vytvořte značky.
- Co když má značka změnit název – možná nějaký proces moderování?
- A co je ještě horší, různí lidé specifikují název tagu jinak – bylo by těžké to racionalizovat.
- Co když chcete dotazovat data na základě značek? Váš dotaz bude mnohem složitější, než by bylo potřeba.
- Prezentace:Klient musí značku analyzovat, aby ji mohl použít. A co oddělovací pole? Změňte to a všichni klienti se musí změnit.
Stručně řečeno, všechny tyto operace se stávají obtížnějšími a těžkopádnějšími. Normalizace je navržena tak, aby tyto problémy překonala. Pravděpodobně jediný důvod, proč děláte to, co říkáte, IMO, je ten, že data zachycujete jednorázově a jsou pouze informativní – to znamená, že to dává smysl uživateli, ale ne samotnému systému. To je něco jako říkat, že je pravděpodobně nejlepší se tomu vyhnout (opět IMO).