تطبيع قاعدة البيانات
تُعرف عملية تطبيع قواعد البيانات بأنها عملية تنظيم قاعدة بيانات علائقية وفقًا لسلسلة من الأشكال الطبيعية لتقليل تكرار البيانات وتحسين سلامتها . وقد اقترحها لأول مرة عالم الحاسوب البريطاني إدغار ف. كود كجزء من نموذجه العلائقي .
تتضمن عملية التطبيع تنظيم أعمدة (خصائص) وجداول (علاقات) قاعدة البيانات لضمان تطبيق قيود سلامة قاعدة البيانات بشكل صحيح على تبعياتها . ويتم ذلك من خلال تطبيق قواعد رسمية إما عن طريق عملية التركيب (إنشاء تصميم جديد لقاعدة البيانات) أو عملية التفكيك (تحسين تصميم قاعدة بيانات موجود).
أهداف
كان أحد الأهداف الأساسية لأول نموذج طبيعي حدده كود عام 1970 هو السماح بالاستعلام عن البيانات ومعالجتها باستخدام "لغة بيانات فرعية عالمية" تستند إلى منطق الرتبة الأولى . [ 1 ] ومن أمثلة هذه اللغة لغة SQL ، على الرغم من أن كود اعتبرها معيبة بشكل خطير. [ 2 ]
وقد حدد كود أهداف التطبيع بعد النموذج الطبيعي الأول (1NF) على النحو التالي:
- لتحرير مجموعة العلاقات من تبعيات الإضافة والتحديث والحذف غير المرغوب فيها.
- لتقليل الحاجة إلى إعادة هيكلة مجموعة العلاقات، مع إدخال أنواع جديدة من البيانات، وبالتالي زيادة عمر برامج التطبيقات.
- لجعل النموذج العلائقي أكثر إفادة للمستخدمين.
- لجعل مجموعة العلاقات محايدة بالنسبة لإحصائيات الاستعلام، حيث أن هذه الإحصائيات عرضة للتغيير مع مرور الوقت.
— إي إف كود، "مزيد من التطبيع لنموذج قاعدة البيانات العلائقية" [ 3 ]



عند محاولة تعديل (تحديث، أو إدراج، أو حذف) علاقة ما، قد تظهر الآثار الجانبية غير المرغوب فيها التالية في العلاقات التي لم يتم تطبيعها بشكل كافٍ:
- شذوذ الإدخال
- توجد ظروف لا يمكن فيها تسجيل بعض البيانات على الإطلاق. على سبيل المثال، قد يحتوي كل سجل في علاقة "أعضاء هيئة التدريس ومقرراتهم" على رقم تعريف عضو هيئة التدريس، واسمه، وتاريخ تعيينه، ورمز المقرر. لذلك، يمكن تسجيل بيانات أي عضو هيئة تدريس يُدرّس مقررًا واحدًا على الأقل، ولكن لا يمكن تسجيل بيانات عضو هيئة تدريس مُعيّن حديثًا لم يُكلّف بعد بتدريس أي مقررات، إلا بتعيين رمز المقرر إلى قيمة فارغة .
- تحديث الشذوذ
- يمكن عرض نفس المعلومات في عدة صفوف؛ لذا قد تؤدي تحديثات العلاقة إلى تناقضات منطقية. على سبيل المثال، قد يحتوي كل سجل في علاقة "مهارات الموظفين" على رقم الموظف وعنوانه ومهارته؛ وبالتالي، قد يلزم تطبيق تغيير عنوان موظف معين على عدة سجلات (سجل لكل مهارة). إذا كان التحديث ناجحًا جزئيًا فقط - أي تم تحديث عنوان الموظف في بعض السجلات دون غيرها - فإن العلاقة تبقى في حالة غير متسقة. تحديدًا، تُقدم العلاقة إجابات متضاربة حول عنوان هذا الموظف تحديدًا.
- شذوذ الحذف
- في بعض الحالات، يستلزم حذف البيانات التي تمثل وقائع معينة حذف بيانات أخرى تمثل وقائع مختلفة تمامًا. وتعاني علاقة "أعضاء هيئة التدريس ومقرراتهم الدراسية" الموضحة في المثال السابق من هذا النوع من الشذوذ، فإذا توقف عضو هيئة تدريس مؤقتًا عن تدريس أي مقررات دراسية، يجب حذف آخر سجل يظهر فيه هذا العضو، مما يؤدي فعليًا إلى حذفه هو أيضًا، إلا إذا تم تعيين حقل "رمز المقرر الدراسي" إلى قيمة فارغة.
قلل من إعادة التصميم عند توسيع بنية قاعدة البيانات
يمكن توسيع قاعدة البيانات المُنمذجة بالكامل لاستيعاب أنواع جديدة من البيانات مع الحد الأدنى من التغييرات في بنيتها الحالية. ونتيجة لذلك، تتأثر التطبيقات التي تتفاعل مع قاعدة البيانات بشكل طفيف.
تعكس العلاقات المعيارية والعلاقات بينها مفاهيم العالم الحقيقي وعلاقاتها المتبادلة.
الأشكال الطبيعية
قدم كود مفهوم التطبيع وما يُعرف الآن بالشكل الطبيعي الأول (1NF) في عام 1970. [ 4 ] ثم قام كود بتعريف الشكل الطبيعي الثاني (2NF) والشكل الطبيعي الثالث (3NF) في عام 1971، [ 5 ] وقام كود وريموند ف. بويس بتعريف الشكل الطبيعي بويس-كود (BCNF) في عام 1974. [ 6 ]
قدم رونالد فاجين الشكل الطبيعي الرابع (4NF) في عام 1977 والشكل الطبيعي الخامس (5NF) في عام 1979. وقدم كريستوفر جيه ديت الشكل الطبيعي السادس (6NF) في عام 2003.
بشكل غير رسمي، يُوصف جدول البيانات العلائقية بأنه "مُعَيَّر" إذا استوفى معيار النموذج الطبيعي الثالث. [ 7 ] معظم جداول البيانات في النموذج الطبيعي الثالث خالية من أي شذوذ في عمليات الإضافة والتحديث والحذف.
الأشكال الطبيعية (من الأقل تطبيعًا إلى الأكثر تطبيعًا) هي:
- UNF: الصيغة غير المعيارية
- 1NF: الشكل الطبيعي الأول
- 2NF: الشكل الطبيعي الثاني
- 3NF: الشكل الطبيعي الثالث
- EKNF: الشكل الطبيعي للمفتاح الابتدائي
- BCNF: الشكل الطبيعي لبويس-كود
- 4NF: الشكل الطبيعي الرابع
- ETNF: الشكل الطبيعي للصف الأساسي
- 5NF: الشكل الطبيعي الخامس
- DKNF: الصيغة الطبيعية لمفتاح المجال
- 6NF: الشكل الطبيعي السادس
| القيد (وصف غير رسمي بين قوسين) | جامعة شمال فلوريدا (1970) | 1NF (1970) | 2NF (1971) | 3NF (1971) | EKNF (1982) | BCNF (1974) | 4NF (1977) | ETNF (2012) | 5NF (1979) | DKNF (1981) | 6NF (2003) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| صفوف فريدة (بدون سجلات مكررة) [ 4 ] | |||||||||||
| الأعمدة العددية (لا يمكن أن تحتوي الأعمدة على علاقات أو قيم مركبة) [ 5 ] | |||||||||||
| كل سمة غير أساسية لها تبعية وظيفية كاملة على كل مفتاح مرشح (تعتمد السمات على كل مفتاح بالكامل ) [ 5 ] | |||||||||||
| كل تبعية وظيفية غير تافهة إما تبدأ بمفتاح فائق أو تنتهي بسمة أساسية (تعتمد السمات فقط على المفاتيح المرشحة) [ 5 ] | |||||||||||
| كل تبعية وظيفية غير تافهة إما تبدأ بمفتاح فائق أو تنتهي بسمة أولية أساسية (شكل أكثر صرامة من 3NF) | غير متوفر | ||||||||||
| كل تبعية وظيفية غير تافهة تبدأ بمفتاح فائق (شكل أكثر صرامة من 3NF) | غير متوفر | ||||||||||
| كل تبعية متعددة القيم غير تافهة تبدأ بمفتاح فائق | غير متوفر | ||||||||||
| كل تبعية ربط لها مكون مفتاح فائق [ 8 ] | غير متوفر | ||||||||||
| كل تبعية ربط تحتوي فقط على مكونات مفتاح فائق | غير متوفر | ||||||||||
| كل قيد هو نتيجة لقيود المجال والقيود الرئيسية | |||||||||||
| كل تبعية ربط بسيطة. |
مثال
التطبيع هو أسلوب لتصميم قواعد البيانات، يُستخدم لتصميم جداول قواعد البيانات العلائقية وصولاً إلى مستوى أعلى من التطبيع. [ 9 ] هذه العملية تدريجية، ولا يمكن الوصول إلى مستوى أعلى من تطبيع قاعدة البيانات إلا بعد استيفاء المستويات السابقة. [ 10 ]
وهذا يعني أنه عند وجود البيانات في شكل غير مُعَيَّر (الأقل تطبيعًا) والهدف هو تحقيق أعلى مستوى من التطبيع، فإن الخطوة الأولى ستكون ضمان الامتثال للشكل الطبيعي الأول ، والخطوة الثانية ستكون ضمان الامتثال للشكل الطبيعي الثاني ، وهكذا بالترتيب المذكور أعلاه، حتى تتوافق البيانات مع الشكل الطبيعي السادس .
ومع ذلك، فإن الأشكال الطبيعية التي تتجاوز الشكل الطبيعي الرابع (4NF) ذات أهمية أكاديمية في المقام الأول، لأن المشكلات التي وُجدت لحلها نادراً ما تظهر في الممارسة العملية. [ 11 ]
صُممت البيانات في المثال التالي عمدًا لتتعارض مع معظم الأشكال الطبيعية. عمليًا، غالبًا ما يكون من الممكن تخطي بعض خطوات التطبيع لأن البيانات مُطَبَّعة بالفعل إلى حد ما. كما أن تصحيح انتهاك أحد الأشكال الطبيعية غالبًا ما يُصحح انتهاك شكل طبيعي أعلى. في المثال، تم اختيار جدول واحد للتطبيع في كل خطوة، مما يعني أنه في النهاية، قد لا تكون بعض الجداول مُطَبَّعة بشكل كافٍ.
البيانات الأولية
لنفترض وجود جدول قاعدة بيانات بالبنية التالية، يصف كتابًا: [ 10 ]
| عنوان | مؤلف | جنسية المؤلف | شكل | سعر | موضوع | الصفحات | سماكة | الناشر | بلد الناشر | هوية النوع | اسم النوع | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | تشاد راسل | أمريكي | غلاف مقوى | 49.99 |
| 520 | سميك | أبريس | الولايات المتحدة الأمريكية | 1 | درس تعليمي |
في هذا المثال، يُفترض أن لكل كتاب مؤلف واحد فقط.
يحتوي الجدول الذي يتوافق مع النموذج العلائقي على مفتاح أساسي يُعرّف كل صف بشكل فريد. في مثالنا، المفتاح الأساسي هو مفتاح مركب من {العنوان، التنسيق} ، ويُشار إليه بالتسطير.
| عنوان | مؤلف | جنسية المؤلف | شكل | سعر | موضوع | الصفحات | سماكة | الناشر | بلد الناشر | هوية النوع | اسم النوع | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | تشاد راسل | أمريكي | غلاف مقوى | 49.99 |
| 520 | سميك | أبريس | الولايات المتحدة الأمريكية | 1 | درس تعليمي |
مُرضٍ 1NF
في النموذج الطبيعي الأول، يحتوي كل حقل على قيمة واحدة. لا يجوز أن يحتوي الحقل على مجموعة من القيم أو سجل متداخل. يحتوي حقل "الموضوع" على مجموعة من قيم الموضوعات، مما يعني أنه لا يفي بالمتطلبات. لحل هذه المشكلة، يتم استخراج الموضوعات إلى جدول موضوعات منفصل : [ 10 ]
| عنوان | مؤلف | جنسية المؤلف | شكل | سعر | الصفحات | سماكة | الناشر | بلد الناشر | هوية النوع | اسم النوع |
|---|---|---|---|---|---|---|---|---|---|---|
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | تشاد راسل | أمريكي | غلاف مقوى | 49.99 | 520 | سميك | أبريس | الولايات المتحدة الأمريكية | 1 | درس تعليمي |
| عنوان | اسم الموضوع |
|---|---|
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | MySQL |
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | قاعدة البيانات |
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | تصميم |
بدلاً من جدول واحد في شكل غير مُنظّم ، يوجد الآن جدولان يتوافقان مع النموذج الطبيعي الأول (1NF).
مُرضٍ 2NF
تذكر أن جدول الكتب أدناه يحتوي على مفتاح مركب {العنوان، التنسيق} ، والذي لن يحقق الصيغة الثانية للنموذج الطبيعي (2NF) إذا كانت مجموعة فرعية من هذا المفتاح مُحدِّدًا. في هذه المرحلة من تصميمنا، لم يتم اعتماد المفتاح كمفتاح أساسي ، لذا يُسمى مفتاحًا مرشحًا . انظر إلى الجدول التالي:
| عنوان | شكل | مؤلف | جنسية المؤلف | سعر | الصفحات | سماكة | الناشر | بلد الناشر | هوية النوع | اسم النوع |
|---|---|---|---|---|---|---|---|---|---|---|
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | غلاف مقوى | تشاد راسل | أمريكي | 49.99 | 520 | سميك | أبريس | الولايات المتحدة الأمريكية | 1 | درس تعليمي |
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | كتاب إلكتروني | تشاد راسل | أمريكي | 22.34 | 520 | سميك | أبريس | الولايات المتحدة الأمريكية | 1 | درس تعليمي |
| النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | كتاب إلكتروني | EFCodd | بريطاني | 13.88 | 538 | سميك | أديسون-ويسلي | الولايات المتحدة الأمريكية | 2 | العلوم الشعبية |
| النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | غلاف ورقي | EFCodd | بريطاني | 39.99 | 538 | سميك | أديسون-ويسلي | الولايات المتحدة الأمريكية | 2 | العلوم الشعبية |
تعتمد جميع السمات التي لا تُشكّل جزءًا من المفتاح المرشح على العنوان ، بينما يعتمد السعر فقط على التنسيق . وللتوافق مع النموذج الثاني للتطبيع (2NF) وإزالة التكرارات، يجب أن تعتمد كل سمة غير مُدرجة ضمن المفتاح المرشح على المفتاح المرشح بأكمله، وليس على جزء منه فقط.
لتطبيع هذا الجدول، اجعل {Title} مفتاحًا مرشحًا (بسيطًا) (المفتاح الأساسي) بحيث تعتمد كل سمة غير مرشحة على المفتاح المرشح بالكامل، وقم بإزالة Price إلى جدول منفصل بحيث يمكن الحفاظ على اعتماده على Format :
| عنوان | مؤلف | جنسية المؤلف | الصفحات | سماكة | الناشر | بلد الناشر | هوية النوع | اسم النوع |
|---|---|---|---|---|---|---|---|---|
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | تشاد راسل | أمريكي | 520 | سميك | أبريس | الولايات المتحدة الأمريكية | 1 | درس تعليمي |
| النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | EFCodd | بريطاني | 538 | سميك | أديسون-ويسلي | الولايات المتحدة الأمريكية | 2 | العلوم الشعبية |
| عنوان | شكل | سعر |
|---|---|---|
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | غلاف مقوى | 49.99 |
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | كتاب إلكتروني | 22.34 |
| النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | كتاب إلكتروني | 13.88 |
| النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | غلاف ورقي | 39.99 |
الآن، يتوافق كل من جدولي الكتب والأسعار مع الصيغة الثانية للنموذج الطبيعي (2NF) .
مُرضٍ 3NF
لا يزال جدول الكتب يعاني من تبعية وظيفية متعدية (تعتمد جنسية المؤلف على المؤلف، الذي يعتمد بدوره على العنوان). وتوجد مخالفات مماثلة لجدول الناشر (يعتمد بلد الناشر على الناشر، الذي يعتمد بدوره على العنوان) ولجدول النوع الأدبي (يعتمد اسم النوع الأدبي على معرّف النوع الأدبي، الذي يعتمد بدوره على العنوان). لذا، فإن جدول الكتب ليس في النموذج الثالث للتطبيع. ولحل هذه المشكلة، يمكننا وضع جنسية المؤلف، وبلد الناشر، واسم النوع الأدبي في جداول منفصلة، مما يزيل التبعيات الوظيفية المتعدية.
| عنوان | مؤلف | الصفحات | سماكة | الناشر | هوية النوع |
|---|---|---|---|---|---|
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | تشاد راسل | 520 | سميك | أبريس | 1 |
| النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | EFCodd | 538 | سميك | أديسون-ويسلي | 2 |
|
| مؤلف | جنسية |
|---|---|
| تشاد راسل | أمريكي |
| EFCodd | بريطاني |
| الناشر | دولة |
|---|---|
| أبريس | الولايات المتحدة الأمريكية |
| أديسون-ويسلي | الولايات المتحدة الأمريكية |
| هوية النوع | اسم |
|---|---|
| 1 | درس تعليمي |
| 2 | العلوم الشعبية |
EKNF مُرضٍ
يقع نموذج المفتاح الأساسي الطبيعي (EKNF) بين النموذج الثالث الطبيعي (3NF) ونموذج BCNF، ولا يُناقش كثيرًا في المراجع العلمية. يهدف هذا النموذج إلى "استخلاص الخصائص البارزة لكل من 3NF وBCNF" مع تجنب مشاكلهما (أي أن 3NF "متساهل جدًا" وBCNF "عرضة للتعقيد الحسابي"). ولأنه نادرًا ما يُذكر في المراجع، لم يُدرج في هذا المثال.
مُرضٍ 4NF
لنفترض أن قاعدة البيانات مملوكة لسلسلة متاجر لبيع الكتب بالتجزئة، ولديها عدة فروع تمتلك متاجر في مواقع مختلفة. ولذلك، قررت سلسلة المتاجر إضافة جدول يحتوي على بيانات حول توافر الكتب في مختلف المواقع.
| هوية صاحب الامتياز | عنوان | موقع |
|---|---|---|
| 1 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | كاليفورنيا |
| 1 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | فلوريدا |
| 1 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | تكساس |
| 1 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | كاليفورنيا |
| 1 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | فلوريدا |
| 1 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | تكساس |
| 2 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | كاليفورنيا |
| 2 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | فلوريدا |
| 2 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | تكساس |
| 2 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | كاليفورنيا |
| 2 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | فلوريدا |
| 2 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | تكساس |
| 3 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | تكساس |
بما أن بنية هذا الجدول تتكون من مفتاح أساسي مركب ، فإنه لا يحتوي على أي سمات غير مفتاحية، وهو بالفعل في صيغة BCNF (وبالتالي يستوفي جميع الصيغ الطبيعية السابقة ). مع ذلك، بافتراض أن جميع الكتب المتاحة معروضة في كل منطقة، فإن العنوان غير مرتبط بشكل قاطع بموقع محدد ، وبالتالي فإن الجدول لا يستوفي الصيغة الطبيعية الرابعة (4NF ).
وهذا يعني أنه لتحقيق الشكل الطبيعي الرابع ، يجب تفكيك هذا الجدول أيضًا:
|
|
الآن، يتم تحديد كل سجل بشكل لا لبس فيه بواسطة مفتاح فائق ، وبالتالي يتم استيفاء 4NF .
ETNF مُرضٍ
لنفترض أن بإمكان أصحاب الامتياز طلب الكتب من موردين مختلفين. ولنفترض أن هذه العلاقة تخضع أيضاً للقيد التالي:
- إذا قام مورد معين بتوريد عنوان معين
- ويتم تسليم سند الملكية إلى صاحب الامتياز
- ويتم تزويد صاحب الامتياز من قبل المورد،
- ثم يقوم المورد بتزويد صاحب الامتياز بسند الملكية . [ 12 ]
| معرف المورد | عنوان | هوية صاحب الامتياز |
|---|---|---|
| 1 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | 1 |
| 2 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | 2 |
| 3 | تعلم لغة SQL | 3 |
هذا الجدول في النموذج الرابع للتطبيع (4NF) ، لكن مُعرّف المورّد يساوي مجموع إسقاطاته: {{مُعرّف المورّد، اللقب}، {اللقب، مُعرّف صاحب الامتياز}، {مُعرّف صاحب الامتياز، مُعرّف المورّد}} . لا يوجد أي عنصر من عناصر هذا الربط مفتاحًا فائقًا (المفتاح الفائق الوحيد هو العنوان بأكمله)، لذا لا يستوفي الجدول متطلبات النموذج الرابع للتطبيع (ETNF) ويمكن تفكيكه بشكل أكبر: [ 12 ]
|
|
|
ينتج عن التحلل الامتثال لمعايير ETNF.
مُرضٍ 5NF
للكشف عن جدول لا يفي بالنموذج الخامس للصيغة الطبيعية (5NF) ، عادةً ما يكون من الضروري فحص البيانات بدقة. لنفترض الجدول من مثال النموذج الرابع للصيغة الطبيعية (4NF) مع تعديل طفيف في البيانات، ولنفحص ما إذا كان يفي بالنموذج الخامس للصيغة الطبيعية (5NF) :
| هوية صاحب الامتياز | عنوان | موقع |
|---|---|---|
| 1 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | كاليفورنيا |
| 1 | تعلم لغة SQL | كاليفورنيا |
| 1 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | تكساس |
| 2 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | كاليفورنيا |
يؤدي تقسيم هذا الجدول إلى تقليل التكرار، مما ينتج عنه الجدولان التاليان:
|
|
سيؤدي الاستعلام الذي يربط هذه الجداول إلى إرجاع البيانات التالية:
| هوية صاحب الامتياز | عنوان | موقع |
|---|---|---|
| 1 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | كاليفورنيا |
| 1 | تعلم لغة SQL | كاليفورنيا |
| 1 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | كاليفورنيا |
| 1 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | تكساس |
| 1 | تعلم لغة SQL | تكساس |
| 1 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | تكساس |
| 2 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | كاليفورنيا |
تُرجع عملية الربط ثلاثة صفوف إضافية عما ينبغي؛ إضافة جدول آخر لتوضيح العلاقة ينتج عنه ثلاثة جداول منفصلة:
|
|
|
ماذا ستُرجع عملية الربط الآن؟ في الواقع، لا يمكن ربط هذه الجداول الثلاثة. هذا يعني أنه لم يكن من الممكن فصل جدول الامتياز – السجل – الموقع دون فقدان البيانات، وبالتالي فإن الجدول يُلبي بالفعل معيار 5NF .
تنويه : البيانات المستخدمة توضح المبدأ، ولكنها لا تضمن صحته. في هذه الحالة، يُفضل تقسيم البيانات إلى ما يلي، مع مفتاح بديل سنسميه "معرف المتجر":
|
|
ستُعيد عملية الربط الآن النتيجة المتوقعة:
| معرف المتجر | عنوان | هوية صاحب الامتياز | موقع |
|---|---|---|---|
| 1 | مقدمة في تصميم وتحسين قواعد بيانات MySQL | 1 | كاليفورنيا |
| 1 | تعلم لغة SQL | 1 | كاليفورنيا |
| 2 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | 1 | تكساس |
| 3 | النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | 2 | كاليفورنيا |
جادل سي جيه ديت بأن قاعدة البيانات التي تتبع النموذج الخامس للتطبيع (5NF) هي فقط التي تُعتبر "مُطَبَّعة" حقًا. [ 13 ]
DKNF مُرضٍ
دعونا نلقي نظرة على جدول الكتب من الأمثلة السابقة ونرى ما إذا كان يفي بالصيغة الطبيعية للمفتاح الخاص بالمجال :
| عنوان | الصفحات | سماكة | هوية النوع | معرف الناشر |
|---|---|---|---|---|
| مقدمة في تصميم وتحسين قواعد بيانات MySQL | 520 | سميك | 1 | 1 |
| النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2 | 538 | سميك | 2 | 2 |
| تعلم لغة SQL | 338 | نحيل | 1 | 3 |
| كتاب طبخ SQL | 636 | سميك | 1 | 3 |
منطقياً، يتحدد سُمك الكتاب بعدد صفحاته. وهذا يعني أنه يعتمد على عدد الصفحات ، وهو ليس عاملاً أساسياً. لنفترض مثلاً أن الكتاب الذي يصل عدد صفحاته إلى 350 صفحة يُعتبر "رفيعاً"، بينما يُعتبر الكتاب الذي يزيد عدد صفحاته عن 350 صفحة "سميكاً".
هذا الاتفاق هو قيد من الناحية الفنية ولكنه ليس قيدًا على المجال ولا قيدًا على المفتاح؛ لذلك لا يمكننا الاعتماد على قيود المجال وقيود المفتاح للحفاظ على سلامة البيانات.
بمعنى آخر - لا شيء يمنعنا من وضع، على سبيل المثال، "سميك" لكتاب يحتوي على 50 صفحة فقط - وهذا يجعل الجدول ينتهك DKNF .
لحل هذه المشكلة، يتم إنشاء جدول يحتوي على تعداد يحدد السماكة ، ويتم إزالة هذا العمود من الجدول الأصلي:
|
|
وبهذه الطريقة، تم القضاء على انتهاك سلامة المجال، وأصبح الجدول في صيغة DKNF .
لا يمنع التوحيد جميع حالات المخرجات المستحيلة/المتضاربة/غير المتوقعة. في هذا المثال، ستؤدي صفحات الحد الأدنى/الأقصى التي تبلغ 1/350 و200/999,999,999,999 إلى نتائج غير متوقعة. لذلك، من الأفضل تحديد صفحات الحد الأدنى واستخدامها فقط.
مُرضٍ 6NF
التعريف البسيط والبديهي للشكل الطبيعي السادس هو أن "الجدول يكون في 6NF عندما يحتوي الصف على المفتاح الأساسي، وسمة واحدة أخرى على الأكثر".[ 14 ]
وهذا يعني، على سبيل المثال، جدول الناشر المصمم أثناء إنشاء النموذج الطبيعي الأول (1NF) :
| معرف الناشر | اسم | دولة |
|---|---|---|
| 1 | أبريس | الولايات المتحدة الأمريكية |
يجب تقسيمها بشكل أكبر إلى جدولين:
|
|
يتمثل العيب الواضح للنموذج السادس للتطبيع (6NF) في كثرة الجداول اللازمة لتمثيل المعلومات المتعلقة بكيان واحد. فإذا كان جدول في النموذج الخامس للتطبيع (5NF) يحتوي على عمود مفتاح أساسي واحد وعدد N من السمات، فإن تمثيل المعلومات نفسها في النموذج السادس للتطبيع (6NF) سيتطلب عددًا N من الجداول؛ كما أن تحديثات الحقول المتعددة لسجل مفاهيمي واحد ستتطلب تحديثات لجداول متعددة؛ وبالمثل، ستتطلب عمليات الإضافة والحذف إجراء عمليات عبر جداول متعددة. لهذا السبب، لا يُنصح باستخدام النموذج السادس للتطبيع (6NF) في قواعد البيانات المصممة لتلبية احتياجات معالجة المعاملات الفورية (OLTP).
مع ذلك، في مستودعات البيانات ، التي لا تسمح بالتحديثات التفاعلية والمخصصة للاستعلام السريع عن كميات كبيرة من البيانات، تستخدم بعض أنظمة إدارة قواعد البيانات تمثيلًا داخليًا من المستوى السادس (6NF) يُعرف باسم مخزن البيانات العمودي . في الحالات التي يكون فيها عدد القيم الفريدة لعمود ما أقل بكثير من عدد الصفوف في الجدول، يتيح التخزين العمودي توفيرًا كبيرًا في المساحة من خلال ضغط البيانات. كما يسمح التخزين العمودي بتنفيذ سريع لاستعلامات النطاق (مثل عرض جميع السجلات التي تقع فيها قيمة عمود معين بين X و Y، أو أقل من X).
في جميع هذه الحالات، لا يحتاج مصمم قاعدة البيانات إلى إجراء عملية التطبيع وفقًا للنموذج السادس (6NF) يدويًا عن طريق إنشاء جداول منفصلة. تستخدم بعض أنظمة إدارة قواعد البيانات المتخصصة في مستودعات البيانات، مثل Sybase IQ ، التخزين العمودي افتراضيًا، لكن المصمم لا يزال يرى جدولًا واحدًا متعدد الأعمدة فقط. بينما تتيح أنظمة إدارة قواعد بيانات أخرى، مثل Microsoft SQL Server 2012 والإصدارات الأحدث، تحديد "فهرس تخزين عمودي" لجدول معين. [ 15 ]
انظر أيضاً
ملاحظات ومراجع
- ↑ «إن اعتماد نموذج علائقي للبيانات... يسمح بتطوير لغة فرعية عالمية للبيانات تستند إلى حساب التفاضل والتكامل التطبيقي. ويكفي حساب التفاضل والتكامل من الدرجة الأولى إذا كانت مجموعة العلاقات في شكلها الطبيعي. وستوفر هذه اللغة معيارًا للقوة اللغوية لجميع لغات البيانات الأخرى المقترحة، وستكون هي نفسها مرشحًا قويًا للتضمين (مع تعديل نحوي مناسب) في مجموعة متنوعة من لغات الاستضافة (البرمجة، أو لغات الأوامر، أو لغات حل المشكلات).» كود، «نموذج علائقي للبيانات لبنوك البيانات المشتركة الكبيرة»، مؤرشف في 12 يونيو 2007، في Wayback Machine ، ص 381
- ↑ كود، إي إف، الفصل 23، "عيوب خطيرة في لغة SQL" ، في النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2. أديسون-ويسلي (1990)، الصفحات 371-389
- ↑ كود، إي إف "مزيد من التطبيع لنموذج قاعدة البيانات العلائقية"، ص 34
- 1 2 كود، إي إف (يونيو 1970). "نموذج علائقي للبيانات لبنوك البيانات المشتركة الكبيرة" . اتصالات رابطة مكائن الحوسبة . 13 (6): 377-387 . doi : 10.1145/362384.362685 . S2CID 207549016 .
- 1 2 3 4 كود، إي إف. "مزيد من التطبيع لنموذج قواعد البيانات العلائقية". (عُرض في سلسلة ندوات كورانت لعلوم الحاسوب 6، "أنظمة قواعد البيانات"، مدينة نيويورك، 24-25 مايو 1971). تقرير بحثي لشركة آي بي إم RJ909 (31 أغسطس 1971). أُعيد نشره في راندال جيه. راستين (محرر)، أنظمة قواعد البيانات: سلسلة ندوات كورانت لعلوم الحاسوب 6. برنتيس هول، 1972.
- ↑ كود، إي إف. "دراسات حديثة في أنظمة قواعد البيانات العلائقية". تقرير بحثي لشركة آي بي إم رقم RJ1385 (23 أبريل 1974). أعيد نشره في وقائع مؤتمر 1974 (ستوكهولم، السويد، 1974)، نيويورك: نورث هولاند (1974).
- ↑ ديت، سي جيه (1999). مقدمة في أنظمة قواعد البيانات . أديسون-ويسلي. ص 290.
- ↑ داروين، هيو؛ ديت، سي جيه؛ فاجين، رونالد (2012). "صيغة طبيعية لمنع الصفوف الزائدة في قواعد البيانات العلائقية" (ملف PDF) . وقائع المؤتمر الدولي الخامس عشر لنظرية قواعد البيانات . المؤتمر المشترك EDBT/ICDT 2012. سلسلة وقائع المؤتمرات الدولية ACM. رابطة آلات الحوسبة . ص 114. doi : 10.1145/2274576.2274589 . ISBN 978-1-4503-0791-8OCLC 802369023. مؤرشف (PDF) من الأصل في 6 مارس 2016. تم الاطلاع عليه في 22 مايو 2018 .
- ↑ كومار، كونال؛ آزاد، إس كيه (أكتوبر 2017). "نمط تصميم تطبيع قواعد البيانات". المؤتمر الدولي الرابع لفرع ولاية أوتار براديش التابع لمعهد مهندسي الكهرباء والإلكترونيات ( IEEE) لعام 2017 حول الهندسة الكهربائية والحاسوبية والإلكترونية (UPCON). معهد مهندسي الكهرباء والإلكترونيات. الصفحات 318-322 . doi : 10.1109/upcon.2017.8251067 . ISBN 9781538630044. S2CID 24491594 .
- ١ ٢ ٣ "تطبيع قواعد البيانات في MySQL: أربع خطوات سريعة وسهلة" . ComputerWeekly.com . مؤرشف من الأصل في ٣٠ أغسطس ٢٠١٧. تم الاطلاع عليه في ٢٣ مارس ٢٠٢١ .
- ↑ "تطبيع قواعد البيانات: النموذج الطبيعي الخامس وما بعده" . قاعدة معارف MariaDB . تم الاطلاع عليه بتاريخ 23 يناير 2019 .
- 1 2 ديت، سي جيه (21 ديسمبر 2015). قاموس قواعد البيانات العلائقية الجديد: المصطلحات والمفاهيم والأمثلة . دار نشر أورايلي ميديا، ص 138. ISBN 9781491951699.
- ↑ ديت، سي جيه (21 ديسمبر 2015). قاموس قواعد البيانات العلائقية الجديد: المصطلحات والمفاهيم والأمثلة . دار نشر أورايلي ميديا، ص 163. ISBN 9781491951699.
- ↑ "التطبيع - أرغب في فهم النموذج السادس للتطبيع من خلال مثال" . موقع ستاك أوفرفلو . تم الاطلاع عليه بتاريخ 23 يناير 2019 .
- ↑ شركة مايكروسوفت. فهارس Columnstore: نظرة عامة. https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-overview . تاريخ الوصول: 23 مارس 2020.
للمزيد من القراءة
- ديت، سي جيه (1999)، مقدمة في أنظمة قواعد البيانات (الطبعة الثامنة). أديسون-ويسلي لونجمان. رقم ISBN 0-321-19784-4.
- كينت، دبليو. (1983) دليل بسيط لخمسة أشكال طبيعية في نظرية قواعد البيانات العلائقية ، اتصالات رابطة مكائن الحوسبة، المجلد 26، الصفحات 120-125
- هـ. ج. شيك، ب. بيستور: هياكل البيانات لنظام متكامل لإدارة قواعد البيانات واسترجاع المعلومات
روابط خارجية
- كينت، ويليام (فبراير 1983). "دليل مبسط لخمسة أشكال طبيعية في نظرية قواعد البيانات العلائقية" . مجلة اتصالات رابطة مكائن الحوسبة . 26 (2): 120-125 . doi : 10.1145/358024.358054 . S2CID 9195704 .
- أساسيات تطبيع قواعد البيانات، مؤرشفة في 5 فبراير 2007، على موقع Wayback Machine بواسطة مايك تشابل (About.com)
- مقدمة في تطبيع قواعد البيانات ( مؤرشفة في 28 سبتمبر 2011 على موقع Wayback Machine) ، الجزء الثاني ( مؤرشفة في 8 يوليو 2011 على موقع Wayback Machine)
- مقدمة في تطبيع قواعد البيانات بقلم مايك هيليير.
- شرحٌ مبسطٌ لأول ثلاثة أشكالٍ طبيعيةٍ من إعداد فريد كولسون
- شرح أساسيات تطبيع قواعد البيانات من مايكروسوفت
- التطبيع في أنظمة إدارة قواعد البيانات (DBMS) بقلم تشايتانيا (beginnersbook.com)
- دليل خطوة بخطوة لتطبيع قواعد البيانات
- ETNF - الصيغة الطبيعية الأساسية للصفوف. مؤرشفة في 6 مارس 2016 على موقع Wayback Machine.
- تطبيع قاعدة البيانات
- قيود قاعدة البيانات
- إدارة البيانات
- نمذجة البيانات
- الجبر العلائقي
- أنظمة إدارة قواعد البيانات
