Διαχείριση σχέσεων στο API Fabric για GraphQL
Μία από τις πιο ισχυρές δυνατότητες του GraphQL είναι η δυνατότητα δημιουργίας σχέσεων μεταξύ τύπων, συμπεριλαμβανομένης της υποστήριξης για σχέσεις ενός προς ένα (1:1), ενός προς πολλά (1:N) και σχέσεων πολλά προς πολλά (M:N).
Δημιουργία νέας σχέσης ένα προς ένα (1:1)
Από το τμήμα παραθύρου Εξερεύνηση σχημάτων, επιλέξτε τα αποσιωπητικά δίπλα σε έναν τύπο και επιλέξτε Διαχείριση σχέσεων . Εμφανίζεται η οθόνη Διαχείριση σχέσεων .
Επιλέξτε Νέα σχέση. Για αυτό το παράδειγμα, δημιουργούμε μια νέα σχέση ένα προς ένα μεταξύ του τύπου προϊόντος και του τύπου ProductModel , με βάση το πεδίο ProductModelID που υπάρχει και στους δύο τύπους. Επιλέγουμε Ένα προς ένα για την Πληθικότητα, επιλέγουμε τους τύπους Από και Προς και, στη συνέχεια, επιλέγουμε τα πεδία Από και Προς για αυτήν τη σχέση.
Σημείωμα
Μπορείτε να επιλέξετε πολλά πεδία στις επιλογές πεδίων Από και Προς. Αυτή η δυνατότητα σάς επιτρέπει να δημιουργείτε σχέσεις που περιλαμβάνουν πολλαπλά πεδία.
Επιλέξτε Δημιουργία σχέσης. Η λίστα σχέσεων εμφανίζει τώρα τη σχέση που μόλις δημιουργήθηκε.
Επιλέξτε το X στην επάνω δεξιά γωνία για να κλείσετε την οθόνη Διαχείριση σχέσεων .
Σχέσεις "Ένα-προς-πολλά" (1:N) και πολλά-προς-πολλά (M:N)
Για να δημιουργήσετε μια σχέση ένα-προς-πολλά (1:N), για παράδειγμα, μεταξύ των προϊόντων Product και Order, όπου κάθε προϊόν μπορεί να συσχετιστεί με πολλές παραγγελίες, επιλέξτε Ένα προς πολλά ως πληθικότητα. Αυτή η σχέση αντικατοπτρίζει την ιδέα ότι ένα προϊόν μπορεί να συνδεθεί με πολλές παραγγελίες, αλλά κάθε παραγγελία συνδέεται με ένα μόνο προϊόν.
Για μια σχέση πολλά προς πολλά (M:N), όπως μεταξύ Βιβλίων και Συντακτών, όπου ένα βιβλίο μπορεί να έχει πολλούς συγγραφείς και ένας συντάκτης μπορεί να έχει πολλά βιβλία, επιλέξτε Πολλά προς πολλά ως πληθικότητα. Πρέπει να έχετε έναν τύπο σύνδεσης στο σχήμα σας για να εξυπηρετήσετε αυτού του είδους τη σχέση.
Το παράθυρο διαλόγου Νέα σχέση εμφανίζει ένα άλλο σύνολο επιλογέα όταν επιλέγετε Πολλά-προς-πολλά ως πληθικότητα. Στο παράδειγμα Βιβλία και συντάκτες, θα πρέπει να επιλέξετε έναν τύπο σύνδεσης, όπως BooksAuthors, και πεδία όπως BookId και AuthorId ως σύνδεση από και προς πεδία.
Ζητήματα για σχέσεις πολλά προς πολλά
Εάν ο τύπος σύνδεσης περιέχει ένα ή περισσότερα πεδία που δεν αναφέρονται ως πεδία Από ή Προς πεδία, το API για GraphQL δημιουργεί αυτόματα τέσσερις σχέσεις ένα προς πολλά, ως εξής:
- Μια σχέση "ένα-προς-πολλά" από τον τύπο "Από" στον τύπο "Σύνδεση"
- Μια σχέση "ένα-προς-πολλά" από τον τύπο "Σύνδεση" στον τύπο "Από"
- Μια σχέση "ένα-προς-πολλά" από τον τύπο Προς προς τον τύπο "Σύνδεση"
- Μια σχέση "ένα-προς-πολλά" από τον τύπο "Σύνδεση" στον τύπο "Προς"
Αυτά σας επιτρέπουν να αναφέρετε τα πεδία χωρίς σύνδεση στον τύπο σύνδεσης σε οποιαδήποτε ερωτήματα ή μεταλλάξεις, επιτρέποντας παράλληλα ερωτήματα/ μεταλλάξεις που αναφέρουν τις σχέσεις προς οποιαδήποτε κατεύθυνση.
Στην περίπτωση που δεν υπάρχουν πεδία χωρίς σύνδεση στον τύπο Σύνδεση, θα δημιουργηθεί μια σχέση πολλά προς πολλά και τυχόν ερωτήματα ή μεταλλάξεις δεν θα χρειαστεί να αναφέρουν τον τύπο Σύνδεση για να αξιοποιηθεί η σχέση.
Διαγραφή σχέσης
Μπορείτε να διαγράψετε μια σχέση από την οθόνη Διαχείριση σχέσεων , επιλέγοντας το πλαίσιο ελέγχου δίπλα στη σχέση και, στη συνέχεια, επιλέγοντας Διαγραφή.