الدرس 7: قواعد الانتقال من MCD إلى MLD (الجزء الأول)
لماذا نحتاج قواعد للانتقال من MCD إلى MLD؟
تخيل أنك مهندس معماري ولديك تصميم جميل لمنزل (MCD)، والآن عليك تحويله إلى مخططات بناء تفصيلية (MLD). هذا يتطلب قواعد واضحة لترجمة المفاهيم إلى هياكل ملموسة. بدون هذه القواعد، قد نواجه مشاكل مثل فقدان البيانات، تكرارها، أو عدم تناسقها.
1. تحويل الكيانات (Entities)
2. تحويل علاقات (أب-ابن) - قاعدة "هجرة المفتاح"
هذا هو جوهر عملية التحويل للعلاقات من نوع "واحد إلى متعدد" (One-to-Many).
أ. تحويل العلاقة (1,1) مع (0,n) - (الأكثر شيوعاً)
مثال MCD: كل مؤلف يكتب (0,n) كتاب، وكل كتاب يُكتب بواسطة (1,1) مؤلف.
التحويل إلى MLD:
- الكيان "الأب" (جهة 1) هو مؤلف.
- الكيان "الابن" (جهة n) هو كتاب.
- المفتاح الأساسي لجدول المؤلفين (
رقم_مؤلف
) يهاجر ليصبح مفتاح أجنبي في جدول الكتب.
- PK رقم_مؤلف
- اسم_مؤلف
- PK رقم_كتاب
- عنوان_كتاب
- FK رقم_مؤلف
ب. تحويل العلاقة (1,1) مع (1,1) - (علاقة إلزامية 1-1)
مثال MCD: كل مدير يدير (1,1) قسم، وكل قسم يُدار بواسطة (1,1) مدير.
التحويل إلى MLD: في هذه الحالة، يمكن للمفتاح الأساسي لأي منهما أن يهاجر للآخر. دعنا نجعل PK المدير يهاجر إلى جدول القسم.
- PK رقم_مدير
- اسم_مدير
- PK رقم_قسم
- اسم_قسم
- FK رقم_مدير
خلاصة قاعدة "هجرة المفتاح"
- ابحث عن العلاقة بين كيانين.
- حدد الكيان "الأب" (جهة 1) والكيان "الابن" (جهة n).
- المفتاح الأساسي (PK) للكيان "الأب" ينتقل ليصبح مفتاحاً أجنبياً (FK) في جدول الكيان "الابن".
ملاحظة على NULL: إذا كان الحد الأدنى للدور بجانب "الابن" هو 0 (مثل علاقة (0,1)
أو (0,n)
)، فهذا يعني أن المفتاح الأجنبي في جدول الابن يمكن أن يكون فارغاً (NULL
). أما إذا كان الحد الأدنى 1 (مثل (1,1)
أو (1,n)
)، فيجب أن يكون المفتاح الأجنبي غير فارغ (NOT NULL
).