freeCodeCamp/guide/arabic/computer-science/databases/normal-form/index.md

7.8 KiB

title localeTitle
Normal Form شكل عادي

شكل عادي

تم تقديم التطبيع لأول مرة كجزء من النموذج العلائقى. إنها عملية تنظيم جداول البيانات والأعمدة بطريقة تقلل من التكرار وتحسن النزاهة. يمكن القيام بذلك إما من خلال:

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

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

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

التصميم الذي ينتهك النموذج العادي الأول ، لا يحتوي عمود "الهاتف" على قيم ذرية

| معرف العميل الاسم الأول | اسم العائلة | الهاتف | | ------------- | ------------ | ----------- | ---------- ---------------------------- | | 123 | بوجا سينغ 555-861-2025 ، 192-122-1111 | | 789 | جون Doe | 555-808-9633 | | 456 | سان | تشانغ (555) 403-1659 تحويلة. 53. 182-929-2929 |

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

الحل الآخر هو أن يكون لديك جدول منفصل لعميل الارتباط <-> الهاتف: وهذا يحترم الشكل العادي الأول ويمكن أن يكون هناك عدد من الصفوف لكل عميل حسب الحاجة.

| معرف العميل الاسم الأول | اسم العائلة | | ------------- | ------------ | ----------- | | 123 | بوجا سينغ | 789 | جون Doe | | 456 | سان | تشانغ

| معرف العميل الهاتف | | ------------- | ------------------------ | | 123 | 555-861-2025 | | 123 | 192-122-1111 | | 789 | 555-808-9633 | | 456 | (555) 403-1659 تحويلة. 53 | | 456 | 182-929-2929 |

  • النموذج الثاني العادي : يكون الجدول في النموذج العادي الأول وتعتمد جميع الأعمدة غير الرئيسية على المفتاح الأساسي للجدول. هذا يضيق غرض الطاولة.
مثال

تصميم يخالف الشكل العادي الثاني. اسم النموذج الكامل هو المفتاح الأساسي ، هناك مفاتيح أخرى مثل {manufacturer، model}. يعتمد العمود "الشركة المصنعة البلد" على عمود غير المفتاح (الشركة المصنعة).

| الصانع | نموذج | نموذج الاسم الكامل | بلد الصانع | | --------------------- | -------------- | ------------ ---------- | ---------------------- | | فورت X-Prime | فورت اكس برايم | ايطاليا | | فورت Ultraclean | Forte Ultraclean | ايطاليا | | دنت-س-فريش | EZbrush | دنت يا العذبة EZbrush | الولايات المتحدة الأمريكية | كوباياشي | ST-60 | كوباياشي ST-60 | اليابان | | هوتش | Toothmaster | Hoch Toothmaster | ألمانيا | | هوتش | X-Prime | هوش اكس برايم | ألمانيا |

التصميم المقسّم سيكون تقسيمه إلى جدولين كما يلي:

| الصانع | بلد الصانع | | --------------------- | ---------------------- | | فورت ايطاليا | | دنت-س-فريش | الولايات المتحدة الأمريكية | كوباياشي | اليابان | | هوتش | ألمانيا |

| الصانع | نموذج | نموذج الاسم الكامل | | --------------------- | -------------- | ------------ ---------- | | فورت X-Prime | فورت اكس برايم | | فورت Ultraclean | Forte Ultraclean | | دنت-س-فريش | EZbrush | دنت يا العذبة EZbrush | | كوباياشي | ST-60 | كوباياشي ST-60 | | هوتش | Toothmaster | Hoch Toothmaster | | هوتش | X-Prime | هوش اكس برايم |

  • الشكل العادي الثالث : يكون الجدول في الشكل الثاني العادي ولا تعتمد جميع أعمدته بشكل انتقالي على المفتاح الأساسي. ويقال إن العمود يعتمد على عمود آخر إذا كان يمكن اشتقاق منه ، على سبيل المثال ، يمكن اشتقاق العمر من عيد الميلاد. الترانزيت يعني أن هذا الاعتماد قد يتضمن أعمدة أخرى. على سبيل المثال ، إذا أخذنا في الاعتبار ثلاثة أعمدة PersonID BodyMassIndex IsOverweight ، يعتمد العمود "IsOverweight" بشكلٍ انتقائي على "personID" من خلال "BodyMassIndex".
مثال

تصميم يخالف الشكل العادي الثالث. {Tournament، Year} هي المفتاح الأساسي للجدول ، ويعتمد العمود "تاريخ ميلاد الفائز" بشكل انتقائي عليه.

| بطولة | السنة الفائز | الفائز تاريخ الميلاد | | ---------------------- | ------------- | ------------ ---- | ---------------------- | | دعوة انديانا 1998 | فريدريكسون | 21 يوليو 1975 | | كليفلاند المفتوحة 1999 | بوب ألبرتسون 28 سبتمبر 1968 | | ديس موينس الماجستير 1999 | فريدريكسون | 21 يوليو 1975 | | دعوة انديانا 1999 | رقاقة ماسترسون 14 مارس 1977 |

التصميم المتوافق مع النموذج العادي الثالث سيكون:

| بطولة | السنة الفائز |
| ---------------------- | ------------- | ------------ ---- | | دعوة انديانا 1998 | فريدريكسون | | كليفلاند المفتوحة 1999 | بوب ألبرتسون | ديس موينس الماجستير 1999 | فريدريكسون | | دعوة انديانا 1999 | رقاقة ماسترسون

| الفائز | تاريخ الميلاد | ---------------- | ------------------- | | رقاقة ماسترسون 14 مارس 1977 | | فريدريكسون | 21 يوليو 1975 | | بوب ألبرتسون 28 سبتمبر 1968 |

معلومات اكثر: