Est-ce mal de combiner datatables dans une colonne?

Supposons que vous ayez besoin de largeur et de hauteur dans une application d'édition, est-ce mal de les avoir sous la forme d'une string (JSON, disons) dans une seule colonne?

La valeur de la string est la suivante: {width: 100, height: 100}

Ni la largeur ni la hauteur ne sont affichées ou éditées séparément dans l'interface user, ou pour sortinger ou filterr par l'une d'entre elles.

Est-ce que c'est faux, est-ce que je deviens trop fou avec ceci et je devrais juste avoir deux colonnes séparées? Généralement, est-ce une mauvaise pratique?

Oui, c'est une mauvaise pratique. Laissez la database faire ce qu'elle est censée faire, c'est-à-dire stocker des données brutes. La manière dont vous interprétez ou visualisez ces données dépend de votre application / rapport / etc.

Vous pensez que vous n'avez pas besoin de filterr maintenant, mais l'expérience montre que finalement vous voudrez filterr. C'est une mauvaise pratique de toujours stocker plusieurs éléments d'information dans un seul domaine. Cela viole la première forme normale de design de database et constitue la règle la plus simple et la plus élémentaire de la design de database.

Il ne viole pas nécessairement la première forme normale plus que le stockage d'un numéro de rue et le nom de la rue dans le même atsortingbut viole la première forme normale. Les formulaires normaux sont des règles basées sur les règles que vous imposez à vos données. Dr. Codd ne savait rien de vos données quand il a inventé les règles. Si vous 'promettez' de ne jamais split le champ pour une raison quelconque, alors selon votre définition, le champ est atomique et vous pouvez atteindre la première forme normale.

oui c'est faux parce que cela va violer la première forme normale qui est

le domaine de chaque atsortingbut contient uniquement des valeurs atomiques (indivisibles) et la valeur de chaque atsortingbut ne contient qu'une seule valeur de ce domaine.