Get started

Optimisation des requêtes relationnelles avec Parse et Back4App

14min

Ce guide explique comment travailler avec des schémas relationnels sur Back4app, y compris la création de classes liées et l'exécution de requêtes efficaces en utilisant Parse Server. Vous apprendrez à utiliser Pointers et Relations de manière efficace, avec des exemples pratiques.

Qu'est-ce qu'un schéma relationnel ?

Un schéma relationnel organise les données en différentes classes connectées entre elles. Dans Parse Server, ces relations sont gérées par :

  • Pointers: Référencer directement un seul objet.
  • Relations: Gérer plusieurs connexions (relations plusieurs-à-plusieurs).

Ces outils vous permettent d'effectuer des requêtes complexes de manière efficace et cohérente.

Objectifs

À la fin de ce guide, vous serez en mesure de :

  • Créer des relations entre les classes en utilisant Pointers et Relations.
  • Effectuer des requêtes relationnelles pour récupérer des données connectées.
  • Optimiser votre schéma pour de meilleures performances.

Prérequis

1 - Création de classes associées

Exemple pratique: États et Villes

Imaginez que vous souhaitez modéliser un système où les villes sont associées aux états :

  • Classe État avec le champ state_name.
  • Classe Ville avec le champ city_name et un Pointeur vers État.

Création de classes et de relations

JavaScript
Flutter
Android
iOS
PHP
.NET
REST API


2 - Interroger des données connexes

Maintenant que les données sont liées, vous pouvez effectuer des requêtes pour les récupérer.

Exemple 1: Récupérer les villes dans un État spécifique

JavaScript
Flutter
Android
iOS
PHP
.NET
REST API


Exemple 2: Interroger les États avec des villes associées

Créez une requête qui renvoie les états connectés à n'importe quelle ville :

JavaScript
Flutter
Android
iOS
PHP
.NET
REST API


Meilleures Pratiques

Pour travailler efficacement avec des schémas relationnels en utilisant Parse Server dans Back4App, suivez ces meilleures pratiques pour garantir performance, maintenabilité et évolutivité :

Choisissez le Bon Type de Relation

  • Utilisez des Pointeurs pour des relations un-à-un, comme lier un utilisateur à son profil.
  • Utilisez des Relations pour des relations plusieurs-à-plusieurs, comme lier un projet à plusieurs tâches.

Interrogation Efficace

  • Utilisez .include() pour charger des données connexes dans la même requête, réduisant ainsi le besoin de plusieurs demandes.
  • Limitez les résultats en utilisant limit() et skip() pour éviter de récupérer de grands ensembles de données à la fois.
  • Indexez les champs fréquemment interrogés pour accélérer les recherches.

Évitez l'Imbrication Excessive

  • Gardez les requêtes simples pour réduire la complexité et améliorer les performances. Utilisez les requêtes imbriquées avec parcimonie et uniquement lorsque cela est nécessaire.

Déchargez les Requêtes Complexes vers le Code Cloud

  • Pour des requêtes complexes impliquant plusieurs relations ou de grands ensembles de données, déchargez-les vers Cloud Code pour garder le client léger et réactif.

Conclusion

Dans ce guide, vous avez appris comment créer des relations entre les classes et interroger des objets connexes sur Back4app. Continuez à explorer la documentation spécifique du SDK pour aller encore plus loin!