Мисля, че трябва да прочетете за Нормализиране на базата данни и решете сами. Накратко обаче, има редица проблеми с вашето предложение, но може да решите, че можете да се примирите с тях.
Най-очевидните са:
- Ами ако към ред(1) се добави допълнителен етикет? Трябва ли първо да анализирате, да проверите дали вече е налице, след което да актуализирате реда, за да бъде
tags.append(newTag)
. - По-лошо ли е да изтриете етикет? Търсете етикети, присъства, пресъздайте етикети.
- Ами ако етикет трябва да промени името - някакъв процес на модериране, може би?
- Отново по-лошо, какво ще кажете за различни хора, които указват име на етикет по различен начин - би било трудно да се рационализира.
- Ами ако искате да направите заявка за данни въз основа на тагове? Вашата заявка става много по-сложна, отколкото би трябвало да бъде.
- Представяне:Клиентът трябва да анализира етикета, за да го използва. Какво ще кажете за разделителното поле? Променете това и всички клиенти трябва да се променят.
Накратко, всички тези операции стават по-трудни и тромави. Нормализирането е предназначено да преодолее подобни проблеми. Вероятно единствената причина да правите това, което казвате, IMO, е, че улавяте данните като еднократни и те са само информационни - тоест, има смисъл за потребителя, но не и за системата сама по себе си. Това е нещо като да се каже, че вероятно е най-добре да се избягва (отново, IMO).