J'ai essayé de concevoir une base de données qui corresponde à un concept de projet et je me suis heurté à ce qui semble être une question très controversée. J'ai lu quelques articles et des réponses à Stack Overflow affirmant qu'il n'est jamais (ou presque jamais) de stocker une liste d'identifiants ou similaire dans un champ - toutes les données doivent être relationnelles, etc.
Le problème que je rencontre, cependant, est que j'essaie de faire un assignateur de tâches. Les gens vont créer des tâches, les attribuer à plusieurs personnes et les enregistrer dans la base de données.
Bien sûr, si je sauvegarde ces tâches individuellement dans "Personne", je devrai disposer de dizaines de colonnes "TaskID" factices et les gérer, car il peut y avoir 0 à 100 tâches attribuées à une personne, par exemple.
Là encore, si je sauvegarde les tâches dans un tableau "Tâches", il me faudra des douzaines de colonnes "PersonID" factices et les gérer, le même problème que précédemment.
Pour un problème comme celui-ci, est-il acceptable de sauvegarder une liste d'identifiants prenant une forme ou une autre ou ne pense-t-on pas d'une autre manière que cela est réalisable sans enfreindre les principes?
VARCHAR ARRAY
) pour stocker une liste de balises. Ce n'est probablement pas la façon dont ils finiront par être stockés plus tard sur la ligne, mais les listes peuvent être extrêmement utiles pendant les étapes de prototypage, quand vous n'avez rien d'autre à signaler et que vous ne voulez pas construire le schéma de base de données complet avant de pouvoir le faire. faire autre chose.