اذهب إلى المحتوى

تُعَدّ نمذجة البيانات Data Modelling الخطوة الأولى والأساسية عند تصميم أي قاعدة بيانات، كما تُعَدّ هذه الخطوة مرحلة تصميم مجردة وعالية المستوى، ويشار إليها باسم التصميم المفاهيمي conceptual design أيضًا.

الهدف من هذه المرحلة هو إعطاء وصف واضح لكل من:

  • البيانات الواردة في قاعدة البيانات، مثل الكيانات: طلاب، ومحاضرون، ودورات، ومواد.
  • العلاقات بين عناصر البيانات data items، مثل: يشرف محاضرون على طلاب، ويدرِّس محاضرون دورات.
  • القيود المفروضة على البيانات، مثل: يتكون رقم الطالب من ثمانية خانات بالضبط، وتحتوي المادة الدراسية على أربع أو ست درجات فقط.

يُعبَّر في الخطوة الثانية عن عناصر البيانات، والعلاقات، والقيود، باستخدام المفاهيم التي يوفرها نموذج البيانات عالي المستوى، ونظرًا لعدم وجود تفاصيل التنفيذ implementation details في هذه المفاهيم، فتكون نتيجة عملية نمذجة البيانات تمثيلُا شبه رسمي لهيكل قاعدة البيانات، وهذه النتيجة سهلة الفهم، لذلك تُستخدَم على أساس مرجع للتأكد من تلبية جميع متطلبات المستخدم.

الخطوة الثالثة هي تصميم قاعدة البيانات، حيث يكون لدينا خلال هذه الخطوة خطوتَين فرعيتَين، وهما: التصميم المنطقي لقاعدة البيانات database logical design، والتي تحدِّد قاعدة البيانات في نموذج بيانات لنظام إدارة قواعد بيانات DBMS معيَّن، والأخرى هي التصميم المادي لقاعدة البيانات database physical design، والتي تحدِّد بنية تخزين قاعدة البيانات الداخلية، أو طريقة تنظيم الملفات، أو تقنيات الفهرسة، وتتمثّّل هاتان الخطوتان الفرعيتان في التنفيذ الفعلي لقاعدة البيانات database implementation، وخطوات أساسية لبناء العمليات وواجهات المستخدم.

تُمثَّل البيانات في مراحل تصميم قاعدة البيانات باستخدام نموذج بيانات معيَّن، حيث يكون نموذج البيانات data model تجميعةً من المفاهيم، أو الصيغ التي تصف البيانات، والعلاقات بينها، ودلالاتها semantics، والقيود المفروضة عليها، كما تتضمن معظم نماذج البيانات أيضًا مجموعةً من العمليات الأساسية لمعالجة البيانات في قاعدة البيانات database.

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

تُعَدّ نماذج البيانات وسيلةً لتوصيف كيفية عرض البيانات وتخزينها، وسنناقش أنواعها بالتفصيل في هذا القسم.

نماذج البيانات المفاهيمية عالية المستوى

توفر نماذج البيانات المفاهيمية عالية المستوى High-level Conceptual Data Models مفهومًا لعرض البيانات بأساليب قريبة من الأسلوب الذي يدرك به الإنسان البيانات، والمثال النموذجي هو نموذج الكيان والعلاقة Entity Relationship الذي يستخدِم المفاهيم الرئيسية، مثل: الكيانات، والسمات، والعلاقات، حيث يمثل الكيان كائنًا واقعيًا، مثل: موظف، أو مشروع، كما يحتوي على سمات تمثل خصائص، مثل: اسم الموظف، وعنوانه، وتاريخ ميلاده، وتُمثِّل العلاقات كيفية ارتباط الكيانات مع بعضها البعض، فمثلًا، توجد علاقة بين الموظف وكل مشروع عندما يعمل الموظف في العديد من المشاريع.

نماذج البيانات المنطقية القائمة على السجلات

توفر نماذج البيانات المنطقية القائمة على السجلات Record-based Logical Data Models مفاهيمًا يمكن للمستخدِمين فهمها واستيعابها كما أنها ليست بعيدةً جدًا عن الطريقة التي تُخزَّن بها البيانات في الحاسوب.

هناك ثلاثة نماذج معروفة من هذا النوع، وهي: نماذج البيانات العلائقية relational data models، ونماذج البيانات الشبكية network data models، ونماذج البيانات الهرمية hierarchical data models.

  • يُمثِّل النموذج العلائقي relational model البيانات على أساس علاقات أو جداول، فمثلًا، تضم العضوية في منظَمة عالم العلوم Science World العديد من الأعضاء كما في الشكل 2 في مقال المفاهيم الأساسية في قواعد البيانات وقواعد تصميمها، ويُعَدّ كل من مُعرِّف العضوية، وتاريخ انتهاء الصلاحية، ومعلومات العنوان، حقولًا في العضوية، ويكون الأعضاء أفرادًا، مثل: Mickey، وMinnie، وMighty، وDoor، وTom، وKing، وMan، وMoose، كما يكون كل سجل بمثابة نسخة عن جدول العضوية.

  • يُمثِّل النموذج الشبكي network model البيانات على أساس أنواع سجلات، كما يُمثِّل أيضًا هذا النموذج نوعًا محددًا من علاقة واحد إلى متعدد one to many يسمى نوع المجموعة set type، كما هو موضح في الشكل التالي.

Network-data-model-300x244.png

مخطط النموذج الشبكي

  • يُمثِّل النموذج الهرمي hierarchical model البيانات على أساس هيكل شجرة هرمية، حيث يُمثِّل كل فرع من فروع التسلسل الهرمي عددًا من السجلات ذات الصلة، ويوضح الشكل التالي هذا المخطط في صيغة النموذج الهرمي.

Hierarchical-Data-Model-300x116.png

مخطط النموذج الهرمي

مدى تجريد البيانات

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

يتبع تصميم قاعدة البيانات يتبع طريقةً شبيهةً بهذه، حيث يبدأ بتحديد المستخدِمين لقواعد العمل، ثم ينشئ مصممو ومحللو قاعدة البيانات تصميم قاعدة البيانات، وبعدها ينفّذ مسؤول قاعدة البيانات التصميم باستخدام نظام إدارة قواعد البيانات DBMS.

تلخِّص الأقسام الفرعية التالية النماذج بترتيب تنازلي لمستوى التجريد.

النماذج الخارجية

  • تمثل واجهة عرض قاعدة البيانات للمستخدم.
  • تحتوي على عدد من واجهات عرض خارجية مختلفة.
  • ترتبط ارتباطًا وثيقًا بالعالم الحقيقي الذي يراه المستخدم.

النماذج المفاهيمية Conceptual models

  • توفِّر إمكانيات مرنة لهيكلة البيانات data-structuring.
  • تقدِّم واجهة عرض مشتركة community view، وهي الهيكل المنطقي لقاعدة البيانات بأكملها.
  • تحتوي على البيانات المخزنة في قاعدة البيانات.
  • تظهر العلاقات بين البيانات بما في ذلك:
    • القيود.
    • المعلومات الدلالية مثل قواعد العمل.
    • معلومات الأمان والسلامة.
  • تُعَدّ قاعدة البيانات مجموعةً من الكيانات -أي الكائنات objects- من أنواع مختلفة.
  • تمثِّل الأساس لتحديد وإعطاء وصف عالي المستوى لكائنات البيانات الرئيسية، كما أنها تتجاهل التفاصيل.
  • تحدِّد هل قاعدة البيانات مستقلة بغض النظر عن قاعدة البيانات التي تستخدمها.

النماذج الداخلية Internal models

النماذج الثلاثة الأكثر شهرة من هذا النوع، هي: نموذج البيانات العلائقية relational data model، ونموذج البيانات الشبكية network data model، ونموذج البيانات الهرمي hierarchical data model، ومن السمات الرئيسية لنماذج البيانات الداخلية:

  • تُعَدّ قاعدة البيانات مثل تجميعة من السجلات ذات الحجم الثابت.
  • تُعَدّ أقرب إلى المستوى المادي أو بنية الملف.
  • تُمثِّل قاعدة البيانات كما يراها نظام إدارة قواعد البيانات DBMS.
  • تطالب المصمم بمطابقة خصائص وقيود النموذج المفاهيمي مع تلك الخاصة بنموذج التنفيذ المختار.
  • يتضمن مقابلة الكيانات في النموذج المفاهيمي مع الجداول في النموذج العلائقي.

النماذج المادية Physical models

  • هي التمثيل المادي أو الفيزيائي لقاعدة البيانات.
  • تملك أدنى مستوى من التجريد.
  • تحدِّد كيفية تخزين البيانات في قاعدة البيانات، وترتبط مباشرةً بكل من:
    • أداء قاعدة البيانات في وقت التشغيل Run-time performance.
    • تحسين التخزين وضغط الملفات.
    • تنظيم الملفات وطرق الوصول إليها.
    • تشفير البيانات.
  • تُحدِّد ما إذا كان نظام التشغيل operating system -أو OS اختصارًا- يدير المستوى المادي.
  • تُقدِّم مفاهيم تصف تفاصيل كيفية تخزين البيانات في ذاكرة الحاسوب.

طبقات تجريد البيانات

يمكنك أن ترى في العرض التصويري كيف تعمل النماذج المختلفة معًا، لذلك دعنا نلقي نظرةً على هذا من أعلى مستوى، وهو النموذج الخارجي.

النموذج الخارجي external model هو كيفية عرض المستخدِم النهائي للبيانات، فعادةً ما تكون قاعدة البيانات نظام مؤسسي يخدم احتياجات أقسام متعددة، كما لا يهتم أي قسم برؤية بيانات الأقسام الأخرى، فمثلًا، لا يهتم قسم الموارد البشرية human resources - أو HR اختصارًا- بعرض بيانات قسم المبيعات sales. وعليه تختلف طريقة عرض البيانات من مستخدم لآخر.

يتطلب النموذج الخارجي أن يقسِّم المصمم مجموعة المتطلبات والقيود إلى وحدات وظيفية يمكن فحصها في إطار نماذجها الخارجية مثل تقسيم المؤسسة إلى قسم الموارد البشرية وقسم المبيعات.

تحتاج بوصفك مصمم بيانات إلى فهم جميع البيانات حتى تتمكن من إنشاء قاعدة بيانات على مستوى المؤسسة بناءً على احتياجات الأقسام المختلفة، لذلك يكون إنشاء النموذج المفاهيمي conceptual model هو الخطوة الأولى.

يكون النموذج المفاهيمي في هذه المرحلة مستقلًا عن كل من البرامج software والعتاد hardware، ولا يعتمد على برنامج نظام إدارة قواعد البيانات المُستخدم في تنفيذ النموذج، ولا على العتاد المستخدَم في ذلك، كما لا تؤثر التغييرات في العتاد أو برنامج نظام إدارة قواعد البيانات على تصميم قاعدة البيانات على المستوى المفاهيمي.

بمجرد تحديد برنامج نظام إدارة البيانات المُراد استخدامه، يمكنك بعد ذلك تنفيذه، وهو ما يُسمى بالنموذج الداخلي internal model، حيث تقوم هنا بإنشاء جميع الجداول، والقيود، والمفاتيح، والقواعد، وما إلى ذلك، وغالبًا ما يشار إلى هذا باسم التصميم المنطقي logical design.

النموذج المادي ببساطة هو الطريقة التي تُخزَّن فيها البيانات على القرص، وتختلف طريقة تخزين البيانات باختلاف نوع قاعدة البيانات المستخدَمة.

Data-Abstraction-300x226.png

مستويات تجريد البيانات

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

التخطيط schema هو وصف عام وشامل لقاعدة البيانات، وعادةً ما يتم تمثيله بواسطة مخطط الكيان والعلاقة entity relationship diagram، وتختصر إلى ERD.

غالبًا ما تكون هناك العديد من التخطيطات الفرعية subschemas التي تمثل النماذج الخارجية المختلفة وبالتالي تعرض الواجهات الخارجية للبيانات.

فيما يلي قائمة بالعناصر التي يجب مراعاتها أثناء عملية تصميم قواعد البيانات:

  • تخطيطات خارجية External schemas: من الممكن أن توجد عدة تخطيطات خارجية في قاعدة البيانات الواحدة.
  • تخطيطات فرعية متعددة Multiple subschemas: تعرض واجهات خارجية متعددة للبيانات.
  • تخطيط مفاهيمي Conceptual schema: يوجد تخطيط مفاهيمي واحد فقط لقاعدة البيانات الواحدة، يتضمن هذا التخطيط عناصر البيانات، والعلاقات، والقيود، وتمثَّل بواسطة مخطط علاقة الكيان والعلاقة ERD.
  • تخطيط مادي Physical schema: يوجد تخطيط مادي واحد فقط لقاعدة بيانات واحدة.

استقلالية البيانات المنطقية والمادية

يشير مفهوم استقلالية البيانات Data independence إلى حصانة تطبيقات المستخدِم من التغييرات التي تطرأ على تعريفات البيانات وتنظيمها.

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

تشكل استقلالية البيانات واستقلالية التشغيل معًا ميزة تجريد البيانات، وهناك نوعان من استقلالية البيانات، هما: استقلالية البيانات منطقيًا، واستقلالية البيانات ماديًا.

استقلالية البيانات منطقيًا

يُعَدّ التخطيط المنطقي logical schema تصميمًا مفاهيميًا conceptual design لقاعدة البيانات، والذي يتم على الورق أو على لوح أبيض مثل الرسومات المعمارية للبيوت. تسمى القدرة على تغيير التخطيط المنطقي دون تغيير التخطيط الخارجي external schema، أو واجهة المستخدم باستقلالية البيانات منطقيًا logical data independence، فمثلًا، يجب أن تكون إضافة أو إزالة كيانات جديدة، أو سمات، أو علاقات، إلى التخطيط المفاهيمي conceptual schema ممكنةً دون الحاجة إلى تغيير التخطيطات الخارجية الحالية، أو إعادة كتابة برامج التطبيق؛ بمعنى آخر يجب ألَّا تؤثر التغييرات على التخطيط المنطقي على وظيفة التطبيق -أي طرق العرض الخارجية- مثل التعديلات على بنية قاعدة البيانات مثل إضافة عمود أو جداول جديد.

استقلالية البيانات ماديا

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

مصطلحات أساسية

  • النموذج الهرمي hierarchical model: يُمثِّل البيانات في هيكل الشجرة الهرمية.
  • النسخة instance: سجل داخل جدول معين في قاعدة البيانات.
  • النموذج الشبكي network model: يمثل البيانات على أساس أنواع سجلات.
  • العلاقة relation: مصطلح آخر لوصف الجداول.
  • النموذج العلائقي relational model: يُمثِّل البيانات على أساس علاقات أو جداول.
  • نوع المجموعة set type: نوع محدَّد من علاقة واحد إلى متعدد one to many.
  • النموذج المفاهيمي conceptual model: هو الهيكل المنطقي لقاعدة البيانات.
  • التخطيط المفاهيمي conceptual schema: مصطلح مرادف للتخطيط المنطقي logical schema.
  • استقلالية البيانات data independence: هي حصانة تطبيقات المستخدِم من التغييرات التي تطرأ على تعريفات البيانات وتنظيمها.
  • نموذج البيانات data model: تجميعة من المفاهيم أو الصيغ المستخدمة لوصف البيانات، والعلاقات بينها، ودلالاتها، والقيود المفروضة عليها.
  • نمذجة البيانات data modelling: هي الخطوة الأولى في عملية تصميم قاعدة البيانات.
  • التصميم المنطقي لقاعدة البيانات database logical design: يُحدِّد قاعدة بيانات في نموذج البيانات الخاص بنظام إدارة قاعدة بيانات محدَّد.
  • التصميم المادي لقاعدة البيانات database physical design: يُحدِّد بنية تخزين قاعدة البيانات الداخلية، أو تنظيم الملفات، أو تقنيات الفهرسة.
  • مخطط الكيان والعلاقة entity relationship diagram -أو ERD اختصارًا-: يُعَدّ نموذج بيانات، حيث يصف قاعدة البيانات، ويعرض الجداول، والسمات، والعلاقات.
  • النموذج الخارجي external model: يمثِّل واجهة عرض المستخدِم لقاعدة البيانات.
  • التخطيط الخارجي external schema: يمثِّل واجهة المستخدِم.
  • النموذج الداخلي internal model: هو تمثيل قاعدة البيانات في الصورة التي يراها أو يتعامل معها نظام إدارة قواعد البيانات.
  • استقلالية البيانات منطقيًا logical data independence: هو القدرة على تغيير التخطيط المنطقي للبيانات دون تغيير التخطيط الخارجي.
  • التصميم المنطقي logical design: هو الخطوة التي تُنشأ فيها الجداول، والقيود، والمفاتيح، والقواعد، …إلخ.
  • التخطيط المنطقي logical schema: هو تصميم مفاهيمي لقاعدة البيانات، حيث يتم على الورق، أو الألواح البيضاء مثل الرسومات المعمارية لمنزل.
  • نظام التشغيل operating system - أو OS اختصارًا-: هو المسؤول عن إدارة المستوى المادي للنموذج المادي.
  • استقلالية البيانات ماديًا physical data independence: هو حصانة النموذج الداخلي ضد التغييرات في النموذج المادي.
  • النموذج المادي physical model: هو التمثيل المادي لقاعدة البيانات.
  • التخطيط schema: هو وصف عام وشامل لقاعدة البيانات.

التمارين

  1. ما هو نموذج البيانات؟
  2. ما هو نموذج البيانات المفاهيمي عالي المستوى؟
  3. عرف المصطلحات التالية:
  • الكيان.
  • السمة.
  • العلاقة.
  1. اذكر وصِف بإيجاز النماذج الشائعة لنماذج البيانات المنطقية القائمة على السجلات.
  2. صِف الغرض من التصميم المفاهيمي.
  3. ما هو الاختلاف بين التصميم المفاهيمي والتصميم المنطقي؟
  4. عرف النماذج التالية:
  • ما هو النموذج الخارجي؟
  • ما هو النموذج المفاهيمي؟
  • ما هو النموذج الداخلي؟
  • ما هو النموذج المادي؟
  1. ما هو النموذج الذي يتعامل معه مسؤول قاعدة البيانات؟
  2. ما هو النموذج الذي يتعامل معه المستخدِم النهائي لقاعدة البيانات؟
  3. ما هو الاستقلال البيانات ماديًا؟
  4. ما هو استقلال البيانات منطقيًا؟

ترجمة وبتصرف للفصل Chapter 4 Types of Data Models والفصل Chapter 5 Data Modelling من كتاب Database Design لصاحبه Adrienne Watt.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...