انتقل إلى محتوى الدرس

Second Normal Form Full Dependency الصيغة الثانية والاعتماد الكامل

تعلّم تطبيع قواعد البيانات والصيغ المعيارية الأولى والثانية والثالثة في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يكون الجدول في الصيغة المعيارية الثانية (2NF) إذا حقق الصيغة الأولى 1NF وخلا تماماً من الاعتماد الجزئي (Partial Dependency):

  • تظهر في الجداول ذات المفتاح الأساسي المركب: إذا كان المفتاح الأساسي مركباً من عمودين مثل (order_id, product_id)، فيجب أن يعتمد كل عمود آخر في الجدول على المفتاح المركب كاملاً (مثل الكمية quantity).
  • علاج مخالفة 2NF: عمود مثل اسم المنتج product_title يعتمد على product_id وحده فقط؛ لذا يُنقل فوراً إلى جدول المنتجات products.
SQL
-- 2NF Compliant: quantity depends on BOTH order_id and product_id
CREATE TABLE invoice_lines (
  invoice_id INT UNSIGNED NOT NULL,
  product_id INT UNSIGNED NOT NULL,
  quantity SMALLINT UNSIGNED NOT NULL,
  PRIMARY KEY (invoice_id, product_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;