فهم التسوية

مكتمل

تلميح

راجع علامة التبويب النص والصور لمزيد من التفاصيل!

التسوية هي مصطلح يستخدمه محترفو قاعدة البيانات لعملية تصميم مخطط تقلل من تكرار البيانات وتفرض تكامل البيانات.

في حين أن هناك العديد من القواعد المعقدة التي تحدد عملية إعادة بناء التعليمات البرمجية للبيانات في مستويات (أو أشكال) مختلفة من التطبيع، فإن التعريف البسيط للأغراض العملية هو:

  1. افصل كل كيان في جدوله الخاص.
  2. افصل كل سمة منفصلة في عمودها الخاص.
  3. تعريف كل مثيل كيان (صف) بشكل فريد باستخدام مفتاح أساسي.
  4. استخدم أعمدة المفاتيح الخارجية لربط الكيانات ذات الصلة.

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

رقم الطلب اسم العميل عنوان_العميل ProductName سعر الوحدة Qty
1 جين سميث 42 شارع أوك سياتل القطعة أ 9.99 2
1 جين سميث 42 شارع أوك سياتل القطعة ب 4.49 1
2 بوب جونز 18 باين أفينيو، بورتلاند القطعة أ 9.99 5
2 بوب جونز 18 باين أفينيو، بورتلاند أداة X 24.99 1
3 جين سميث 42 شارع أوك سياتل أداة X 24.99 3
3 جين سميث 42 شارع أوك سياتل القطعة ب 4.49 2

لاحظ أن تفاصيل العميل والمنتج مكررة لكل عنصر فردي مباع؛ وأن يتم دمج اسم العميل والعنوان البريدي واسم المنتج وسعره في خلايا جدول البيانات نفسها.

الآن دعونا ننظر في كيفية تغيير التطبيع في طريقة تخزين البيانات.

رسم تخطيطي يوضح بيانات الطلب في مخطط جدولي تمت تسويته.

يتم تخزين كل كيان يتم تمثيله في البيانات (العميل والمنتج وأمر المبيعات وعنصر السطر) في جدوله الخاص، وكل سمة منفصلة لهذه الكيانات موجودة في عمودها الخاص.

يؤدي تسجيل كل مثيل للكيان كصف في جدول خاص بكيان إلى إزالة تكرار البيانات. على سبيل المثال، لتغيير عنوان العميل، تحتاج فقط إلى تعديل القيمة في صف واحد.

يضمن تقسيم السمات إلى أعمدة فردية أن كل قيمة مقيدة بنوع بيانات مناسب - على سبيل المثال، أسعار المنتجات muSt.be القيم العشرية، بينما كميات العناصر الخطية muSt.be الأعداد الصحيحة. بالإضافة إلى ذلك، يوفر إنشاء أعمدة فردية مستوى مفيدا من النقاوة في البيانات للاستعلام - على سبيل المثال، يمكنك بسهولة تصفية العملاء لأولئك الذين يعيشون في مدينة معينة.

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

في بعض الحالات، يمكن تعريف المفتاح (الأساسي أو الخارجي) كمفتاح مركب استنادا إلى مجموعة فريدة من أعمدة متعددة. على سبيل المثال، يستخدم جدول LineItem في المثال أعلاه تركيبة فريدة من OrderNo و ItemNo لتحديد عنصر سطر من ترتيب فردي.