الدرس 7: قواعد الانتقال من MCD إلى MLD | تحليل ملف التصميم

admin
الصفحة الرئيسية
الدرس 7: قواعد الانتقال من MCD إلى MLD (الجزء 1) - علاقات أب-ابن
 قواعد الانتقال من MCD إلى MLD

قواعد الانتقال من MCD إلى MLD

الدرس 7: قواعد الانتقال من MCD إلى MLD (الجزء الأول)

لماذا نحتاج قواعد للانتقال من MCD إلى MLD؟

تخيل أنك مهندس معماري ولديك تصميم جميل لمنزل (MCD)، والآن عليك تحويله إلى مخططات بناء تفصيلية (MLD). هذا يتطلب قواعد واضحة لترجمة المفاهيم إلى هياكل ملموسة. بدون هذه القواعد، قد نواجه مشاكل مثل فقدان البيانات، تكرارها، أو عدم تناسقها.

1. تحويل الكيانات (Entities)

القاعدة: كل كيان في الـ MCD يتحول إلى جدول مستقل في الـ MLD. خصائص الكيان تصبح أعمدة، والمُعرّف يصبح المفتاح الأساسي (PK).

2. تحويل علاقات (أب-ابن) - قاعدة "هجرة المفتاح"

هذا هو جوهر عملية التحويل للعلاقات من نوع "واحد إلى متعدد" (One-to-Many).

القاعدة الذهبية: المفتاح الأساسي (PK) للكيان في جهة "1" (الأب) يهاجر ليصبح مفتاحاً أجنبياً (FK) في جدول الكيان في جهة "n" (الابن).

أ. تحويل العلاقة (1,1) مع (0,n) - (الأكثر شيوعاً)

مثال MCD: كل مؤلف يكتب (0,n) كتاب، وكل كتاب يُكتب بواسطة (1,1) مؤلف.

مؤلف
يكتب
كتاب
(0,n)
(1,1)

التحويل إلى MLD:

  • الكيان "الأب" (جهة 1) هو مؤلف.
  • الكيان "الابن" (جهة n) هو كتاب.
  • المفتاح الأساسي لجدول المؤلفين (رقم_مؤلف) يهاجر ليصبح مفتاح أجنبي في جدول الكتب.
المؤلفون
  • PK رقم_مؤلف
  • اسم_مؤلف
الكتب
  • PK رقم_كتاب
  • عنوان_كتاب
  • FK رقم_مؤلف

ب. تحويل العلاقة (1,1) مع (1,1) - (علاقة إلزامية 1-1)

مثال MCD: كل مدير يدير (1,1) قسم، وكل قسم يُدار بواسطة (1,1) مدير.

مدير
يدير
قسم
(1,1)
(1,1)

التحويل إلى MLD: في هذه الحالة، يمكن للمفتاح الأساسي لأي منهما أن يهاجر للآخر. دعنا نجعل PK المدير يهاجر إلى جدول القسم.

المديرون
  • PK رقم_مدير
  • اسم_مدير
الأقسام
  • PK رقم_قسم
  • اسم_قسم
  • FK رقم_مدير

خلاصة قاعدة "هجرة المفتاح"

  1. ابحث عن العلاقة بين كيانين.
  2. حدد الكيان "الأب" (جهة 1) والكيان "الابن" (جهة n).
  3. المفتاح الأساسي (PK) للكيان "الأب" ينتقل ليصبح مفتاحاً أجنبياً (FK) في جدول الكيان "الابن".

ملاحظة على NULL: إذا كان الحد الأدنى للدور بجانب "الابن" هو 0 (مثل علاقة (0,1) أو (0,n))، فهذا يعني أن المفتاح الأجنبي في جدول الابن يمكن أن يكون فارغاً (NULL). أما إذا كان الحد الأدنى 1 (مثل (1,1) أو (1,n))، فيجب أن يكون المفتاح الأجنبي غير فارغ (NOT NULL).

google-playkhamsatmostaqltradent