قواعد البيانات – تعريفها وأنواعها وخطوات تصميمها

ملخص المحتوى

شرح مفهوم وتعريف قواعد البيانات أو قواعد المعلومات وأهدافها وأنواع قواعد البيانات المختلفة. نظم إدارة قواعد البيانات وبيئاتها ومميزاتها ومصطلحاتها وأهمية قواعد البيانات. شرح طرق تصميم قاعدة البيانات ومواصفات التصميم الجيد لها.

المحتويات

تعريف قواعد البيانات

قواعد البيانات ومفردها قاعدة البيانات أو قاعدة المعلومات أو قاعدة المعطيات (بالإنجليزية Database)، هي مجموعة مشتركة من عناصر البيانات ذات الصلة والمرتبطة مع بعضها البعض بعلاقة منطقية أو رياضية. وتُستخدم لدعم أنشطة مؤسسة أو شركة معينة.

ويمكن النظر إلى قاعدة البيانات كمستودع للبيانات التي يتم تعريفها مرة واحدة ثم الوصول إليها من قبل العديد من المستخدمين.

وتتكون قاعدة البيانات من جدول واحد أو أكثر.

ويتكون الجدول من سجل (صف) أو أكثر.

ويتكون السجل من حقل أو أكثر.

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

  • رقم الموظف
  • اسم الموظف
  • الدرجة الوظيفية
  • تاريخ التعيين
  • الراتب الأساسي
  • القسم التابع له
  • … إلخ

وغير ذلك من بيانات الموظفين التي تُخزن في جهاز الحاسوب بشكل منظّم ضمن برنامج حاسوب يسمى نظام إدارة قواعد البيانات (بالإنجليزية: Database Management System) يقوم بتسهيل التعامل مع البيانات والبحث فيها وتمكين المستخدم من الإضافة والتعديل عليها.

يتم استرجاع البيانات باستخدام أوامر مخصصة في لغة تُسمى لغة الاستعلام الهيكلية (بالإنجليزية: Structured Query Language) ويرمز لها بالاختصار SQL، حيث تساعد هذه اللغة في الاستعلام عن بيانات محددة أو تلخيص البيانات واسترجاع المعلومات المفيدة التي تساعد الإدارة في عملية اتخاذ القرار.

أهداف قواعد البيانات

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

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

وتحقق قواعد المعلومات الكثير من الأهداف لجهات الإدارة الوسطى والإدارة الاستراتيجية.

كما توفر إمكانية القيام بعمليات التحليل وتنقيب البيانات والتوصل إلى الاستنتاجات اللازمة لمتخذي القرار في الشركة أو المؤسسة.

أنواع قواعد البيانات

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

يمكن تعريف ثلاثة أنواع من قواعد البيانات من حيث طبيعة التركيب وهي كما يلي:

  1. قواعد البيانات العلائقية
  2. قواعد البيانات الهيكلية
  3. وقواعد البيانات الهرمية

أما من حيث حجم قواعد البيانات وطبيعة استخدامها يوجد أيضًا:

  1. قواعد البيانات الضخمة
  2. مستودعات البيانات

وفيما يلي شرحًا مفصلا لكل منها:

1. قواعد البيانات العلائقية

قاعدة البيانات العلائقية هي التي تعتمد التركيب العلائقي بين عناصر البيانات.

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

2. قواعد البيانات الهيكلية

قاعدة البيانات الهيكلية هي التي تعتمد التركيب الهيكلي بين عناصر البيانات.

وهو اعتماد علاقة الهيكل التنظيمي بين عناصر البيانات.

مثال ذلك أن يكون عنصرين مصنفين تحت عنصر واحد أو تابعين له.

3. قواعد البيانات الهرمية

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

مثال ذلك أن يكون كل عنصر مسؤول عن عنصر واحد فقط وليس أكثر، بالترتيب من أعلى إلى أسفل، وهكذا.

قواعد البيانات الضخمة

عند النظر إلى أنواع قواعد البيانات من منظور الحجم، يمكن تقسيم قواعد البيانات إلى:

  • قواعد بيانات بسيطة تخدم مؤسسة أو شركة محددة
  • قواعد بيانات ضخمة أو مراكز البيانات

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

ومن أمثلة مراكز البيانات تلك التي تملكها شركات التكنولوجيا العملاقة مثل شركة جوجل وفيسبوك وغيرها.

مستودعات البيانات

يوجد أيضًا نوع من أنواع قواعد المعطيات التي يتم تجميعها من عدة مصادر وهي مستودعات البيانات (بالإنجليزية: Data Warehouses).

ومستودع البيانات عبارة عن تجميع للبيانات التاريخية من قواعد البيانات التقليدية من عدة مصادر لاستخراج تقارير وتحاليل تفيد في أداء عمل المؤسسات والشركات.

ومن أمثلة هذا النوع تلك المستخدمة في المقر الرئيسي لشركة لها عدة أفرع متواجدة في عدة دول أو مدن مختلفة.

خصائص قواعد البيانات

تحتوي قاعدة البيانات على الخصائص التالية:

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

نظام إدارة قواعد البيانات

نظام إدارة قواعد البيانات (بالإنجليزية: Database Management System) ويُرمز له بالاختصار (DBMS)، هو عبارة عن مجموعة من البرامج التي تُمكّن المستخدمين من إنشاء قواعد البيانات وصيانتها والتحكم في الوصول إليها. الهدف الأساسي لنظام إدارة قواعد البيانات (DBMS) هو توفير بيئة ملائمة وفعّالة للمستخدمين لاسترداد المعلومات وتخزينها أو استرجاعها أو الإضافة أو التعديل عليها أو حذفها، حيث يقوم البرنامج بالربط بين المستخدم وبين محرك قاعدة البيانات، لأداء تلك المهمة.

وفى حال وجود علاقة بين جداول قاعدة البيانات يسمى هذا بنظام إدارة قواعد البيانات العلائقية أو نظام إدارة قواعد البيانات الارتباطية.

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

يتم استخدام نظام إدارة قواعد البيانات (DBMS) من قبل قسم شؤون الموظفين والإدارة العليا وقسم الحسابات للوصول إلى قاعدة البيانات المشتركة وتسهيل عمل كل قسم.

بيئات قواعد البيانات

بيئة قواعد البيانات هي البيئة البرمجية أو النظام الذي يوفر الأدوات والبرمجيات اللازمة لتصميم وإدارة قواعد البيانات.

وتوجد العديد من بيئات قواعد المعلومات التي يتم تطويرها من قبل شركات عالمية متخصصة تتنافس فيما بينها لتوفير أفضل الأدوات والأساليب اللازمة لإدارة قواعد المعلومات.

ومن أشهر بيئات قواعد البيانات:

  • نظام أوراكل لإدارة قواعد البيانات العلائقية (Oracle)
  • ماي إس كيو إل (My SQL)
  • فيربيرد (Firebird)
  • مايكروسوفت أكسس (Microsoft Access)
  • بوستجرس (Postgress)
  • قاعدة بيانات بيركلي (Birckly)
  • بورلاند إنتربيز (Borland Interbase)
  • ميكروسوفت إس كيو إل سيرفر (Microsoft SQL Server)
  • إنفورميكس (Informix)
  • بي تريف (B-trieve)
  • آي بي إم دي بي2 (IBMDB2)
  • سايبيز (Sybase)

فوائد قواعد البيانات

إدارة البيانات تعني الاهتمام بها حتى تعمل من أجلنا وتكون مفيدة للمهام التي نقوم بها.

باستخدام نظام إدارة قواعد البيانات (DBMS)، لم تعد المعلومات التي يتم جمعها وإضافتها إلى قواعد المعلومات عرضة للتشويش العَرَضي، كما أنها تصبح أكثر سهولة وتكاملًا مع بقية العمل أيًا كان نوعه.

تسمح لنا إدارة البيانات باستخدام قواعد المعطيات بأن نصبح مستخدمين استراتيجيين للبيانات التي لدينا.

غالبًا ما نحتاج إلى الوصول إلى البيانات وإعادة ترتيبها للاستخدامات المختلفة. والتي قد تشمل:

  • إنشاء قوائم بريدية
  • كتابة تقارير الإدارة
  • توليد قوائم قصص إخبارية مختارة
  • تحديد احتياجات العملاء المختلفة

كما تسمح قوة المعالجة التي توفرها قواعد المعلومات بمعالجة البيانات التي تحتويها، بحيث يمكنها أن تقوم بعمليات مثل:

  • الفرز (بالإنجليزية: Sort)
  • الترتيب (بالإنجليزية: Arrange)
  • إنشاء حلقات الوصل (بالإنجليزية: Match)
  • إنشاء ارتباطات (بالإنجليزية: Link)
  • تخطي حقول معينة (بالإنجليزية: Skip fields)
  • إجراء الحسابات على الحقول (بالإنجليزية: Calculate)

ونظرًا لتعدد استخدامات قواعد البيانات، نجدها تعمل على تشغيل جميع أنواع المشاريع.

أمثلة استخدامات قواعد البيانات

  • تصميم موقع على شبكة الإنترنت لحفظ المستخدمين المسجلين في موقع متخصص للبيع عبر الإنترنت
  • تطوير تطبيق لأرشفة ومتابعة المستفيدين من الخدمات الاجتماعية
  • تصميم نظام السجلات الطبية لمرافق الرعاية الصحية
  • تطوير نظم قواعد بيانات المعلوماتية الحيوية
  • إنشاء دفتر عناوين البريد الإلكتروني للزبائن
  • تجميع مجموعة من الوثائق المرتبطة بكلمات معينة
  • تطوير نظام يصدر حجوزات الطيران في شركة طيران
  • تصميم وتطوير نظام مصرفي في البنوك
  • تطوير نظام محاسبي في الشركات
  • إعداد وتصميم نظام متخصص في الإدارة المدرسية
  • تطوير نظام إدارة المشاريع لمكتب متعدد المشاريع

وغيرها من النظم الأخرى.

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

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

مميزات قواعد البيانات

هناك عدد من الخصائص التي تميّز نهج قواعد البيانات عن نظم إدارة الملفات أو النهج القائم على الملفات.

وفيما يلي وصفًا موجزًا لأهم مميزات قواعد المعلومات:

الوصف الذاتي لنظام قواعد البيانات

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

العزل بين البرنامج والبيانات

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

أما في نهج قواعد المعلومات، يتم تخزين بنية المعلومات في كتالوج النظام وليس في البرامج.

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

دعم لطرق عرض متعددة

تدعم قواعد المعلومات طرق عرض متعددة للبيانات. العرض عبارة عن مجموعة فرعية من قاعدة المعلومات، والتي يتم تعريفها وتخصيصها لمستخدمين معينين للنظام. قد يكون للعديد من المستخدمين في النظام وجهات نظر مختلفة للنظام.

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

تقاسم البيانات ونظام متعدد المستخدمين

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

يُعد تصميم أنظمة قواعد المعلومات الحديثة متعددة المستخدمين تحسينًا كبيرًا عن تلك الموجودة في الماضي والتي اقتصر استخدامها على شخص واحد في كل مرة.

التحكم في تكرار البيانات

في نهج قواعد البيانات، من الناحية المثالية، يتم تخزين كل عنصر بيانات في مكان واحد فقط في قاعدة البيانات.

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

تبادل البيانات

إن دمج جميع البيانات، بالنسبة للمؤسسة، داخل نظام قاعدة بيانات له مزايا عديدة، ومنها:

أولا، يسمح بمشاركة البيانات بين الموظفين وغيرهم ممن لديهم حق الوصول إلى النظام.

ثانيًا، يمنح المستخدمين القدرة على توليد معلومات أكثر من كمية معينة من البيانات أكثر مما يمكن تحقيقه بدون التكامل.

تطبيق قيود صحة إدخال البيانات

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

هناك العديد من أنواع قيود قواعد البيانات. تُحدد أنواع البيانات، مثلا، نوع البيانات المسموح بها في الحقل، على سبيل المثال القيد الذي يسمح بإدخال الأرقام فقط في حقل مخصص للأرقام.

يضمن تفريد البيانات مثل المفتاح الأساسي عدم إدخال أي نسخ مكررة من السجلات.

يمكن أن تكون القيود بسيطة (قائمة على قاعدة بسيطة داخل تصميم الجدول) أو معقدة (قائمة على جمل برمجية معقدة).

منح الصلاحيات وتقييد الوصول غير المصرح به

لن يكون لجميع مستخدمي نظام قاعدة بيانات معين نفس امتيازات الوصول.

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

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

ميزة أخرى لنظم إدارة قواعد البيانات هي القدرة على السماح باستقلالية البيانات.

بمعنى آخر، يتم فصل أوصاف بيانات النظام أو البيانات التي تصف البيانات (البيانات الوصفية) عن البرامج التطبيقية.

هذا ممكن لأن التغييرات في هيكل البيانات يتم معالجتها بواسطة نظام إدارة قاعدة البيانات وليست مدمجة في البرنامج نفسه.

تزامن المعالجة

يجب أن يشتمل نظام إدارة قاعدة المعلومات على أنظمة فرعية للتحكم في التزامن.

تضمن هذه الميزة بقاء المعلومات أو البيانات متسقة وصالحة أثناء معالجة المعاملات حتى إذا قام العديد من المستخدمين بتحديث نفس المعلومات.

توفير لوجهات نظر متعددة للبيانات

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

وظائف النسخ الاحتياطي والاسترداد

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

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

أحد الجوانب الأساسية لهندسة البرمجيات بشكل عام هو التقسيم الفرعي لعملية التطوير إلى سلسلة من المراحل أو الخطوات، يُركز كل منها على جانب واحد من التطوير. يُشار أحيانًا إلى مجموعة هذه الخطوات باسم دورة حياة تطوير البرامج (SDLC). ينتقل منتج البرنامج خلال دورة الحياة هذه (بشكل متكرر أحيانًا، حيث يتم تحسينه أو إعادة تطويره) حتى يتم إيقافه نهائيًا عن الاستخدام.

من الناحية المثالية، يمكن التحقق من صحة كل مرحلة في دورة حياة التطوير قبل الانتقال إلى المرحلة التالية.

دورة حياة تطوير البرمجيات – نموذج الشلال

نموذج الشلال، هو النموذج المستخدم في معظم كتب هندسة البرمجيات.

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

ويجب إكمال كل خطوة في النموذج قبل الانتقال إلى الخطوة التالية.

نموذج الشلال - تطوير قواعد البيانات
نموذج الشلال – تطوير قواعد البيانات

يمكن استخدام نموذج الشلال كوسيلة لتحديد المهام المطلوبة، جنبًا إلى جنب مع المدخلات والمخرجات لكل نشاط. المهم هو نطاق الأنشطة.

ويمكن تلخيص الخطوات التي يشتمل عليها نموذج الشلال على النحو التالي:

  1. يتضمن تحديد المتطلبات التشاور مع أصحاب المصلحة والاتفاق معهم حول ما يريدون من النظام، معبرًا عنه كبيان للمتطلبات.
  2. يبدأ التحليل من خلال النظر في بيان المتطلبات والانتهاء من خلال إنتاج مواصفات النظام. المواصفات هي تمثيل رسمي لما يجب أن يفعله النظام، ويتم التعبير عنه بعبارات مستقلة عن كيفية تحقيقه.
  3. يبدأ التصميم بمواصفات النظام، وينتج وثائق التصميم ويقدم وصفا مفصلا لكيفية إنشاء النظام.
  4. التنفيذ هو بناء نظام كمبيوتر وفقًا لوثيقة تصميم معينة مع مراعاة البيئة التي سيعمل فيها النظام (على سبيل المثال، أجهزة أو برامج محددة متاحة للتطوير). قد يتم التنفيذ عادةً باستخدام نظام أولي يمكن التحقق من صحته واختباره قبل طرح نظام نهائي للاستخدام.
  5. يقارن الاختبار بين النظام المُطبّق ومواصفات وثائق ومتطلبات التصميم ويُصدر تقرير قبول أو، في الغالب، قائمة بالأخطاء والأخطاء التي تتطلب مراجعة عمليات التحليل والتصميم والتنفيذ لتصحيحها (الاختبار هو عادةً المهمة التي تؤدي لنموذج الشلال الذي يتكرر خلال دورة الحياة).
  6. تتضمن الصيانة التعامل مع التغييرات في المتطلبات أو بيئة التنفيذ، أو إصلاح الأخطاء أو نقل النظام إلى بيئات جديدة (على سبيل المثال، ترحيل نظام من حاسوب مستقل إلى محطة عمل UNIX أو بيئة شبكية). نظرًا لأن الصيانة تتضمن تحليل التغييرات المطلوبة، وتصميم الحل، وتنفيذ واختبار هذا الحل على مدى عمر نظام برمجيات تمت صيانته، بالتالي فإنه سيتم إعادة النظر في دورة حياة الشلال بشكل متكرر.

دورة حياة قاعدة البيانات

يمكننا استخدام نموذج الشلال كأساس لنموذج تطوير قاعدة البيانات، والذي يتضمن ثلاث افتراضات:

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

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

من الناحية العملية، فإن تطوير قواعد البيانات هو عملية الحصول على متطلبات العالم الحقيقي، وتحليل المتطلبات، وتصميم بيانات ووظائف النظام، ثم تنفيذ العمليات في النظام.

مراحل تطوير قواعد البيانات

تتألف عملية تطوير قواعد البيانات من المراحل التالية:

  1. جمع المتطلبات
  2. التحليل
  3. التصميم المنطقي
  4. التنفيذ
  5. تحقيق التصميم
  6. نشر قاعدة البيانات

وفيما يلي شرحًا مفصلا لكل مرحلة من هذه المراحل:

جمع المتطلبات

الخطوة الأولى هي جمع المتطلبات. خلال هذه الخطوة، يجب على مصممي قواعد المعلومات مقابلة العملاء (مستخدمي قواعد المعلومات) لفهم النظام المُقترح والحصول على البيانات والمتطلبات الوظيفية وتوثيقها.

نتيجة هذه الخطوة هي وثيقة تتضمن المتطلبات التفصيلية المقدمة من قبل المستخدمين.

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

يتم استخدام مستند متطلبات البيانات لتأكيد فهم المتطلبات مع المستخدمين. للتأكد من فهمها بسهولة، لا ينبغي أن تكون رسمية بشكل مفرط أو مشفرة للغاية. يجب أن يقدم المستند ملخصًا موجزًا ​​لمتطلبات جميع المستخدمين – وليس مجرد مجموعة من متطلبات الأفراد – لأن الهدف هو تطوير قاعدة بيانات مشتركة واحدة.

يجب ألا تصف المتطلبات كيفية معالجة البيانات، بل ما هي عناصر البيانات، وما هي السمات التي تتمتع بها، والقيود التي تنطبق والعلاقات التي تربط بين عناصر البيانات.

التحليل

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

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

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

التصميم المنطقي

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

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

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

إن الجداول التي يحددها المخطط المنطقي هي التي تحدد البيانات المخزنة وكيف يمكن معالجتها في قاعدة البيانات.

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

خصائص التصميم المنطقي لقاعدة البيانات

  1. الاكتمال
  2. التكامل
  3. المرونة
  4. الكفاءة
  5. قابلية الاستخدام

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

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

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

استراتيجيات التصميم المنطقي لقاعدة البيانات

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

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

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

أولويات التصميم المنطقي لقاعدة البيانات

ليس من غير المألوف أن تجد أن تصميمًا واحدًا لا يمكنه تلبية جميع خصائص قاعدة البيانات الجيدة في وقت واحد.

لذلك من المهم أن المصمم قد أعطى الأولوية لهذه الخصائص (عادة باستخدام معلومات من مواصفات المتطلبات).

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

التنفيذ

ينطوي التنفيذ على بناء قاعدة بيانات وفقًا لمواصفات المخطط المنطقي.

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

وسوف يتم التطرق إلى بعض هذه المخاوف بإيجاز فيما يلي:

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

تحقيق التصميم

بعد إنشاء التصميم المنطقي، نحتاج إلى إنشاء قاعدة بياناتنا وفقًا للتعريفات التي قمنا بإنتاجها.

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

إحدى طرق تحقيق ذلك هي كتابة عبارات (SQL DDL) المناسبة في ملف يمكن تنفيذه بواسطة نظام إجارة قواعد البيانات (DBMS)، بحيث يكون هناك سجل مستقل، ملف نصي، لعبارات لغة الاستعلام الهيكلية SQL التي تحدد قاعدة البيانات. طريقة أخرى هي العمل بشكل تفاعلي باستخدام أداة قاعدة بيانات مثل (SQL Server Management Studio) أو (Microsoft Access). ومهما كانت الآلية المستخدمة لتنفيذ المخطط المنطقي، فإن النتيجة هي تحديد قاعدة البيانات، مع الجداول والقيود، ولكنها لن تحتوي على بيانات لعمليات المستخدم.

نشر قاعدة البيانات

بعد إنشاء قاعدة البيانات، هناك طريقتان لملء الجداول:

  • إما: من البيانات الموجودة.
  • أو: من خلال استخدام تطبيقات المستخدم المطورة لقاعدة البيانات.

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

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

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

إرشادات تطوير مخطط تصميم قاعدة البيانات

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

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

مصطلحات قاعدة البيانات

الجداول

تُنظم قاعدة البيانات المعلومات في أوعية مخصصة تُسمى الجداول، وهي قوائم تحتوي على صفوف وأعمدة تشبه جدول البيانات.

وقد يكون لدينا جدول واحد فقط في قاعدة بيانات بسيطة، ولكن يلزم عادة أكثر من جدول واحد في معظم قواعد البيانات.

مثلا في قاعدة بيانات إحدى الشركات، قد يلزم جدول يحتوي على معلومات حول المنتجات وجدول آخر يحتوي على معلومات عن أوامر الشراء وجدول آخر يحتوي على معلومات حول العملاء.

السجلات والحقول

في الجداول، يُسمى كل صف سجل ويُسمى كل عمود حقل.

ويُعتبر السجل طريقة متناسقة ذات معنى لجمع معلومات حول شيء ما.

بينما يُعتبر الحقل عنصرًا واحدًا من المعلومات، هو نوع العنصر الذي يظهر في كل سجل.

مثلا، في جدول المنتجات، يمكن أن يحتوي كل صف أو سجل على معلومات حول منتج واحد، ويحتوي كل عمود أو حقل في هذا السجل على نوع من المعلومات حول هذا المنتج، مثل الاسم أو السعر.

المفتاح الأساسي

المفتاح الأساسي في أي جدول هو عمود يتم استخدامه في تعريف كل صف بشكل فريد، أي بشكل لا يقبل التكرار.

ومن أمثلة المفتاح الأساسي: رقم تعريف الموظف، أو رقم بطاقة الهوية الشخصية، أو ممكن أن يكون “معرّف المنتج” في جدول تعريف المنتجات.

التصميم الجيد لقاعدة البيانات

توجد بعض المبادئ الخاصة بتوجيه عملية تصميم قاعدة البيانات حتى تتم بشكل جيد.

ومن هذه المبادئ:

المبدأ الأول: تجنب تكرار البيانات

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

المبدأ الثاني: صحة ودقة المعلومات وتكاملها

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

وبالتالي فإن من سمات التصميم الجيد لقاعدة البيانات يستلزم:

  • تقسيم المعلومات في جداول لها عناوين لتقليل البيانات المكررة.
  • ضم المعلومات في الجداول معًا، كلما لزم الأمر.
  • ضمان دقة وصحة البيانات وتكاملها.

خطوات تصميم قاعدة البيانات

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

  • تحديد الغرض من قاعدة البيانات
  • تحديد المعلومات المطلوبة وتنظيمها
  • تقسيم المعلومات في جداول
  • تحويل عناصر المعلومات إلى أعمدة
  • تحديد المفاتيح الأساسية
  • إنشاء العلاقات بين الجداول
    1. علاقة واحد إلى متعدد
    2. أو علاقة متعدد إلى متعدد
    3. علاقة واحد إلى واحد

وفيما يلي شرحًا مفصلا لكل خطوة:

تحديد الغرض من قاعدة البيانات

إن تحديد الغرض من قاعدة البيانات يساعد في التحضير لعملية تصميم قاعدة البيانات بالطريقة المُثلى.

ويُستحسن قبل بدء تصميم قاعدة المعلومات أن نكتب الغرض من قاعدة المعلومات على الورق.

فالغرض من الكتابة هو توضيح طريقة استخدام قاعدة البيانات وتحديد الخطوط العريضة لمستلزمات هذا الاستخدام.

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

تحديد المعلومات المطلوبة وتنظيمها

يتم في هذه الخطوة جمع كل أنواع المعلومات التي قد يلزم تسجيلها في قاعدة المعلومات، مثل:

  • معلومات عن المنتجات
  • أو معلومات عن المبيعات
  • أو معلومات عن الموردين
  • .. إلخ

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

أثناء إعدادنا لهذه القائمة، لا يعني ذلك ضرورة إنجازها على أكمل وجه من المرة الأولى. بدلا من ذلك، يمكن سرد كل عنصر يتبادر إلى الذهن.

في حالة استخدام عدة أشخاص لقاعدة المعلومات، يمكن طلب معرفة أفكارهم أيضًا. كما يمكن ضبط القائمة في وقت لاحق.

تنظيم البيانات وفقًا لاحتياجات المخرجات

بعد ذلك، يجب مراعاة أنواع التقارير أو المراسلات البريدية المطلوب إنشاؤها من قاعدة البيانات.

على سبيل المثال، قد نريد تقرير مبيعات المنتج لعرض المبيعات حسب المنطقة أو تقرير ملخص عن المخزون يعرض مستويات مخزون المنتج.

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

يساعد تكوين فكرة حول التقارير ومراسلات البريد التي قد نريد إنشاءها على تحديد العناصر التي سنحتاج إليها في قاعدة البيانات.

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

يقترح إجراء إرسال رسائل البريد الإلكتروني إلى العملاء عنصرًا آخر يجب تسجيله. عندما نعلم أن العميل يريد تلقي رسائل البريد الإلكتروني، سنحتاج أيضًا إلى معرفة عنوان البريد الإلكتروني الخاص به لإرسال الرسائل عليه. وبالتالي فإننا بحاجة إلى تسجيل عنوان البريد الإلكتروني لكل عميل.

من المناسب إنشاء نموذج أولي لكل تقرير أو قائمة مخرجات، مع مراعاة العناصر التي سنحتاج إليها لإنشاء التقرير.

على سبيل المثال، عندما نقوم بفحص رسالة نموذجية، قد يتبادر إلى الذهن بعض الأمور. إذا كنا نريد تضمين تحية مناسبة، مثل الديباجة التي تبدأ بالتحية “السيد” أو “السيدة” أو “الآنسة”، يجب إنشاء عنصر تحية. ويمكن أيضًا أن نبدأ الرسالة بـ “عزيزي السيد/محمد” بدلا من “عزيزي السيد/ محمد مصطفى”. يوضح هذا أننا نريد إبقاء اسم العائلة منفصلا عن الاسم الأول، حتى يكون بالإمكان استخدامه بشكل منفرد.

التقسيم إلى أجزاء أصغر

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

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

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

بعد تجميع هذه المعلومات، سنكون جاهزين للخطوة التالية.

تقسيم المعلومات في جداول

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

ولتقسيم المعلومات إلى جداول، يتم اختيار الوحدات أو العناوين الرئيسية.

مثلا، إذا اشتملت عناصر المعلومات لدينا على بيانات تخص المنتجات والموردين والعملاء والطلبات. فإنه من المنطقي أن يتم البدء بهذه الجداول الأربعة:

  • الجدول الأول: معلومات حول المنتجات
  • والجدول الثاني: معلومات حول الموردين
  • الجدول الثالث: معلومات حول العملاء
  • الجدول الرابع: معلومات حول الطلبات

على الرغم من أن هذا لا يُعبر عن كل قائمة الجداول التي يمكن إنشاءها، لكنه نقطة بداية جيدة.

ويمكن متابعة تحسين هذه الجداول حتى الحصول على تصميم يعمل بشكل جيد.

عند مراجعة قائمة العناصر الأولية المتوفرة في كل جدول، قد نفكر في وضعها في جدول واحد بدلا من الأربعة جداول الموضحة في الرسم التوضيحي السابق.

ولكن سوف نتعلم في المثال التالي لماذا تُعد هذه فكرة سيئة.

مثال توضيحي

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

احتياجات التعديل

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

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

احتياجات الحذف

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

عند اختيار العنوان الممثل بالجدول، يجب أن تحتوي الأعمدة على المعلومات ذات الصلة بالعنوان فقط.

مثلا، يجب على جدول المنتجات تخزين المعلومات حول المنتجات فقط. لأن عنوان المورد هو معلومة تتعلق بالمورد، وليس معلومة حول المنتج، فهو ينتمي إلى جدول الموردين.

تحويل عناصر المعلومات إلى أعمدة

في هذه الخطوة، يتم تحديد ما هي المعلومات التي نريد تخزينها في كل جدول. حيث يصبح كل عنصر حقلا ويتم عرضه كعمود في الجدول.

مثلا، قد يتضمن جدول الموظفين حقولا مثل “اسم الموظف، “اسم العائلة”، “تاريخ التوظيف”، وهكذا.

لتحديد الأعمدة في جدول، يتم تحديد المعلومات التي نحتاجها لتفاصيل العنوان المسجل في الجدول.

مثلا، بالنسبة لجدول “العملاء”، يمكن أن تكون أعمدة الجدول معبرة عن البيانات التفصيلية التالية:

  • الاسم
  • العنوان
  • المدينة
  • الولاية
  • الرمز البريدي
  • إرسال بريد إلكتروني
  • التحية
  • عنوان البريد الإلكتروني
  • .. إلخ

يحتوي كل سجل في الجدول على مجموعة الأعمدة نفسها، حيث يمكن تخزين معلومات الاسم، العنوان، المدينة، الولاية، الرمز البريدي، وإرسال بريد إلكتروني، التحية، لكل سجل. على سبيل المثال، يتضمن عمود العنوان عناوين العملاء. ويحتوي كل سجل على بيانات حول عميل واحد ويحتوي حقل “العنوان” على عنوان هذا العميل.

بعد تحديد مجموعة الأعمدة الأولى لكل جدول، يمكن تحسين الأعمدة.

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

يجب أيضًا مراعاة ما إذا كانت قاعدة المعلومات تتضمن معلومات محلية فقط أو الدولية أيضًا.

مثلا، إذا كنا نخطط لتخزين العناوين الدولية، يُفضّل أن يكون لدينا عمود المنطقة بدلا من الولاية، حيث يمكن لمثل هذا العمود احتواء الولايات المحلية ومناطق البلدان/المناطق الأخرى.

وبشكل مماثل، قد يكون “الرمز البريدي” أفضل بشكل أكبر إذا كنا نريد تخزين العناوين الدولية.

فيما يلي بعض التلميحات المهمة لتحديد الأعمدة الخاصة بالجدول:

عدم تضمين البيانات المحسوبة

في معظم الحالات، يجب عدم تخزين نتيجة العمليات الحسابية في الجداول.

بدلا من ذلك، يمكن الحصول على نتائج إجراء العمليات الحسابية عندما نريد رؤية نتيجة العملية.

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

بمعنى أنه يجب عدم تخزين الإجمالي الفرعي نفسه في جدول.

تخزين المعلومات في أجزاء منطقية أصغر

قد نحتاج إلى حقل واحد للأسماء الكاملة أو لأسماء المنتجات إلى جانب أوصاف المنتج.

إذا قمنا بدمج أكثر من نوع واحد من المعلومات في الحقل فسوف يكون من الصعب استرداد المعلومات الفردية في وقت لاحق.

والتصميم الأفضل هو تقسيم المعلومات إلى أجزاء منطقية.

مثلا، يمكن إنشاء حقول منفصلة للاسم الأول واسم العائلة أو لاسم المنتج وفئته ووصفه.

عندما نقوم بتحسين أعمدة البيانات في كل جدول يُصبح الجدول جاهزًا للخطوة التالية وهي اختيار المفتاح الأساسي له.

تحديد المفاتيح الأساسية في قواعد البيانات

يتم في هذه الخطوة اختيار المفتاح الأساسي لكل جدول.

ويعتبر المفتاح الأساسي عمودًا يتم استخدامه لتعريف كل صف بشكل فريد لا يقبل التكرار.

مثل:

  • “معرف المنتج” أو
  • “معرف الطلب”

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

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

قيمة المفاتيح الأساسية

يجب توفير قيمة دائمًا للمفتاح الأساسي.

إذا كانت قيمة العمود غير معينة أو غير معروفة (قيمة مفقودة) في بعض الأحيان، فلا يمكن استخدامها كمكون في المفتاح الأساسي.

كما يجب أن نقوم دائمًا باختيار مفتاح أساسي لن تتغير قيمته.

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

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

الترقيم التلقائي للمفاتيح الأساسية

إذا لم نضع في الاعتبار أي عمود أو مجموعة أعمدة لتحديده كمفتاح أساسي مناسب، فيجب استخدام عمود يحتوي على نوع البيانات “ترقيم تلقائي”. عند استخدام نوع البيانات “ترقيم تلقائي”، يتم تلقائيًا توليد قيمة لكل سجل عبارة عن مسلسل تلقائي. هذا النوع من المعرف غير صحيح؛ فهو لا يحتوي على معلومات حقيقية تصف الصف الذي تمثله. تعد المعرفات غير الحقيقية مثالية للاستخدام كمفتاح أساسي لإنها لن تغيير. المفتاح الأساسي الذي يحتوي على معلومات حول الصف، على سبيل المثال رقم الهاتف أو اسم العميل، من المحتمل أن يتغير لأن المعلومات الحقيقية نفسها يمكن أن تتغير.

غالبًا ما يمكن استخدام العمود المعيَّن لنوع البيانات “ترقيم تلقائي” كمفتاح أساسي جيد لأنه لا يوجد معرفان متماثلان للمنتج.

في بعض الحالات، قد نحتاج إلى استخدام حقلين أو أكثر معًا لتوفير المفتاح الأساسي للجدول.

مثلا، يمكن لجدول “تفاصيل الطلب” الذي يقوم بتخزين عناصر السجل للطلبات استخدام عمودين في المفتاح الأساسي الخاص به: معرف الطلب ومعرف المنتج.

عندما يستخدم المفتاح الأساسي أكثر من عمود، يسمى ذلك أيضًا بالمفتاح المركب.

بالنسبة لقاعدة بيانات مبيعات المنتج، يمكن إنشاء عمود “ترقيم تلقائي” لكل جدول ليعمل كمفتاح أساسي.

مثلا، يمكن إنشاء معرف المنتج لجدول المنتجات ومعرف الطلب في جدول الطلبات ومعرف العميل لجدول العملاء ومعرف المورد لجدول الموردين.

إنشاء العلاقات بين الجداول في قواعد البيانات

يتم في هذه الخطوة مراجعة كل جدول وتحديد كيفية ارتباط البيانات في جدول ما بالبيانات الموجودة في الجداول الأخرى.

ويمكن إضافة الحقول إلى الجداول أو إنشاء جداول جديدة لتوضيح العلاقات إذا لزم الأمر.

مثلا، يمكن الربط بين جدول المنتجات وجدول المبيعات من خلال حقل “معرف المنتج”، بحيث يظهر في جدول المبيعات كل حركات البيع التي تمت للمنتج بدلالة “معرف المنتج”، ولكن بدون تكرار بيانات المنتج كاملة في جدول المبيعات.

بعد أن قمنا بتقسيم المعلومات في جداول، نحتاج إلى طريقة لتجميع المعلومات مرة أخرى بطرق ذات معني.

على سبيل المثال، يتضمن أحد النماذج معلومات من عدة جداول، بحيث تأتي المعلومات الواردة فيه من الجدول التالية:

  1. جدول العملاء
  2. وجدول الموظفين
  3. جدول الطلبات
  4. جدول المنتجات
  5. وجدول تفاصيل الطلب

في نظام إدارة قواعد البيانات العلائقية أو الارتباطية، يمكن تقسيم المعلومات في جداول منفصلة، جداول قائمة على عناوين. ثم يمكن بعد ذلك استخدام علاقات الجداول لتربيط وجمع المعلومات معًا، إذا لزم الأمر.

وهناك ثلاثة أنواع من العلاقات في قواعد البيانات، وهي:

  1. علاقة واحد إلى متعدد
  2. أو علاقة متعدد إلى متعدد
  3. أو علاقة واحد إلى واحد

وفيما يلي شرحًا مفصلا لطريقة إنشاء كل نوع من هذه الأنواع من العلاقات:

إنشاء علاقة واحد إلى متعدد

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

مثلا، في جداول المنتجات والموردين في قاعدة بيانات طلبات المنتج، من المعروف أنه يمكن للمورد توفير أي عدد من المنتجات.

ويترتب على ذلك وجود العديد من المنتجات في جدول المنتجات لأي مورد في جدول الموردين.

وبالتالي، تُعتبر العلاقة بين جدول الموردين وجدول المنتجات من نوع علاقة واحد إلى متعدد.

لتمثيل علاقة واحد إلى متعدد في تصميم قاعدة البيانات، نستخدم المفتاح الأساسي الموجود في الجانب “واحد” من العلاقة ثم إضافته كعمود إضافي أو أعمدة إضافية إلى الجدول الموجود في الجانب “متعدد” من العلاقة. في هذه الحالة، نضيف عمود معرف المورد من جدول الموردين إلى جدول المنتجات. بعد ذلك سيتم استخدام رقم معرّف العميل في جدول المنتجات لتحديد موقع المورد الصحيح لكل منتج بشكل آلي.

يسمى عمود معرف المورد في جدول المنتجات بالمفتاح الخارجي.

المفتاح الخارجي هو مفتاح أساسي لجدول آخر.

ويعتبر العمود “معرف المورد” في جدول المنتجات مفتاح خارجي لإنه يُعد أيضًا المفتاح الأساسي في جدول الموردين.

يمكن توفير الأساس للانضمام إلى الجداول المرتبطة عن طريق تأسيس مفاتيح أساسية ومفاتيح خارجية.

إذا لم نكن متأكدين من الجداول التي يجب أن تتشارك عمودًا عامًا، يضمن تحديد علاقة واحد إلى متعدد أن الجدولين المضمنين سيتطلبان عمودًا مشتركًا.

إنشاء علاقة متعدد إلى متعدد

علاقة متعدد إلى متعدد يكون فيها لكل سجل في الجدول الأول قد يوجد عدة سجلات مرتبطة به في الجدول الثاني.

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

مثلا، العلاقة بين جدول المنتجات وجدول الطلبات. فقد يتضمن طلب واحد أكثر من منتج واحد.

وعلى الجانب الآخر، يمكن أن يظهر منتج واحد في عدة طلبات.

لذلك، يمكن أن يكون لكل سجل في جدول “الطلبات” عدة سجلات في جدول “المنتجات”.

ويمكن أن يكون لكل سجل في جدول “المنتجات” عدة سجلات في جدول “الطلبات”.

يسمى هذا النوع من العلاقة علاقة متعدد إلى متعدد لأنه يمكن أن يكون لأي منتج العديد من الطلبات ويمكن أن يكون لأي طلب العديد من المنتجات.

تجدر الإشارة إلى أنه من المهم أخذ جانبي العلاقة بالاعتبار، لاكتشاف علاقات متعدد إلى متعدد بين الجداول.

تتضمن عناوين الجدولين، الطلبات والمنتجات، علاقة متعدد إلى متعدد. يمثل ذلك مشكلة.

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

حل مشكلة إنشاء علاقة متعدد إلى متعدد

الحل هو إنشاء جدول ثالث، يسمى غالبًا جدول “تفاصيل الطلب” حيث نقوم بتقسيم علاقة متعدد إلى متعدد إلى علاقتيّ واحد إلى متعدد.

ثم يمكن إدراج المفتاح الأساسي من كل من الجدولين في الجدول الثالث.

كنتيجة لذلك، يقوم الجدول الثالث بتسجيل كل تكرارات العلاقة أو مثيلاتها.

يمثل كل سجل في جدول “تفاصيل الطلب” عنصر سجلا واحدًا في الطلب.

يتألف المفتاح الأساسي لجدول “تفاصيل الطلب” من حقلين المفاتيح الخارجية من جداول “الطلبات” و”المنتجات”.

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

ولكن عند دمج الحقلين معًا، ينتج عن ذلك دائمًا قيمة فريدة لكل سجل.

في قاعدة بيانات مبيعات المنتج، لا يرتبط جدول الطلبات وجدول المنتجات ببعضها البعض مباشرة.

لكنهما يرتبطا بشكل غير مباشر عن طريق جدول تفاصيل الطلب.

يتم تمثيل علاقة متعدد إلى متعدد بين الطلبات والمنتجات في قاعدة المعلومات باستخدام علاقات واحد إلى متعدد بحيث يكون:

  1. يحتوي جدول “الطلبات” وجدول “تفاصيل الطلب” على علاقة واحد إلى متعدد. يمكن أن يكون لكل طلب أكثر من عنصر سجل، لكن كل عنصر سجل يتصل بطلب واحد فقط.
  2. يحتوي جدول “المنتجات” وجدول “تفاصيل الطلب” على علاقة واحد إلى متعدد. قد يكون لكل منتج العديد من عناصر السجل المرتبطة به، لكن يشير كل عنصر سجل إلى منتج واحد فقط.

من جدول “تفاصيل الطلب”، يمكن تحديد كل المنتجات الموجودة في طلب محدد. ويمكن أيضًا تحديد كل الطلبات الخاصة بمنتج محدد.

إنشاء علاقة واحد إلى واحد

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

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

عند تحديد علاقة من هذا النوع، يجب أن يشارك الجدولان لحقل مشترك.

عند الكشف عن الحاجة إلى علاقة واحد إلى واحد في قاعدة البيانات، فإنه يمكن وضع معلومات من الجدولين معًا في جدول واحد.

أما إذا لم نرغب في القيام بذلك لسبب ما يتعلق بطبيعة البيانات ومدى توفرها لكل السجلات فنستخدم طريقة إنشاء جدول تكميلي.

توضح القائمة التالية كيفية تمثيل العلاقة في التصميم:

  • إذا كان للجدولين العنوان نفسه، يمكن إعداد العلاقة باستخدام المفتاح الأساسي نفسه في الجدولين.
  • إذا كان للجدولين عناوين مختلفة بمفاتيح أساسية مختلفة، فيتم اختيار أحد الجدولين وإدراج المفتاح الأساسي الخاص به في الجدول الآخر كمفتاح خارجي.

يساعد تحديد العلاقات بين الجداول على ضمان الحصول على الجداول والأعمدة الصحيحة.

وعند وجود علاقة واحد إلى واحد أو واحد إلى متعدد، يجب مشاركة الجداول المضمنة لعمود أو أعمدة مشتركة.

وعند وجود علاقة متعدد إلى متعدد، يجب توفير جدول ثالث لتمثيل العلاقة بالشكل الصحيح.

التطبيق العملي

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

المراجع

  • كتاب تطوير قاعدة البيانات، أدريان وات، الجامعة المفتوحة، كندا.
  • كتاب التحليل المتقدم وتنقيب البيانات، د. م. مصطفى عبيد. دار الفكر العربي، القاهرة، 2017م.
  • مايكروسوفت Database design basics, Microsoft Access
  • أساسيات قواعد البيانات، ترجمة وإعداد: د.م. مصطفى عبيد، مركز البحوث والدراسات متعدد التخصصات، 2020.
  • المرجع التعليمي لنظام قواعد بيانات Access، مركز المساعدة، مركز البحوث والدراسات متعدد التخصصات.
قواعد البيانات - تعريفها وأنواعها وخطوات تصميمها
قواعد البيانات – تعريفها وأنواعها وخطوات تصميمها
error:
Scroll to Top