J'ai du mal à définir ce modèle de données que j'ai rencontré en travaillant sur plusieurs applications.
Cela consiste en:
- Un type d'objet composé de nombreux objets lui-même
- Un deuxième type d'objet, où chaque instance «a plusieurs» du premier objet
- Et, chacun des sous-objets du premier objet est modifiable pour chaque association au deuxième type d'objet.
Un exemple simple pourrait être:
- Un cours de programmation composé d'un ensemble de leçons
- Les leçons sont composées d'un ensemble de devoirs.
- Un cours peut être attribué à un étudiant.
- Cependant, une fois qu'un cours est attribué à un étudiant, chaque leçon et / ou devoir peut être personnalisé pour cet étudiant, avec des suppressions et des ajouts, au point où le cours d'origine peut être méconnaissable.
Dans mes solutions, cela se traduit par:
Lors de l'attribution d'un cours à un étudiant, le cours est chargé en mémoire. Ensuite, pour chaque sous-objet, un objet de relation élève / sous-objet est généré avec les métadonnées appropriées. Essentiellement, j'utilise l'objet d'origine comme modèle pour générer les objets personnalisables requis.
Il en résulte une énorme quantité de données à mesure que les sous-objets deviennent plus complexes et numérotés. Je me demande s'il y a une optimisation ou un modèle pour réduire la quantité de logique / complexité requise pour manipuler ce modèle de données.