تطبيع قاعدة البيانات الخاصة بك: النموذج العادي الأول

سيساعد هذان القانونان البسيطان على تطبيع قاعدة البيانات الخاصة بك

أول نموذج عادي (1NF) يحدد القواعد الأساسية لقاعدة بيانات منظمة:

ماذا تعني هذه القواعد عند التفكير في التصميم العملي لقاعدة البيانات؟ انها في الواقع بسيطة للغاية.

1. القضاء على الازدواجية

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

بشكل حدسي ، عند إنشاء قائمة أو جدول بيانات لتعقب هذه المعلومات ، قد ننشئ جدولًا يحتوي على الحقول التالية:

ومع ذلك ، تذكر القاعدة الأولى المفروضة من قبل 1NF: إزالة الأعمدة المزدوجة من نفس الجدول. بوضوح ، الأعمدة Subordinate1-Subordinate4 مكررة. تأخذ لحظة والتأمل في المشاكل التي أثارها هذا السيناريو. إذا كان للمدير فقط أحد المرؤوسين ، فإن أعمدة Subordinate2-Subordinate4 هي ببساطة مساحة تخزين مهدرة (سلعة قاعدة بيانات ثمينة). علاوة على ذلك ، تخيل الحالة التي يكون فيها المدير بالفعل لديه 4 مرؤوسين - ماذا يحدث إذا أخذت على موظف آخر؟ يتطلب هيكل الجدول بأكمله التعديل.

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

وسيحتوي حقل المرؤوسين على عدة إدخالات في النموذج "Mary، Bill، Joe."

هذا الحل هو أقرب ، لكنه أيضا لا يصل إلى العلامة. لا يزال عمود المرؤوسين مزدوجا وغير ذري. ماذا يحدث عندما نحتاج إلى إضافة أو إزالة أحد المرؤوسين؟ نحن بحاجة لقراءة وكتابة محتويات الجدول بأكمله. هذا ليس مشكلة كبيرة في هذا الموقف ، ولكن ماذا لو كان لمدير واحد مائة موظف؟ كما أنه يعقد عملية اختيار البيانات من قاعدة البيانات في الاستعلامات المستقبلية.

في ما يلي جدول يلبي القاعدة الأولى من 1NF:

في هذه الحالة ، يكون لكل مرؤوس إدخال فردي ، ولكن قد يكون للمدراء عدة إدخالات.

2. تحديد المفتاح الأساسي

الآن ، ماذا عن القاعدة الثانية: تحديد كل صف بعمود فريد أو مجموعة من الأعمدة ( المفتاح الأساسي )؟ يمكنك إلقاء نظرة على الجدول أعلاه واقتراح استخدام العمود الثانوية كمفتاح أساسي. في الواقع ، يعد العمود التابع مرشحًا جيدًا لمفتاح أساسي نظرًا لأن قواعد أعمالنا قد حددت أن كل مرؤوس قد يكون لديه مدير واحد فقط. ومع ذلك ، فإن البيانات التي اخترنا تخزينها في جدولنا تجعل هذا الحل أقل من مثالي. ماذا يحدث إذا قمنا بتعيين موظف آخر يدعى جيم؟ كيف نقوم بتخزين علاقته مدير المرؤوسين في قاعدة البيانات؟

من الأفضل استخدام معرف فريد بالفعل (مثل معرّف الموظف) كمفتاح أساسي . سيبدو جدولنا النهائي كما يلي:

الآن ، طاولتنا هي في أول شكل طبيعي! إذا كنت ترغب في مواصلة التعلم عن التطبيع ، فاقرأ المقالات الأخرى في هذه السلسلة: