العودة إلى الدورة

الشكل العادي الثالث (3NF)

أساسيات قواعد البيانات: من الصفر إلى الاحتراف

الدرس 36: الشكل العادي الثالث (3NF)

3NF هو المستوى الأكثر رغبة في التطبيع لقواعد بيانات المعاملات. يكون الجدول في 3NF إذا كان في 2NF ويلبي معيارًا إضافيًا واحداً.

قاعدة 3NF

لا توجد خاصية غير مفتاحية تعتمد متعديًا على المفتاح الأساسي.

  • الاعتمادية المتعدية (Transitive Dependency): تحدث عندما تحدد خاصية غير مفتاحية خاصية غير مفتاحية أخرى.

PK -> NonKeyAttribute1 و NonKeyAttribute1 -> NonKeyAttribute2

مثال على الانتهاك: بيانات موقع الموظف

افترض مفتاحًا أساسيًا: EmployeeID.

EmployeeID (PK)EmployeeNameDeptIDDeptNameDeptManager
101AliceD01SalesJohn
102BobD01SalesJohn
  • EmployeeID -> DeptID (اعتمادية عادية)
  • DeptID -> DeptName (اعتمادية متعدية، حيث يعتمد DeptName على الخاصية غير المفتاحية DeptID).

إذا غيرنا اسم القسم D01، يجب علينا تحديث سجلات موظفين متعددين (شذوذ التحديث).

التصحيح (تحقيق 3NF)

نفصل الخصائص التي تعتمد متعديًا (DeptName، DeptManager) إلى جدول جديد (Departments).

  1. جدول Employees: PK: EmployeeID. يحتوي على FK: DeptID.
  2. جدول Departments: PK: DeptID. يحتوي على DeptName، DeptManager.

الآن، تظهر البيانات المتعلقة بالقسم مرة واحدة فقط، ويتم إدارة الاعتمادية بشكل مباشر عبر المفتاح الخارجي.