"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل يمكن للمفتاح الخارجي الإشارة إلى جداول متعددة في الارتباطات متعددة الأشكال؟

هل يمكن للمفتاح الخارجي الإشارة إلى جداول متعددة في الارتباطات متعددة الأشكال؟

تم النشر بتاريخ 2024-11-16
تصفح:325

Can a Foreign Key Reference Multiple Tables in Polymorphic Associations?

المفاتيح الخارجية متعددة الأشكال: هل يمكن للمفتاح الخارجي الرجوع إلى جداول متعددة؟

عادةً ما يتضمن مفهوم المفاتيح الخارجية في قواعد البيانات العلائقية تحديد الهدف الدقيق الجدول الذي يجب أن يشير إليه العمود المرجعي. ومع ذلك، عند التعامل مع الارتباطات متعددة الأشكال، حيث يكون للجدول علاقة مع عدة جداول أخرى في مجموعة، فإن السؤال الذي يطرح نفسه هو: هل من الممكن أن يكون لديك مفتاح خارجي يمكنه الإشارة إلى أي واحد من تلك الجداول؟

] &&&]الإجابة: لا

في كل من MySQL وPostgreSQL، يمكن لقيد المفتاح الخارجي أن يشير فقط إلى جدول أصل واحد. يضمن هذا القيد تكامل البيانات من خلال الحفاظ على علاقة واضحة بين الصفوف المرجعية والصفوف المشار إليها في الجدول الأصلي.

بدائل للاقترانات متعددة الأشكال

نظرًا لأن المفتاح الخارجي لا يمكنه أشر مباشرة إلى جداول متعددة، والحلول البديلة ضرورية لنموذج الارتباطات متعددة الأشكال:

  • الوراثة المرتبطة: قم بإنشاء جدول واحد يحتوي على جميع الأعمدة من الجداول الفرعية وعمود تمييز لتحديد الجدول الذي ينتمي إليه كل صف.
  • التسلسل الهرمي لكل فئة: إنشاء جداول منفصلة لكل جدول فرعي وإقامة العلاقات فيما بينها من خلال الميراث.
  • أنواع الاتحاد: استخدم عمودًا واحدًا يمكنه استيعاب قيم البيانات من مجالات مختلفة، مما يسمح له بالإشارة إلى جداول فرعية متعددة.

موارد إضافية لمزيد من الأفكار حول الارتباطات متعددة الأشكال وحلولها، راجع الموارد التالية:

النماذج العملية الموجهة للكائنات في SQL
  • أنماط SQL المضادة، المجلد 1: تجنب مخاطر برمجة قواعد البيانات
بيان الافراج أعيد طبع هذه المقالة على: 1729692085 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3