النموذج الطبيعي الأول

يُعدّ النموذج الطبيعي الأول ( 1NF ) أبسط مستويات تطبيع قواعد البيانات، وقد عرّفه عالم الحاسوب الإنجليزي إدغار ف. كود ، مخترع قاعدة البيانات العلائقية . يُمكن القول إنّ العلاقة (أو الجدول ، في لغة SQL ) في النموذج الطبيعي الأول إذا كان كل حقل فيها ذريًا ، أي يحتوي على قيمة واحدة فقط بدلًا من مجموعة قيم أو جدول متداخل . بعبارة أخرى، تتوافق العلاقة مع النموذج الطبيعي الأول إذا لم يكن أي نطاق سمات (مجموعة القيم المسموح بها في عمود معين) يحتوي على علاقات كعناصر. [ 1 ]

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

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

اعتبر كود أن النموذج الطبيعي الأول (1NF) إلزامي لقواعد البيانات العلائقية، بينما كانت النماذج الطبيعية الأخرى مجرد إرشادات لتصميم قواعد البيانات. [ 3 ] : 439

خلفية

تم تقديم أول شكل طبيعي في عام 1970 من قبل إدغار ف. كود في بحثه "نموذج علائقي للبيانات لقواعد البيانات المشتركة الكبيرة" [ 2 ] ، على الرغم من أنه كان يُشار إليه في البداية ببساطة باسم "التطبيع" أو "الشكل الطبيعي". أُعيد تسميته إلى "أول شكل طبيعي" عندما قدم كود أشكالًا طبيعية إضافية في بحثه "مزيد من التطبيع للنموذج العلائقي لقاعدة البيانات" في عام 1971. [ 4 ]

طُرح النموذج العلائقي كتحسين لقواعد البيانات الهرمية التي كانت سائدة آنذاك. [ 2 ] : 377 ويكمن الاختلاف الرئيسي في كيفية تمثيل العلاقات بين السجلات. ففي قاعدة البيانات الهرمية، تُمثَّل علاقات واحد إلى متعدد من خلال الاحتواء: إذ قد يحتوي سجل واحد على مجموعات من السجلات (تُعرف بالمجموعات المتكررة) كقيم سمات. لكن كود جادل بأن التسلسل الهرمي ليس مرنًا ومعبرًا بما يكفي لنماذج البيانات الأكثر تعقيدًا. فعلى سبيل المثال، لا يمكن تمثيل علاقات متعدد إلى متعدد من خلال التسلسل الهرمي. [ 2 ] : 378 ولذلك اقترح حذف السجلات المتداخلة وتمثيل العلاقات من خلال المفاتيح الخارجية . وهذا يسمح بالتعبير عن علاقات أكثر ثراءً، حيث يمكن للسجل الآن المشاركة في علاقات متعددة. [ 2 ] : 378

إن الترجمة المباشرة لقاعدة بيانات هرمية إلى جداول علاقات تمثل المجموعات المتكررة كعلاقات متداخلة. ولذلك، يُعرَّف التطبيع بأنه إزالة العلاقات المتداخلة واستبدالها بتمثيل علاقة واحد إلى متعدد من خلال المفاتيح الخارجية. [ 2 ] : 381

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

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

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

أمثلة

تصميم يخالف النموذج الطبيعي الأول

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

عميل
معرف العميلاسمالمعاملات
1إبراهيم
معرف المعاملةتاريخكمية
1289014-10-2003-87
1290415-10-2003- 50
2إسحاق
معرف المعاملةتاريخكمية
1289814-10-2003-21
3يعقوب
معرف المعاملةتاريخكمية
1290715-10-2003- 18
149202003-11-20-70
1500327-11-2003-60

يتضمن تقييم أي استفسار يتعلق بمعاملات العملاء مرحلتين بشكل عام:

  1. تحليل مجموعات معاملات عميل واحد أو أكثر، مما يسمح بفحص المعاملات الفردية داخل المجموعة، و
  2. استخلاص نتيجة الاستعلام من نتائج المرحلة الأولى.

على سبيل المثال، من أجل معرفة المجموع النقدي لجميع المعاملات التي حدثت في أكتوبر 2003 لجميع العملاء، سيتعين على نظام إدارة قواعد البيانات (DMBS) أولاً فك حقل المعاملات لكل عميل، ثم جمع مبلغ كل معاملة تم الحصول عليها حيث يقع تاريخ المعاملة في أكتوبر 2003.

تصميم متوافق مع معيار 1NF

وصف كود كيف يمكن تبسيط بنية قاعدة بيانات كهذه وزيادة مرونتها بتحويلها إلى قاعدة بيانات علائقية في النموذج الطبيعي الأول. ولتطبيع الجدول ليتوافق مع هذا النموذج، يجب استخراج السمات ذات المجالات غير البسيطة إلى علاقات منفصلة ومستقلة. وتكتسب كل علاقة مستخرجة مفتاحًا خارجيًا يشير إلى المفتاح الأساسي للعلاقة التي كانت تحتويها في الأصل. ويمكن تطبيق هذه العملية بشكل متكرر على المجالات غير البسيطة المتداخلة في مستويات متعددة (أي المجالات التي تحتوي على جداول داخل جداول داخل جداول، وهكذا). [ 2 ] : 380-381

في هذا المثال، يُعد CustomerID المفتاح الأساسي للعلاقة المحتوية، وبالتالي سيتم إلحاقه كمفتاح خارجي بالعلاقة الجديدة:

عميل
معرف العميلاسم
1إبراهيم
2إسحاق
3يعقوب
عملية
معرف العميلمعرف المعاملةتاريخكمية
11289014-10-2003-87
11290415-10-2003- 50
21289814-10-2003-21
31290715-10-2003- 18
3149202003-11-20-70
31500327-11-2003-60

في هذا التصميم المعدل، يكون المفتاح الأساسي هو {CustomerID} في العلاقة الأولى و {CustomerID, TransactionID} في العلاقة الثانية.

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

تجدر الإشارة إلى أن التصميم المعدل يلبي أيضاً المتطلبات الإضافية للشكل الطبيعي الثاني والثالث .

الأساس المنطقي

يُعدّ التطبيع إلى النموذج الطبيعي الأول (1NF) المكوّن النظري الرئيسي لنقل قاعدة البيانات إلى النموذج العلائقي . ويُوفّر استخدام قاعدة بيانات علائقية في النموذج الطبيعي الأول (1NF) مزايا مُحدّدة:

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

جدل حول القيم المركبة

يدور نقاش حول مدى السماح بالقيم المركبة أو المعقدة، بخلاف العلاقات (مثل المصفوفات أو بيانات XML )، في النموذج الطبيعي الأول (1NF). يذكر كود أن العلاقات هي النوع الوحيد من البيانات المركبة المسموح به ضمن النموذج العلائقي (إن لم يكن في نطاقات السمات)، لأن أي نوع إضافي من البيانات المركبة سيزيد من التعقيد دون إضافة أي قوة؛ ومع ذلك، يسمح النموذج تحديدًا بـ "وظائف خاصة معينة" مثل تحليل القيم التي تُعتبر ذرية. [ 5 ] : 6340SUBSTRING

أشار هيو داروين وكريستوفر جيه. ديت إلى أن مفهوم كود عن "القيمة الذرية" غامض، وأن هذا الغموض أدى إلى ارتباك واسع النطاق حول كيفية فهم النموذج الأول للصيغة الطبيعية (1NF). [ 6 ] [ 7 ] وعلى وجه الخصوص، فإن مفهوم القيمة الذرية باعتبارها "قيمة لا يمكن تحليلها" إشكالي، إذ يبدو أنه يوحي بأن أنواع البيانات الذرية قليلة، إن وجدت.

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

يشير التاريخ إلى أن "مفهوم الذرية ليس له معنى مطلق ": [ 8 ] : 112 [ 9 ] قد تُعتبر القيمة ذرية لبعض الأغراض، ولكنها قد تُعتبر مجموعة من عناصر أكثر أساسية لأغراض أخرى. إذا تم قبول هذا الموقف، فلا يمكن تعريف النموذج الطبيعي الأول (1NF) بالرجوع إلى الذرية. وبالتالي، فإن الأعمدة التي تحتوي على أي نوع بيانات يمكن تصوره (من السلاسل النصية والأنواع الرقمية إلى المصفوفات والجداول) مقبولة في جدول 1NF، على الرغم من أنها قد لا تكون مرغوبة دائمًا - على سبيل المثال، قد يكون من المستحسن فصل عمود CustomerName إلى عمودين، FirstName وSurname.

تعريف كريستوفر ج. ديت للنموذج الأول للصيغة الوطنية (1NF)

وفقًا لتعريف كريستوفر ج. ديت ، يكون الجدول في شكله الطبيعي الأول إذا وفقط إذا كان " متماثلًا مع علاقة ما"، مما يعني تحديدًا أنه يحقق الشروط الخمسة التالية: [ 8 ] : 127-128

  1. لا يوجد ترتيب محدد للصفوف من الأعلى إلى الأسفل.
  2. لا يوجد ترتيب محدد للأعمدة من اليسار إلى اليمين.
  3. لا توجد صفوف مكررة.
  4. يحتوي كل حقل (أو تقاطع صف وعمود) على قيمة واحدة فقط من المجال المطبق ولا شيء آخر.
  5. جميع الأعمدة منتظمة (أي أن الصفوف لا تحتوي على مكونات مخفية مثل معرفات الصفوف أو معرفات الكائنات أو الطوابع الزمنية المخفية).

إن انتهاك أي من هذه الشروط يعني أن الجدول ليس علائقيًا بشكل صارم، وبالتالي فهو ليس في الشكل الطبيعي الأول.

يسمح هذا التعريف للنموذج الطبيعي الأول (1NF) بالسمات ذات القيم العلائقية (الجداول داخل الجداول)، والتي يرى ديت أنها مفيدة في حالات نادرة. [ 8 ] : 121-126. ومن أمثلة الجداول (أو طرق العرض ) التي لا تستوفي هذا التعريف للنموذج الطبيعي الأول ما يلي:

  • جدول يفتقر إلى قيد المفتاح الفريد . سيتمكن هذا الجدول من استيعاب الصفوف المكررة، مما يخالف الشرط 3.
  • عرض يفرض تعريفه أن يتم إرجاع النتائج بترتيب معين، بحيث يكون ترتيب الصفوف جانبًا جوهريًا وذا معنى في العرض، وهو ما يخالف الشرط 1. لا يتم ترتيب الصفوف في العلاقات الحقيقية بالنسبة لبعضها البعض (لا يمكن إنشاء مثل هذه العروض باستخدام SQL الذي يتوافق مع معيار SQL:2003 ).
  • جدول يحتوي على سمة واحدة على الأقل قابلة للتصفير . تُعدّ السمة القابلة للتصفير مخالفةً للشرط الرابع، الذي يشترط أن يحتوي كل عمود على قيمة واحدة فقط من نطاقه. يُعدّ هذا الجانب من الشرط الرابع مثيرًا للجدل؛ إذ يُمثّل خروجًا هامًا عن رؤية كود اللاحقة للنموذج العلائقي ، [ 10 ] التي نصّت صراحةً على إمكانية استخدام القيم الفارغة. [ 11 ]

انظر أيضاً

مراجع

  1. كود، إي إف (1972). "مزيد من التطبيع لنموذج قاعدة البيانات العلائقية". ص 27
  2. 1 2 3 4 5 6 7 8 9 كود، إي إف (1970). "نموذج علائقي للبيانات لبنوك البيانات المشتركة الكبيرة". اتصالات رابطة مكائن ​​الحوسبة . 13 (6): 377-387 . doi : 10.1145/362384.362685 .
  3. كود، إي إف (1979). "توسيع نموذج قواعد البيانات العلائقية لاستيعاب المزيد من المعنى". معاملات ACM لأنظمة قواعد البيانات . 4 (4): 397-434 . doi : 10.1145/320107.320109 .
  4. كود، إي إف (1971). "مزيد من التطبيع لنموذج قواعد البيانات العلائقية". أنظمة قواعد البيانات. ندوة كورانت لعلوم الحاسوب 6، حررها راستين، ر.
  5. 1 2 3 كود، إي إف (1 يناير 1990). النموذج العلائقي لإدارة قواعد البيانات: الإصدار 2. أديسون -ويسلي . ISBN 978-0-201-14192-4.
  6. داروين، هيو. "السمات ذات القيم العلائقية؛ أو، هل يمكن للشكل الطبيعي الأول الحقيقي أن يقف؟"، في سي جيه ديت وهيو داروين، كتابات قواعد البيانات العلائقية 1989-1991 (أديسون-ويسلي، 1992).
  7. ديت، سي جيه (2007). "الفصل 8: ما يعنيه الشكل الطبيعي الأول حقًا". ديت على قاعدة البيانات: كتابات 2000-2006 . أبريس. ص 108. ISBN  978-1-4842-2029-0.يكتب ديت: "لسنوات عديدة، كنت مرتبكًا مثل أي شخص آخر. والأسوأ من ذلك، أنني بذلت قصارى جهدي (أو أسوأ ما لدي؟) لنشر هذا الارتباك من خلال كتاباتي وندواتي وعروضي التقديمية الأخرى."
  8. 1 2 3 ديت، سي جيه (2007). "الفصل 8: ما يعنيه الشكل الطبيعي الأول حقًا". ديت على قاعدة البيانات: كتابات 2000-2006 . أبريس. ISBN 978-1-4842-2029-0.
  9. ديت، سي جيه (6 نوفمبر 2015). لغة SQL ونظرية العلاقات: كيفية كتابة كود SQL دقيق . دار نشر أورايلي ميديا. الصفحات 50 وما بعدها. رقم ISBN  978-1-4919-4115-7تم الاطلاع عليه بتاريخ 31 أكتوبر 2018 .
  10. ديت، سي جيه (2009). "الملحق أ.2". لغة SQL ونظرية العلاقات . أورايلي. عرّف كود نموذج العلاقات لأول مرة في عام 1969 ولم يُدخل القيم الفارغة حتى عام 1979.
  11. ديت، سي جيه (14 أكتوبر 1985). "هل نظام إدارة قواعد البيانات الخاص بك علائقي حقًا؟". كمبيوتر وورلد . القيم الفارغة ... [يجب] دعمها في نظام إدارة قواعد بيانات علائقي بالكامل لتمثيل المعلومات المفقودة والمعلومات غير القابلة للتطبيق بطريقة منهجية، بغض النظر عن نوع البيانات.(القاعدة الثالثة من قواعد كود الاثنتي عشرة)

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