الدرس 34: الشكل العادي الأول (1NF)
1NF هو المتطلب الأساسي لاعتبار الجدول جزءًا من النموذج العلائقي.
القاعدة 1: القيم الذرية (Atomic Values)
يجب أن يحتوي كل عمود في الصف على قيمة واحدة وذرية. 'ذري' يعني غير قابل للتقسيم.
- مثال على الانتهاك: وجود عمود
PhoneNumbersيحتوي على قائمة بأرقام هواتف متعددة ('555-1234, 555-5678'). - التصحيح: تقسيم البيانات المعقدة إلى أعمدة متعددة (
HomePhone،WorkPhone) أو، ويفضل، نقلها إلى جدول منفصل ومرتبط (PhoneNumbersمرتبط بمفتاح خارجي).
القاعدة 2: لا توجد مجموعات متكررة
يجب ألا تكون هناك أعمدة متكررة (حقول تُستخدم عدة مرات لتخزين نفس النوع من البيانات).
- مثال على الانتهاك: جدول يحتوي على الأعمدة
Item1،Item2،Item3،Item4لتخزين المنتجات في طلب ما.
| OrderID | Item1 | Item2 | Item3 |
|---|---|---|---|
| 100 | Milk | Eggs | Bread |
| 101 | Chair | NULL | NULL |
- التصحيح: إنشاء جدول منفصل لـ
OrderItemsوربطه مرة أخرى بجدولOrdersباستخدام مفتاح خارجي (إنشاء علاقة 1:N).
| OrderID (FK) | ItemName |
|---|---|
| 100 | Milk |
| 100 | Eggs |
| 100 | Bread |
| 101 | Chair |
هذا الهيكل يضمن التزامنا بقاعدة 1NF: تحتوي كل خلية على قيمة واحدة فقط، ولا توجد مجموعات هيكلية متكررة.