مجموعة من المفاتيح الأجنبية حيث كل ما عدا واحد لاغية
-
22-09-2019 - |
سؤال
ما هو اسم تقنية استخدام مجموعة من المفاتيح الأجنبية في طاولة حيث يكون كل شيء خالياً لصف صف معين؟
وبعبارة أخرى ، يحتاج كل صف إلى مفتاح خارجي لواحد (وآخر) من الجداول الممكنة المختلفة ، لذا لديك بالفعل جميع المفاتيح الأجنبية اللازمة ولكن كلها ما عدا واحدة لاغية.
(قد يتعرف مستخدمو Django على هذا كبديل لاستخدام مفتاح خارجي عام)
المحلول
مصطلح التصميم الذي تصفه هو قوس حصري.
بدلاً من ذلك ، أفضل إنشاء مفتاح خارجي واحد يشير إلى جدول شائع للغاية لجداول الوالدين المختلفة الخاصة بك.
انظر إجاباتي الأخرى للجمعيات المتعددة الأشكال:
- من الممكن القيام بمفتاح MySQL الخارجية لواحد من جدولين محتملين؟
- الرجوع إلى المفاتيح الأجنبية في نفس العمود
- لماذا لا يمكنك الحصول على مفتاح خارجي في جمعية متعددة الأشكال؟
- في استنساخ stackoverflow ، ما هي العلاقة التي يجب على جدول التعليقات أن يكون لها الأسئلة والأجوبة؟
- كيفية التعامل مع علاقة "أو" في تصميم ERD (الجدول)؟
نصائح أخرى
كان من الأسهل مع مثال ، ولكن طريقة شائعة لفك هذا هو ببساطة العثور على نوع فائق شائع لتلك الجداول. لنفترض أن لدينا طاولات Book, Article, Magazine
والآن يجب أن يكون لدى الجدول مفتاح خارجي لهذه الجداول. باستخدام نوع سوبر شائع Publication
يحل هذا. انظر هنا للنموذج والسؤال/الجواب المماثل.