Bonjour à tous,
Au plus j’avance dans la création de mon app, au plus ma db Realm se complexifie. Surtout les différentes relations entre les objets apparaissant.
Du coup j’aurais voulu savoir comment vous gérer les relations.
Si Realm gère facilement les relations de relation entre 2 objets via un LinkedObjects cela devient plus « difficile » quand les relations peuvent être multiples.
Du coup comment faites-vous ? Est-ce que vous doublez les relations pour avoir deux listes ou alors vous faites une liste dans un des objets et allez voir si l’autre si trouve via une fonction ?
J’ai tenté les deux approches, cela fonctionne sans soucis mais je ne sais pas trop ce qui est le plus consommateur de ressources et ce qui est le mieux.
voici un exemple :
Objet 1 : Film
Objet 2 : Acteur
l’Objet Film peut avoir une List d’acteur et l’object acteur peut avoir une List de film.
De ce fait, qu’est-ce qui est mieux ? Chaque objet contient sa liste pour afficher respectivement les acteurs des films ou les films de l’acteur
Ou alors on a par exemple une liste d’acteurs dans l’objet film et pour afficher les films sur la page de l’acteur on irait voir dans toutes les objects films s’il apparait dans les List des acteurs et si oui, on affiche le film sur sa page.
Qu’est-ce qui est le plus « propre » pour vous dans la construction de la db et de l’app. J’ai du mal à choisir. Si je trouve que chacun sa liste est plus propre, ça ajoute l’obligation de devoir gérer 2 listes. Et si on peut par exemple supprimer un acteur de la liste film, il ne faut pas oublier d’aller supprimer le film dans la liste chez l’acteur. Alors que l’autre option, via une fonction de recherche, n’oblige le maintien que d’une seule list.
Mais alors, dans mon toc de perfectionnisme, chez qui maintenir la List ? est-ce que l’objet acteur est prioritaire dans la hiérarchie sur l’objet film ou l’inverse ?
Donc en gros au plus j’avance, au plus je suis confronté au Design de ma base de donnée et des relations entre les objets
D’où votre avis m’intéresse.
Merci
Chris