จัดการความสัมพันธ์ใน Fabric API สําหรับ GraphQL
คุณลักษณะหนึ่งที่มีประสิทธิภาพที่สุดใน GraphQL คือความสามารถในการสร้างความสัมพันธ์ข้ามประเภท รวมถึงการสนับสนุนสําหรับความสัมพันธ์แบบหนึ่งต่อหนึ่ง (1:1), หนึ่งต่อกลุ่ม (1:N) และความสัมพันธ์แบบกลุ่มต่อกลุ่ม (M:N)
สร้างความสัมพันธ์ (1:1) แบบหนึ่งต่อหนึ่งใหม่
จากบานหน้าต่างตัวสํารวจเค้าร่าง เลือกจุดไข่ปลาถัดจากชนิดและเลือกตัวเลือกจัดการความสัมพันธ์ หน้าจอ จัดการความสัมพันธ์ จะปรากฏขึ้น
เลือก ความสัมพันธ์ใหม่ สําหรับตัวอย่างนี้ เราสร้างความสัมพันธ์แบบหนึ่งต่อหนึ่งใหม่ระหว่าง ชนิดผลิตภัณฑ์ และ ชนิด ProductModel โดย ยึดตามเขตข้อมูล ProductModelID ที่มีอยู่ในทั้งสองชนิด เราเลือก หนึ่งต่อหนึ่ง สําหรับ คาร์ดินาลลิตี้ เลือก ชนิด จาก และ ถึง จากนั้นเลือกเขตข้อมูล จาก และ ถึง สําหรับความสัมพันธ์นี้
หมายเหตุ
คุณสามารถเลือกหลายเขตข้อมูลในตัวเลือกเขตข้อมูล จาก และ ถึง คุณลักษณะนี้ช่วยให้คุณสามารถสร้างความสัมพันธ์ที่ประกอบด้วยหลายเขตข้อมูลได้
เลือกสร้างความสัมพันธ์ ตอนนี้รายการของความสัมพันธ์จะแสดงความสัมพันธ์ที่สร้างขึ้นใหม่
เลือก X ในมุมบนขวาเพื่อปิดหน้าจอจัดการความสัมพันธ์
ความสัมพันธ์ (1:N) แบบหนึ่งต่อกลุ่มและแบบกลุ่มต่อกลุ่ม (M:N)
เพื่อสร้างความสัมพันธ์แบบหนึ่งต่อกลุ่ม (1:N) ตัวอย่างเช่น ระหว่าง ผลิตภัณฑ์ และ คําสั่งซื้อที่แต่ละผลิตภัณฑ์สามารถเชื่อมโยงกับหลายคําสั่งซื้อได้ ให้เลือก หนึ่งต่อหลาย เป็นคาร์ดินาลลิตี้ ความสัมพันธ์นี้แสดงแนวคิดว่าผลิตภัณฑ์เดียวสามารถเชื่อมโยงกับหลายคําสั่งซื้อได้ แต่แต่ละคําสั่งซื้อเชื่อมโยงกับผลิตภัณฑ์เดียวเท่านั้น
สําหรับความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่ม (M:N) เช่น ระหว่าง หนังสือ และ ผู้เขียน ที่หนังสือสามารถมีผู้เขียนได้หลายคนและผู้เขียนสามารถมีหนังสือได้หลายเล่ม ให้เลือก กลุ่มต่อกลุ่ม เป็นคาร์ดินาลลิตี้ คุณจําเป็นต้องมีชนิดการเชื่อมโยงใน Schema ของคุณเพื่อรองรับความสัมพันธ์ชนิดนี้
กล่องโต้ตอบ ความสัมพันธ์ใหม่ จะแสดงชุดตัวเลือกอีกชุดหนึ่งเมื่อคุณเลือก กลุ่มต่อกลุ่ม เป็นคาร์ดินาลลิตี้ ในตัวอย่างของ หนังสือ และ ผู้เขียน คุณจะเลือกชนิดการเชื่อมโยง เช่น BooksAuthors และเขตข้อมูล เช่น BookId และ AuthorId เป็นการเชื่อมโยงจากและไปยังเขตข้อมูล
ข้อควรพิจารณาสําหรับความสัมพันธ์แบบกลุ่มต่อกลุ่ม
ถ้าชนิดการลิงก์ของคุณมีอย่างน้อยหนึ่งเขตข้อมูลที่ไม่ได้อ้างอิงเป็น เขตข้อมูล จากหรือ เขตข้อมูลถึง API สําหรับ GraphQL จะสร้างความสัมพันธ์แบบหนึ่งต่อกลุ่มสี่รายการโดยอัตโนมัติดังต่อไปนี้:
- ความสัมพันธ์แบบหนึ่งต่อกลุ่มจาก ชนิด จาก ไปยัง ชนิดการเชื่อมโยง
- ความสัมพันธ์แบบหนึ่งต่อกลุ่มจาก ชนิด การเชื่อมโยงไปยัง ชนิดจาก
- ความสัมพันธ์แบบหนึ่งต่อกลุ่มจาก ชนิด ถึงไปยัง ชนิดการเชื่อมโยง
- ความสัมพันธ์แบบหนึ่งต่อกลุ่มจาก ชนิด การเชื่อมโยงไปยัง ชนิดถึง
สิ่งเหล่านี้ช่วยให้คุณสามารถอ้างอิง เขตข้อมูลที่ไม่ได้ เชื่อมโยงใน ชนิด การเชื่อมโยงในคิวรีหรือการกลายพันธุ์ใด ๆ ในขณะที่ยังอนุญาตให้มีคิวรี/การกลายพันธุ์ที่อ้างอิงความสัมพันธ์ในทิศทางใดก็ตาม
ในกรณีที่ไม่มี เขตข้อมูลที่ไม่ได้เชื่อมโยง ใน ชนิดการเชื่อมโยง ความสัมพันธ์แบบกลุ่มต่อกลุ่มเดียวจะถูกสร้างขึ้น และคิวรีหรือการกลายพันธุ์ใด ๆ ไม่จําเป็นต้องอ้างอิง ชนิด การเชื่อมโยงเพื่อใช้ประโยชน์จากความสัมพันธ์
ลบความสัมพันธ์
คุณสามารถลบความสัมพันธ์จากหน้าจอ จัดการความสัมพันธ์ โดยการเลือกกล่องกาเครื่องหมายถัดจากความสัมพันธ์ จากนั้นเลือก ลบ