Besoin Avis relations entre objects dans une db (Realm en l'occurrence)

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 :slight_smile:

D’où votre avis m’intéresse.

Merci

Chris

Il n’y a que deux listes :

  • les acteurs
  • les films
    si tu te les représentes graphiquement , séparées, tu vois que tu peux tracer des flèches qui partent de chaque fils vers différents acteurs, et aussi de chaque acteur vers différents films. Les correspondances entre les deux ensembles ne sont pas univoques. Du coup, après, tu peux te simplifier la vie en établissant pour chaque élément une liste des liens dont chacun appartiendra à au moins une liste dans l’autre sens… Vive les bases de données ! C’est là qu’on se dit qu’à moins de vouloir repenser tout seul la base de données dans son coin et réinventer la roue, ou devenir ingénieur Oracle, ça vaut peut-être le coup de voir ce qu’on peut programme avec 4D, ou FileMaker ou que sais-je ? Parce qu’il y a un moment où les bases de données deviennent relationnelles…