Acho que você deveria ler sobre normalização de banco de dados e decidir por si mesmo. Em suma, há uma série de problemas com sua proposta, mas você pode decidir que pode viver com eles.
Os mais óbvios são:
- E se uma tag adicional for adicionada à linha(1)? Você precisa primeiro analisar, verificar se já está presente e atualizar a linha para
tags.append(newTag)
. - Pior ainda excluir uma tag? Tags de pesquisa, está presente, recrie tags.
- E se uma tag mudar de nome - algum processo de moderação, talvez?
- Pior de novo, e quanto a diferentes pessoas especificando um nome de tag de maneira diferente - seria difícil racionalizar.
- E se você quiser consultar dados com base em tags? Sua consulta se torna muito mais complexa do que precisaria ser.
- Apresentação:o cliente precisa analisar a tag para usá-la. E o campo separador? Mude isso e todos os clientes terão que mudar.
Em suma, todas essas operações se tornam mais difíceis e incômodas. A normalização é projetada para superar esses problemas. Provavelmente, a única razão para fazer o que você diz, IMO, é que você está capturando os dados como um único e é apenas informativo - ou seja, faz sentido para um usuário, mas não para um sistema em si. Isso é como dizer que provavelmente é melhor evitar (novamente, IMO).