التسوية قاعدة البيانات - كيف عميق علي رابط الجداول معا ؟

StackOverflow https://stackoverflow.com/questions/2402351

سؤال

لدي ثلاث جداول:بعد والتعلق وسائل الإعلام.

المشاركات التي تحتوي على مرفقات والمرفقات وسائل الإعلام.

حاليا منصب ملحق الجداول المرتبطة من خلال مفاتيح خارجية ، وكذلك مرفق وسائل الإعلام الجداول.سؤالي هو من أجل السليم تصميم قاعدة البيانات و التطبيع ، يجب إعداد الخارجية مفتاح العلاقة بين وظيفة الإعلام ؟ أنا متأكد من كيفية عميق لا ينبغي ربط هذه الجداول معا.

شكرا

هل كانت مفيدة؟

المحلول

أجل السليم تصميم قاعدة البيانات و التطبيع ، يجب إعداد الخارجية مفتاح العلاقة بين وظيفة الإعلام ؟

"سلامة التطبيع" يجب أن أؤكد أنه لا توجد "تحديث الشذوذ".

إذا كان شخص ما التحديثات بعد ما يحدث المرفقات و الإعلام ؟ سيتم إعادة تسمية بعد قطع المرفقات و/أو وسائل الإعلام ؟ إذا كان الأمر كذلك ثم FK هو الخطأ.[تلميح, يجب عليك استخدام مفاتيح بديلة ليس اسم آخر لجعل الخاص بك FK العمل.]

إذا كان شخص ما يريد أن "التحرك" مرفق من وظيفة واحدة إلى أخرى [أي تحديث المرفق FK المرجعية], ما يحدث في الإعلام ؟ هل البقاء مع المرفق و الانتقال إلى وظيفة جديدة?

يمكن أن تصل الرياح مع مرحلة ما بعد المرفقات وسائل الإعلام ، وكذلك المرفقات وجود الإعلام ؟ يمكن أن البريد والمرفقات نختلف عن وسائل الإعلام لأن التعلق "تحرك" ولكن آخر لم يكن أيضا تحديث ؟

إذا كنت يمكن أن يكون التناقضات ، كنت قد كسر 2 نموذج عادي و كنت قد كررت مفتاح العلاقات لا يجب أن تتكرر.

المناسبة التطبيع أمرا سهلا.

البيانات يعتمد على مفتاح ولا شيء ولكن المفتاح.

لا نسخ أو تكرار تبعيات أي مكان.ما كنت تدعو "الربط العميق" يبدو أن تكرار التبعيات.

نصائح أخرى

لا، للتطبيع عميق كما 3NF. تشعر بالقلق الخاص بك، وهو مستوى التطبيع المعتاد، والهيكل على ما يرام.

بالنسبة لتطبيع التسجيل، يتمتع بتكلفة تكنولوجيا المعلومات وكذلك فستفيدها، خصيصا لإدراج البيانات والحذف ضد مستوى كبير من التحكم على وجه التحديد وكيف يمكن إدراجها.

واحدة تطبيعها وتنظف في خطره :)

أعتقد أنك بخير.

يبدو من الممكن أن يكون لهذا المنشور العديد من المرفقات وأن المرفق يمكن أن يكون لديه العديد من المشاركات، إذا كان الأمر كذلك، فستحتاج إلى كيان رابط للنموذج العادي الثالث:

  Post

    |
    |
  -----
  | | |

Post_Attachment

  | | |
  -----
    | 
    |

Attachment

    |
    |
  -----
  | | |

  Media

ولكن من الوصف الخاص بك يبدو أنه لا توجد علاقة رئيسية بين النشر والإعلام.

السبب الوحيد لإضافة FK من الوسائط للنشر سيكون إذا كنت بحاجة إلى تصفية أو تحديد وسائط للحصول على منشور معين دون اعتبار للمرفقات. حتى إذا كنت بحاجة إلى عرض الوسائط (ربما حسب النوع) والنشر الذي ينتمي إليه، فلن أضيف جمعية مباشرة؛ من المحتمل أن يكون النفقات العامة لإضافة انضمام ثان (عبر جدول المرفقات) ضئيلا، لذلك من غير المرجح أن ترى أي تحسن كبير.

ربط الجداول بعمق كما هو منطقي. divormeasize للإبلاغ وبعد رؤية قضايا الأداء.

أولا، لا تحتاج إلى استخدام مفاتيح بديلة. ستتالي قاعدة البيانات المناسبة التحديثات إذا كنت ترغب في ذلك. عند تطبيع قاعدة بيانات، عادة ما تحاول تحقيق نموذج طبيعي 3RD أو حتى BCNF. الشكل الثاني العادي لن يحمي دائما بياناتك من التحديثات الشاذة. يجب أن يكون تحديد التبعيات الوظيفية في مخططك بسيطا بمجرد إنتاج مخطط إيه وتحديد البيانات التي تعد جزءا من الكيانات (المشاركات، المرفقات، الوسائط) وما هي البيانات جزء من العلاقات. اعتمادا على تصاديق علاقاتك، قد تحتاج أو لا تحتاج إلى الانضمام إلى الجداول. أفضل شيء يجب القيام به هو نموذج بياناتك في رسم تخطيطي، ثم التعامل مع مشكلات التنفيذ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top