تطبيع قاعدة البيانات

تُعرف عملية تطبيع قواعد البيانات بأنها عملية تنظيم قاعدة بيانات علائقية وفقًا لسلسلة من الأشكال الطبيعية لتقليل تكرار البيانات وتحسين سلامتها . وقد اقترحها لأول مرة عالم الحاسوب البريطاني إدغار ف. كود كجزء من نموذجه العلائقي .

تتضمن عملية التطبيع تنظيم أعمدة (خصائص) وجداول (علاقات) قاعدة البيانات لضمان تطبيق قيود سلامة قاعدة البيانات بشكل صحيح على تبعياتها . ويتم ذلك من خلال تطبيق قواعد رسمية إما عن طريق عملية التركيب (إنشاء تصميم جديد لقاعدة البيانات) أو عملية التفكيك (تحسين تصميم قاعدة بيانات موجود).

أهداف

كان أحد الأهداف الأساسية لأول نموذج طبيعي حدده كود عام 1970 هو السماح بالاستعلام عن البيانات ومعالجتها باستخدام "لغة بيانات فرعية عالمية" تستند إلى منطق الرتبة الأولى . [ 1 ] ومن أمثلة هذه اللغة لغة SQL ، على الرغم من أن كود اعتبرها معيبة بشكل خطير. [ 2 ]

وقد حدد كود أهداف التطبيع بعد النموذج الطبيعي الأول (1NF) على النحو التالي:

  1. لتحرير مجموعة العلاقات من تبعيات الإضافة والتحديث والحذف غير المرغوب فيها.
  2. لتقليل الحاجة إلى إعادة هيكلة مجموعة العلاقات، مع إدخال أنواع جديدة من البيانات، وبالتالي زيادة عمر برامج التطبيقات.
  3. لجعل النموذج العلائقي أكثر إفادة للمستخدمين.
  4. لجعل مجموعة العلاقات محايدة بالنسبة لإحصائيات الاستعلام، حيث أن هذه الإحصائيات عرضة للتغيير مع مرور الوقت.

إي إف كود، "مزيد من التطبيع لنموذج قاعدة البيانات العلائقية" [ 3 ]

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

عند محاولة تعديل (تحديث، أو إدراج، أو حذف) علاقة ما، قد تظهر الآثار الجانبية غير المرغوب فيها التالية في العلاقات التي لم يتم تطبيعها بشكل كافٍ:

شذوذ الإدخال
توجد ظروف لا يمكن فيها تسجيل بعض البيانات على الإطلاق. على سبيل المثال، قد يحتوي كل سجل في علاقة "أعضاء هيئة التدريس ومقرراتهم" على رقم تعريف عضو هيئة التدريس، واسمه، وتاريخ تعيينه، ورمز المقرر. لذلك، يمكن تسجيل بيانات أي عضو هيئة تدريس يُدرّس مقررًا واحدًا على الأقل، ولكن لا يمكن تسجيل بيانات عضو هيئة تدريس مُعيّن حديثًا لم يُكلّف بعد بتدريس أي مقررات، إلا بتعيين رمز المقرر إلى قيمة فارغة .
تحديث الشذوذ
يمكن عرض نفس المعلومات في عدة صفوف؛ لذا قد تؤدي تحديثات العلاقة إلى تناقضات منطقية. على سبيل المثال، قد يحتوي كل سجل في علاقة "مهارات الموظفين" على رقم الموظف وعنوانه ومهارته؛ وبالتالي، قد يلزم تطبيق تغيير عنوان موظف معين على عدة سجلات (سجل لكل مهارة). إذا كان التحديث ناجحًا جزئيًا فقط - أي تم تحديث عنوان الموظف في بعض السجلات دون غيرها - فإن العلاقة تبقى في حالة غير متسقة. تحديدًا، تُقدم العلاقة إجابات متضاربة حول عنوان هذا الموظف تحديدًا.
شذوذ الحذف
في بعض الحالات، يستلزم حذف البيانات التي تمثل وقائع معينة حذف بيانات أخرى تمثل وقائع مختلفة تمامًا. وتعاني علاقة "أعضاء هيئة التدريس ومقرراتهم الدراسية" الموضحة في المثال السابق من هذا النوع من الشذوذ، فإذا توقف عضو هيئة تدريس مؤقتًا عن تدريس أي مقررات دراسية، يجب حذف آخر سجل يظهر فيه هذا العضو، مما يؤدي فعليًا إلى حذفه هو أيضًا، إلا إذا تم تعيين حقل "رمز المقرر الدراسي" إلى قيمة فارغة.

قلل من إعادة التصميم عند توسيع بنية قاعدة البيانات

يمكن توسيع قاعدة البيانات المُنمذجة بالكامل لاستيعاب أنواع جديدة من البيانات مع الحد الأدنى من التغييرات في بنيتها الحالية. ونتيجة لذلك، تتأثر التطبيقات التي تتفاعل مع قاعدة البيانات بشكل طفيف.

تعكس العلاقات المعيارية والعلاقات بينها مفاهيم العالم الحقيقي وعلاقاتها المتبادلة.

الأشكال الطبيعية

قدم كود مفهوم التطبيع وما يُعرف الآن بالشكل الطبيعي الأول (1NF) في عام 1970. [ 4 ] ثم قام كود بتعريف الشكل الطبيعي الثاني (2NF) والشكل الطبيعي الثالث (3NF) في عام 1971، [ 5 ] وقام كود وريموند ف. بويس بتعريف الشكل الطبيعي بويس-كود (BCNF) في عام 1974. [ 6 ]

قدم رونالد فاجين الشكل الطبيعي الرابع (4NF) في عام 1977 والشكل الطبيعي الخامس (5NF) في عام 1979. وقدم كريستوفر جيه ديت الشكل الطبيعي السادس (6NF) في عام 2003.

بشكل غير رسمي، يُوصف جدول البيانات العلائقية بأنه "مُعَيَّر" إذا استوفى معيار النموذج الطبيعي الثالث. [ 7 ] معظم جداول البيانات في النموذج الطبيعي الثالث خالية من أي شذوذ في عمليات الإضافة والتحديث والحذف.

الأشكال الطبيعية (من الأقل تطبيعًا إلى الأكثر تطبيعًا) هي:

القيد (وصف غير رسمي بين قوسين)جامعة شمال فلوريدا (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
MySQL
قاعدة البيانات
تصميم
520سميكأبريسالولايات المتحدة الأمريكية1درس تعليمي

في هذا المثال، يُفترض أن لكل كتاب مؤلف واحد فقط.

يحتوي الجدول الذي يتوافق مع النموذج العلائقي على مفتاح أساسي يُعرّف كل صف بشكل فريد. في مثالنا، المفتاح الأساسي هو مفتاح مركب من {العنوان، التنسيق} ، ويُشار إليه بالتسطير.

عنوانمؤلفجنسية المؤلفشكلسعرموضوعالصفحاتسماكةالناشربلد الناشرهوية النوعاسم النوع
مقدمة في تصميم وتحسين قواعد بيانات MySQLتشاد راسلأمريكيغلاف مقوى49.99
MySQL
قاعدة البيانات
تصميم
520سميكأبريسالولايات المتحدة الأمريكية1درس تعليمي

مُرضٍ 1NF

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

كتاب
عنوانمؤلفجنسية المؤلفشكلسعرالصفحاتسماكةالناشربلد الناشرهوية النوعاسم النوع
مقدمة في تصميم وتحسين قواعد بيانات MySQLتشاد راسلأمريكيغلاف مقوى49.99520سميكأبريسالولايات المتحدة الأمريكية1درس تعليمي
العنوان - الموضوع
عنواناسم الموضوع
مقدمة في تصميم وتحسين قواعد بيانات MySQLMySQL
مقدمة في تصميم وتحسين قواعد بيانات MySQLقاعدة البيانات
مقدمة في تصميم وتحسين قواعد بيانات MySQLتصميم

بدلاً من جدول واحد في شكل غير مُنظّم ، يوجد الآن جدولان يتوافقان مع النموذج الطبيعي الأول (1NF).

مُرضٍ 2NF

تذكر أن جدول الكتب أدناه يحتوي على مفتاح مركب {العنوان، التنسيق} ، والذي لن يحقق الصيغة الثانية للنموذج الطبيعي (2NF) إذا كانت مجموعة فرعية من هذا المفتاح مُحدِّدًا. في هذه المرحلة من تصميمنا، لم يتم اعتماد المفتاح كمفتاح أساسي ، لذا يُسمى مفتاحًا مرشحًا . انظر إلى الجدول التالي:

كتاب
عنوانشكلمؤلفجنسية المؤلفسعرالصفحاتسماكةالناشربلد الناشرهوية النوعاسم النوع
مقدمة في تصميم وتحسين قواعد بيانات MySQLغلاف مقوىتشاد راسلأمريكي49.99520سميكأبريسالولايات المتحدة الأمريكية1درس تعليمي
مقدمة في تصميم وتحسين قواعد بيانات MySQLكتاب إلكترونيتشاد راسلأمريكي22.34520سميكأبريسالولايات المتحدة الأمريكية1درس تعليمي
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2كتاب إلكترونيEFCoddبريطاني13.88538سميكأديسون-ويسليالولايات المتحدة الأمريكية2العلوم الشعبية
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2غلاف ورقيEFCoddبريطاني39.99538سميكأديسون-ويسليالولايات المتحدة الأمريكية2العلوم الشعبية

تعتمد جميع السمات التي لا تُشكّل جزءًا من المفتاح المرشح على العنوان ، بينما يعتمد السعر فقط على التنسيق . وللتوافق مع النموذج الثاني للتطبيع (2NF) وإزالة التكرارات، يجب أن تعتمد كل سمة غير مُدرجة ضمن المفتاح المرشح على المفتاح المرشح بأكمله، وليس على جزء منه فقط.

لتطبيع هذا الجدول، اجعل {Title} مفتاحًا مرشحًا (بسيطًا) (المفتاح الأساسي) بحيث تعتمد كل سمة غير مرشحة على المفتاح المرشح بالكامل، وقم بإزالة Price إلى جدول منفصل بحيث يمكن الحفاظ على اعتماده على Format :

كتاب
عنوانمؤلفجنسية المؤلفالصفحاتسماكةالناشربلد الناشرهوية النوعاسم النوع
مقدمة في تصميم وتحسين قواعد بيانات MySQLتشاد راسلأمريكي520سميكأبريسالولايات المتحدة الأمريكية1درس تعليمي
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2EFCoddبريطاني538سميكأديسون-ويسليالولايات المتحدة الأمريكية2العلوم الشعبية
سعر
عنوانشكلسعر
مقدمة في تصميم وتحسين قواعد بيانات MySQLغلاف مقوى49.99
مقدمة في تصميم وتحسين قواعد بيانات MySQLكتاب إلكتروني22.34
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2كتاب إلكتروني13.88
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2غلاف ورقي39.99

الآن، يتوافق كل من جدولي الكتب والأسعار مع الصيغة الثانية للنموذج الطبيعي (2NF) .

مُرضٍ 3NF

لا يزال جدول الكتب يعاني من تبعية وظيفية متعدية (تعتمد جنسية المؤلف على المؤلف، الذي يعتمد بدوره على العنوان). وتوجد مخالفات مماثلة لجدول الناشر (يعتمد بلد الناشر على الناشر، الذي يعتمد بدوره على العنوان) ولجدول النوع الأدبي (يعتمد اسم النوع الأدبي على معرّف النوع الأدبي، الذي يعتمد بدوره على العنوان). لذا، فإن جدول الكتب ليس في النموذج الثالث للتطبيع. ولحل هذه المشكلة، يمكننا وضع جنسية المؤلف، وبلد الناشر، واسم النوع الأدبي في جداول منفصلة، ​​مما يزيل التبعيات الوظيفية المتعدية.

كتاب
عنوانمؤلفالصفحاتسماكةالناشرهوية النوع
مقدمة في تصميم وتحسين قواعد بيانات MySQLتشاد راسل520سميكأبريس1
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2EFCodd538سميكأديسون-ويسلي2
سعر
عنوانشكلسعر
مقدمة في تصميم وتحسين قواعد بيانات MySQLغلاف مقوى49.99
مقدمة في تصميم وتحسين قواعد بيانات MySQLكتاب إلكتروني22.34
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2كتاب إلكتروني13.88
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2غلاف ورقي39.99
مؤلف
مؤلفجنسية
تشاد راسلأمريكي
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 ).

وهذا يعني أنه لتحقيق الشكل الطبيعي الرابع ، يجب تفكيك هذا الجدول أيضًا:

صاحب الامتياز - كتاب
هوية صاحب الامتيازعنوان
1مقدمة في تصميم وتحسين قواعد بيانات MySQL
1النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2
2مقدمة في تصميم وتحسين قواعد بيانات MySQL
2النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2
3مقدمة في تصميم وتحسين قواعد بيانات MySQL
صاحب الامتياز – الموقع
هوية صاحب الامتيازموقع
1كاليفورنيا
1فلوريدا
1تكساس
2كاليفورنيا
2فلوريدا
2تكساس
3تكساس

الآن، يتم تحديد كل سجل بشكل لا لبس فيه بواسطة مفتاح فائق ، وبالتالي يتم استيفاء 4NF .

ETNF مُرضٍ

لنفترض أن بإمكان أصحاب الامتياز طلب الكتب من موردين مختلفين. ولنفترض أن هذه العلاقة تخضع أيضاً للقيد التالي:

  • إذا قام مورد معين بتوريد عنوان معين
  • ويتم تسليم سند الملكية إلى صاحب الامتياز
  • ويتم تزويد صاحب الامتياز من قبل المورد،
  • ثم يقوم المورد بتزويد صاحب الامتياز بسند الملكية . [ 12 ]
مورد - كتاب - صاحب امتياز
معرف الموردعنوانهوية صاحب الامتياز
1مقدمة في تصميم وتحسين قواعد بيانات MySQL1
2النموذج العلائقي لإدارة قواعد البيانات: الإصدار 22
3تعلم لغة SQL3

هذا الجدول في النموذج الرابع للتطبيع (4NF) ، لكن مُعرّف المورّد يساوي مجموع إسقاطاته: {{مُعرّف المورّد، اللقب}، {اللقب، مُعرّف صاحب الامتياز}، {مُعرّف صاحب الامتياز، مُعرّف المورّد}} . لا يوجد أي عنصر من عناصر هذا الربط مفتاحًا فائقًا (المفتاح الفائق الوحيد هو العنوان بأكمله)، لذا لا يستوفي الجدول متطلبات النموذج الرابع للتطبيع (ETNF) ويمكن تفكيكه بشكل أكبر: [ 12 ]

المورد - كتاب
معرف الموردعنوان
1مقدمة في تصميم وتحسين قواعد بيانات MySQL
2النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2
3تعلم لغة SQL
كتاب – صاحب امتياز
عنوانهوية صاحب الامتياز
مقدمة في تصميم وتحسين قواعد بيانات MySQL1
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 22
تعلم لغة SQL3
صاحب امتياز – مورد
معرف الموردهوية صاحب الامتياز
11
22
33

ينتج عن التحلل الامتثال لمعايير ETNF.

مُرضٍ 5NF

للكشف عن جدول لا يفي بالنموذج الخامس للصيغة الطبيعية (5NF) ، عادةً ما يكون من الضروري فحص البيانات بدقة. لنفترض الجدول من مثال النموذج الرابع للصيغة الطبيعية (4NF) مع تعديل طفيف في البيانات، ولنفحص ما إذا كان يفي بالنموذج الخامس للصيغة الطبيعية (5NF) :

صاحب الامتياز – حجز – الموقع
هوية صاحب الامتيازعنوانموقع
1مقدمة في تصميم وتحسين قواعد بيانات MySQLكاليفورنيا
1تعلم لغة SQLكاليفورنيا
1النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2تكساس
2النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2كاليفورنيا

يؤدي تقسيم هذا الجدول إلى تقليل التكرار، مما ينتج عنه الجدولان التاليان:

صاحب الامتياز - كتاب
هوية صاحب الامتيازعنوان
1مقدمة في تصميم وتحسين قواعد بيانات MySQL
1تعلم لغة SQL
1النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2
2النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2
صاحب الامتياز – الموقع
هوية صاحب الامتيازموقع
1كاليفورنيا
1تكساس
2كاليفورنيا

سيؤدي الاستعلام الذي يربط هذه الجداول إلى إرجاع البيانات التالية:

صاحب امتياز – حجز – موقع انضم
هوية صاحب الامتيازعنوانموقع
1مقدمة في تصميم وتحسين قواعد بيانات MySQLكاليفورنيا
1تعلم لغة SQLكاليفورنيا
1النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2كاليفورنيا
1النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2تكساس
1تعلم لغة SQLتكساس
1مقدمة في تصميم وتحسين قواعد بيانات MySQLتكساس
2النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2كاليفورنيا

تُرجع عملية الربط ثلاثة صفوف إضافية عما ينبغي؛ إضافة جدول آخر لتوضيح العلاقة ينتج عنه ثلاثة جداول منفصلة:

صاحب الامتياز - كتاب
هوية صاحب الامتيازعنوان
1مقدمة في تصميم وتحسين قواعد بيانات MySQL
1تعلم لغة SQL
1النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2
2النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2
صاحب الامتياز – الموقع
هوية صاحب الامتيازموقع
1كاليفورنيا
1تكساس
2كاليفورنيا
الموقع – الحجز
موقععنوان
كاليفورنيامقدمة في تصميم وتحسين قواعد بيانات MySQL
كاليفورنياتعلم لغة SQL
كاليفورنياالنموذج العلائقي لإدارة قواعد البيانات: الإصدار 2
تكساسالنموذج العلائقي لإدارة قواعد البيانات: الإصدار 2

ماذا ستُرجع عملية الربط الآن؟ في الواقع، لا يمكن ربط هذه الجداول الثلاثة. هذا يعني أنه لم يكن من الممكن فصل جدول الامتياز – السجل – الموقع دون فقدان البيانات، وبالتالي فإن الجدول يُلبي بالفعل معيار 5NF .

تنويه : البيانات المستخدمة توضح المبدأ، ولكنها لا تضمن صحته. في هذه الحالة، يُفضل تقسيم البيانات إلى ما يلي، مع مفتاح بديل سنسميه "معرف المتجر":

متجر – كتاب
معرف المتجرعنوان
1مقدمة في تصميم وتحسين قواعد بيانات MySQL
1تعلم لغة SQL
2النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2
3النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2
المتجر – صاحب الامتياز – الموقع
معرف المتجرهوية صاحب الامتيازموقع
11كاليفورنيا
21تكساس
32كاليفورنيا

ستُعيد عملية الربط الآن النتيجة المتوقعة:

متجر – كتاب – صاحب امتياز – موقع انضم
معرف المتجرعنوانهوية صاحب الامتيازموقع
1مقدمة في تصميم وتحسين قواعد بيانات MySQL1كاليفورنيا
1تعلم لغة SQL1كاليفورنيا
2النموذج العلائقي لإدارة قواعد البيانات: الإصدار 21تكساس
3النموذج العلائقي لإدارة قواعد البيانات: الإصدار 22كاليفورنيا

جادل سي جيه ديت بأن قاعدة البيانات التي تتبع النموذج الخامس للتطبيع (5NF) هي فقط التي تُعتبر "مُطَبَّعة" حقًا. [ 13 ]

DKNF مُرضٍ

دعونا نلقي نظرة على جدول الكتب من الأمثلة السابقة ونرى ما إذا كان يفي بالصيغة الطبيعية للمفتاح الخاص بالمجال :

كتاب
عنوانالصفحاتسماكةهوية النوعمعرف الناشر
مقدمة في تصميم وتحسين قواعد بيانات MySQL520سميك11
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2538سميك22
تعلم لغة SQL338نحيل13
كتاب طبخ SQL636سميك13

منطقياً، يتحدد سُمك الكتاب بعدد صفحاته. وهذا يعني أنه يعتمد على عدد الصفحات ، وهو ليس عاملاً أساسياً. لنفترض مثلاً أن الكتاب الذي يصل عدد صفحاته إلى 350 صفحة يُعتبر "رفيعاً"، بينما يُعتبر الكتاب الذي يزيد عدد صفحاته عن 350 صفحة "سميكاً".

هذا الاتفاق هو قيد من الناحية الفنية ولكنه ليس قيدًا على المجال ولا قيدًا على المفتاح؛ لذلك لا يمكننا الاعتماد على قيود المجال وقيود المفتاح للحفاظ على سلامة البيانات.

بمعنى آخر - لا شيء يمنعنا من وضع، على سبيل المثال، "سميك" لكتاب يحتوي على 50 صفحة فقط - وهذا يجعل الجدول ينتهك DKNF .

لحل هذه المشكلة، يتم إنشاء جدول يحتوي على تعداد يحدد السماكة ، ويتم إزالة هذا العمود من الجدول الأصلي:

تعداد السماكة
سماكةالحد الأدنى للصفحاتعدد الصفحات الأقصى
نحيل1350
سميك351999,999,999,999
كتاب – صفحات – نوع – ناشر
عنوانالصفحاتهوية النوعمعرف الناشر
مقدمة في تصميم وتحسين قواعد بيانات MySQL52011
النموذج العلائقي لإدارة قواعد البيانات: الإصدار 253822
تعلم لغة SQL33813
كتاب طبخ SQL63613

وبهذه الطريقة، تم القضاء على انتهاك سلامة المجال، وأصبح الجدول في صيغة DKNF .

لا يمنع التوحيد جميع حالات المخرجات المستحيلة/المتضاربة/غير المتوقعة. في هذا المثال، ستؤدي صفحات الحد الأدنى/الأقصى التي تبلغ 1/350 و200/999,999,999,999 إلى نتائج غير متوقعة. لذلك، من الأفضل تحديد صفحات الحد الأدنى واستخدامها فقط.

مُرضٍ 6NF

التعريف البسيط والبديهي للشكل الطبيعي السادس هو أن "الجدول يكون في 6NF عندما يحتوي الصف على المفتاح الأساسي، وسمة واحدة أخرى على الأكثر".[ 14 ]

وهذا يعني، على سبيل المثال، جدول الناشر المصمم أثناء إنشاء النموذج الطبيعي الأول (1NF) :

الناشر
معرف الناشراسمدولة
1أبريسالولايات المتحدة الأمريكية

يجب تقسيمها بشكل أكبر إلى جدولين:

الناشر
معرف الناشراسم
1أبريس
بلد الناشر
معرف الناشردولة
1الولايات المتحدة الأمريكية

يتمثل العيب الواضح للنموذج السادس للتطبيع (6NF) في كثرة الجداول اللازمة لتمثيل المعلومات المتعلقة بكيان واحد. فإذا كان جدول في النموذج الخامس للتطبيع (5NF) يحتوي على عمود مفتاح أساسي واحد وعدد N من السمات، فإن تمثيل المعلومات نفسها في النموذج السادس للتطبيع (6NF) سيتطلب عددًا N من الجداول؛ كما أن تحديثات الحقول المتعددة لسجل مفاهيمي واحد ستتطلب تحديثات لجداول متعددة؛ وبالمثل، ستتطلب عمليات الإضافة والحذف إجراء عمليات عبر جداول متعددة. لهذا السبب، لا يُنصح باستخدام النموذج السادس للتطبيع (6NF) في قواعد البيانات المصممة لتلبية احتياجات معالجة المعاملات الفورية (OLTP).

مع ذلك، في مستودعات البيانات ، التي لا تسمح بالتحديثات التفاعلية والمخصصة للاستعلام السريع عن كميات كبيرة من البيانات، تستخدم بعض أنظمة إدارة قواعد البيانات تمثيلًا داخليًا من المستوى السادس (6NF) يُعرف باسم مخزن البيانات العمودي . في الحالات التي يكون فيها عدد القيم الفريدة لعمود ما أقل بكثير من عدد الصفوف في الجدول، يتيح التخزين العمودي توفيرًا كبيرًا في المساحة من خلال ضغط البيانات. كما يسمح التخزين العمودي بتنفيذ سريع لاستعلامات النطاق (مثل عرض جميع السجلات التي تقع فيها قيمة عمود معين بين X و Y، أو أقل من X).

في جميع هذه الحالات، لا يحتاج مصمم قاعدة البيانات إلى إجراء عملية التطبيع وفقًا للنموذج السادس (6NF) يدويًا عن طريق إنشاء جداول منفصلة. تستخدم بعض أنظمة إدارة قواعد البيانات المتخصصة في مستودعات البيانات، مثل Sybase IQ ، التخزين العمودي افتراضيًا، لكن المصمم لا يزال يرى جدولًا واحدًا متعدد الأعمدة فقط. بينما تتيح أنظمة إدارة قواعد بيانات أخرى، مثل Microsoft SQL Server 2012 والإصدارات الأحدث، تحديد "فهرس تخزين عمودي" لجدول معين. [ 15 ]

انظر أيضاً

ملاحظات ومراجع

  1. «إن اعتماد نموذج علائقي للبيانات... يسمح بتطوير لغة فرعية عالمية للبيانات تستند إلى حساب التفاضل والتكامل التطبيقي. ويكفي حساب التفاضل والتكامل من الدرجة الأولى إذا كانت مجموعة العلاقات في شكلها الطبيعي. وستوفر هذه اللغة معيارًا للقوة اللغوية لجميع لغات البيانات الأخرى المقترحة، وستكون هي نفسها مرشحًا قويًا للتضمين (مع تعديل نحوي مناسب) في مجموعة متنوعة من لغات الاستضافة (البرمجة، أو لغات الأوامر، أو لغات حل المشكلات).» كود، «نموذج علائقي للبيانات لبنوك البيانات المشتركة الكبيرة»، مؤرشف في 12 يونيو 2007، في Wayback Machine ، ص 381
  2. كود، إي إف، الفصل 23، "عيوب خطيرة في لغة SQL" ، في النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2. أديسون-ويسلي (1990)، الصفحات 371-389
  3. كود، إي إف "مزيد من التطبيع لنموذج قاعدة البيانات العلائقية"، ص 34
  4. 1 2 كود، إي إف (يونيو 1970). "نموذج علائقي للبيانات لبنوك البيانات المشتركة الكبيرة" . اتصالات رابطة مكائن ​​الحوسبة . 13 (6): 377-387 . doi : 10.1145/362384.362685 . S2CID 207549016 . 
  5. 1 2 3 4 كود، إي إف. "مزيد من التطبيع لنموذج قواعد البيانات العلائقية". (عُرض في سلسلة ندوات كورانت لعلوم الحاسوب 6، "أنظمة قواعد البيانات"، مدينة نيويورك، 24-25 مايو 1971). تقرير بحثي لشركة آي بي إم RJ909 (31 أغسطس 1971). أُعيد نشره في راندال جيه. راستين (محرر)، أنظمة قواعد البيانات: سلسلة ندوات كورانت لعلوم الحاسوب 6. برنتيس هول، 1972.
  6. كود، إي إف. "دراسات حديثة في أنظمة قواعد البيانات العلائقية". تقرير بحثي لشركة آي بي إم رقم RJ1385 (23 أبريل 1974). أعيد نشره في وقائع مؤتمر 1974 (ستوكهولم، السويد، 1974)، نيويورك: نورث هولاند (1974).
  7. ديت، سي جيه (1999). مقدمة في أنظمة قواعد البيانات . أديسون-ويسلي. ص 290. 
  8. داروين، هيو؛ ديت، سي جيه؛ فاجين، رونالد (2012). "صيغة طبيعية لمنع الصفوف الزائدة في قواعد البيانات العلائقية" (ملف PDF) . وقائع المؤتمر الدولي الخامس عشر لنظرية قواعد البيانات . المؤتمر المشترك EDBT/ICDT 2012. سلسلة وقائع المؤتمرات الدولية ACM. رابطة آلات الحوسبة . ص 114. doi : 10.1145/2274576.2274589 . ISBN  978-1-4503-0791-8OCLC 802369023. مؤرشف (PDF) من الأصل في 6 مارس 2016. تم الاطلاع عليه في 22 مايو 2018 . 
  9. كومار، كونال؛ آزاد، إس كيه (أكتوبر 2017). "نمط تصميم تطبيع قواعد البيانات". المؤتمر الدولي الرابع لفرع ولاية أوتار براديش التابع لمعهد مهندسي الكهرباء والإلكترونيات ( IEEE) لعام 2017 حول الهندسة الكهربائية والحاسوبية والإلكترونية (UPCON). معهد مهندسي الكهرباء والإلكترونيات. الصفحات 318-322 . doi : 10.1109/upcon.2017.8251067 . ISBN  9781538630044. S2CID 24491594 . 
  10. ١ ٢ ٣ "تطبيع قواعد البيانات في MySQL: أربع خطوات سريعة وسهلة" . ComputerWeekly.com . مؤرشف من الأصل في ٣٠ أغسطس ٢٠١٧. تم الاطلاع عليه في ٢٣ مارس ٢٠٢١ .
  11. "تطبيع قواعد البيانات: النموذج الطبيعي الخامس وما بعده" . قاعدة معارف MariaDB . تم الاطلاع عليه بتاريخ 23 يناير 2019 .
  12. 1 2 ديت، سي جيه (21 ديسمبر 2015). قاموس قواعد البيانات العلائقية الجديد: المصطلحات والمفاهيم والأمثلة . دار نشر أورايلي ميديا، ص 138. ISBN  9781491951699.
  13. ديت، سي جيه (21 ديسمبر 2015). قاموس قواعد البيانات العلائقية الجديد: المصطلحات والمفاهيم والأمثلة . دار نشر أورايلي ميديا، ص 163. ISBN  9781491951699.
  14. "التطبيع - أرغب في فهم النموذج السادس للتطبيع من خلال مثال" . موقع ستاك أوفرفلو . تم الاطلاع عليه بتاريخ 23 يناير 2019 .
  15. شركة مايكروسوفت. فهارس Columnstore: نظرة عامة. https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-overview . تاريخ الوصول: 23 مارس 2020.

للمزيد من القراءة