مبادئ قواعد البيانات العلائقية تصميم قاعدة البيانات (رسم نموذج الكيان والعلاقة الرابطة ERD) المحاضرة الثانية
قواعد البيانات العلائقية Relational Database : في الماضي كانت قواعد البيانات المتعارف عليها هي : قواعد البيانات الشبكية . قواعد البيانات الهرمية . وظلت هذه الأنواع هي المستخدمة حتى ظهرت قواعد البيانات العلائقية ونظرا لقوة نظم إدارة قواعد البيانات العلائقية ، و لسهولة تصميمها و برمجتها و تعامل المستخدمين معها فقد طغت على الأنواع الأخرى وأصبحت هي النوع الوحيد المستخدم.
قواعد البيانات العلائقية Relational Database : في قواعد البيانات العلائقية يتم تجميع البيانات وتخزينها داخل جداول ثنائية الأبعاد . حيث يتكون الجدول من : أعمدة : تستخدم لإظهار صفات أو خصائص البيانات . صفوف : تمثل سجلات كل سجل يحتوي على بيانات مطابقة لأعمدة الجدول . صفوف أعمدة اسم المريض رقم المريض رقم الغرفة الجنس الطبيب محمد 313 100 1 سيف حنان 345 300 2 خالد 988 دعاء منى 456 200 عزة
مثال (قاعدة بيانات مستشفى) مثال (قاعدة بيانات مستشفى) جدول المرضى جدول الغرف اسم المريض رقم المريض رقم الغرفة الجنس الطبيب محمد 313 100 1 سيف حنان 345 300 2 خالد 988 دعاء منى 456 200 عزة عدد الأسرة رقم التحويلة رقم الغرفة 3 435 100 2 342 200 1 676 300 جدول الأدوية جدول يعالج بواسطة الكمية رقم الدواء رقم المريض 3 s123 313 2 s153 345 1 s173 988 المصنع اسم الدواء رقم الدواء HG FDG s123 AB PANADOL s153 FIFA s173
نلاحظ أن هذه الجداول يوجد بينهم علاقات ، لو أردنا أن نستعلم عن شيء معين داخل قاعدة البيانات ، فسيقوم الحاسب باسترجاعه عن طريق العلاقات التي بين تلك الجداول . مثلا : لو أردنا اسم المريض رقم 313 ورقم الغرفة التي يرقد بها وتحويلة هذه الغرفة واسم الدواء الذي يتناوله ؟ أولاً يستخرج الحاسب اسم المريض والغرفة التي يرقد بها من : جدول المرضى (اسم المريض محمد الغرفة 100 ) , ثم ينتقل إلى جدول الغرف ليأخذ رقم التحويلة للغرفة 100 ( التحويلة 435) ، ثم ينتقل إلى جدول يعالج بواسطة ليأخذ رقم الدواء ,ومن ثم يتجه إلى جدول الأدوية ليأخذ اسم هذا الدواء FDG .
خطوات بناء قواعد البيانات : أولا : تحديد متطلبات قاعدة البيانات وبناء عليها يصمم ما يسمى بنموذج الكيان و العلاقة الرابطة ERD . ثانياً : تحويل نموذج الكيان و العلاقة الرابطة ERD إلى جداول كمخطط قابل للتنفيذ على نظام إدارة قواعد البيانات DBMS . ثالثاً : التنفيذ الفعلي للمخطط وتخزينه على نظام إدارة قواعد البيانات DBMS في جهاز الحاسب .
خطوات بناء قواعد البيانات رسم نموذج الكيان و العلاقة الرابطة (ER Diagram) المرحلة الأولى وضع مخطط لقاعدة البيانات تحويل نموذج الكيان والعلاقة الرابطة إلى جداول ( Database Schema) المرحلة الثانية تخزين الجداول في نظام إدارة قواعد البيانات DBMS المرحلة الثالثة
المرحلة الأولى : ( رسم نموذج الكيان و العلاقة الرابطة ERD )
Entity-Relationship Diagram (ERD) نموذج الكيان و العلاقة الرابطة : Entity-Relationship Diagram (ERD) يعتبر أحد أشهر و أهم طرق تصميم قواعد البيانات و هو نموذج رسومي يقوم بتمثيل الكيانات الموجودة في قاعدة البيانات وصفاتها والعلاقات بينها وكذلك القيود المفروضة عليها باستخدام أشكال رسومية محددة. يعتمد على ثلاثة عناصر: الكيانات Entities . الصفات أو الخصائص Attributes . العلاقات Relationship .
1- الكيانات Entities : الطالب نموذج الكيان و العلاقة الرابطة (ERD): 1- الكيانات Entities : هي الوحدات الأساسية في قاعدة البيانات وهي تشير إلى شيء حقيقي في الحياة سواء كان له وجود فعلي مثل ( مريض – طالب – موظف – سيارة ... ) أو وجود منطقي مثل (شركة - وظيفة – مقرر ... ). و يتم تمثيل الكيان باستخدام شكل مستطيل يكتب داخله أسم الكيان الطالب
2- الصفات أو الخصائص Attributes : نموذج الكيان و العلاقة الرابطة (ERD): 2- الصفات أو الخصائص Attributes : هي صفات معينة تصف الكيان أو العلاقة وتكون تابعه له ولا تخص غيره . مثل ( اسم الطالب , رقم الطالب , عنوان الطالب ) تصف الكيان الطالب . وتمثل الصفات حسب أنواعها بأشكال بيضاوية مختلفة . الطالب اسم الطالب
أنواع الصفات : صفة بسيطة : مثل اسم الطالب , رقم الطالب . صفة مركبة : عند تقسيم الصفة إلى اكثر من قسم : مثل اسم الطالب يقسم إلى : ( الاسم الأول ، اسم الأب ، اسم العائلة). صفة أحادية القيمة : مثل تاريخ ميلاد الطالب . صفة متعددة القيم : مثل رقم الهاتف ممكن أن يكون للطالب اكثر من رقم هاتف . صفة مشتقة : وهي التي يمكن الحصول عليها عن طريق صفة بسيطة أخرى مثل عمر الطالب نحصل عليه من تاريخ ميلاده . صفة فريدة وتسمى المفتاح الأساسي : وهي التي لا يمكن أن تتكرر وتميز كل سجل عن الآخر و يوضع خط تحتها عن الرسم .
المفهوم الرمز الرموز المستخدمة في نموذج الكيان والعلاقة الرابطة الكيان الرموز المستخدمة في نموذج الكيان والعلاقة الرابطة المفهوم الرمز الكيان الصفة البسيطة و الآحادية الصفة الفريدة أو المفتاح أساسي صفة متعددة القيم صفة مركبة صفة مشتقة العلاقة ـــــــــ
3 . العلاقات Relationship : نموذج الكيان و العلاقة الرابطة (ERD): 3 . العلاقات Relationship : هي العلاقة التي تربط بين الكيانات في الواقع , وهي عبارة عن فعل يمثل العلاقة بين كيان ونفسه , أو كيانين أو ثلاثة كيانات معا وتمثل بشكل معين . مثال : اسم الطالب اسم المقرر الطالب يسجل المقرر
4- تحديد نوع العلاقة Cardinality ratio : أولاً- علاقة واحد إلى واحد One to One : تعني أن كل سجل في الكيان الأول يرتبط بسجل واحد فقط في الكيان الثاني وكل سجل في الكيان الثاني يرتبط بسجل واحد فقط في الكيان الأول . مثال: البنك لديه عده فروع ، بحيث يكون كل فرع يرأسه مدير واحد فقط وكل مدير يرأس فرع واحد فقط . فتكون العلاقة بين كيان المدير وكيان الفرع علاقة واحد إلى واحد. يرمز لها بــ 1:1 المدير الفرع 1
4- تحديد نوع العلاقة Cardinality ratio : ثانياً - علاقة واحد إلى متعدد One to Many : تعني أن كل سجل في الكيان الأول يرتبط بعدة سجلات في الكيان الثاني وكل سجل في الكيان الثاني يرتبط بسجل واحد فقط في الكيان الأول . مثلا : في البنك يمكن ان يكون للعميل اكثر من حساب بنكي ولكن يوجد لكل حساب بنكي عميل واحد فقط . يرمز لها بــ : 1:M العميل الحساب 1 M
4- تحديد نوع العلاقة Cardinality ratio : ثالثاً - علاقة متعدد إلى متعدد Many to Many : كل سجل في الكيان الأول مرتبط بعدة سجلات في الكيان الثاني وكل سجل في الكيان الثاني مرتبط بعدة سجلات في الكيان الأول . مثال : في البنك الموظف يخدم أكثر من عميل والعميل ممكن أن يخدمه أكثر من موظف يرمز لها بــ M:N الموظف العميل 1 M N
مثال تطبيقي : إنشاء قاعدة بيانات لمركز تدريب : مثال تطبيقي : إنشاء قاعدة بيانات لمركز تدريب : أولا : أقوم برسم نموذج الكيان والعلاقة الرابطة ERD عن طريق : 1. تحديد الكيانات الرئيسية التي نتعامل معها في مركز التدريب و المراد وضعها في قاعدة البيانات التي نريد تصميمها ؟؟ فنجد أن هناك 3 كيانات وهي المتدربة ، المدربة ، والدورة .. المتدربة المدربة الدورة
2. تحديد الصفات للكيانات الرئيسية التي وضعتها : المتدربة : اسم المتدربة ، رقم المتدربة : صفة فريدة وتكون مفتاح أساسي ليميز كل متدربة عن الأخرى , رقم الهاتف . المدربة : اسم المدربة ، رقم المدربة : كحقل مفتاح أساسي مميز ليميز كل مدربة عن الأخرى , التخصص ، رقم الهاتف . لا نضع هنا اسم الدورة هنا لأن هذه صفة تخص الدورة ولاتخص المدربة . الدورة : اسم الدورة ، رقم الدورة : كحقل مفتاح أساسي ليميز كل دورة عن الأخرى , عدد ساعات الدورة .
المتدربة رقم المتدربة اسم المتدربة رقم الهاتف رقم الهاتف التخصص الدورة اسم الدورة رقم الدورة عدد ساعات الدورة المدربة اسم المدربة رقم المدربة
المتدربة رقم المتدربة اسم المتدربة رقم الهاتف الأول الأب العائلة المدربة رقم الهاتف رقم المدربة اسم المدربة التخصص الدورة اسم الدورة عدد ساعات الدورة رقم الدورة
3. تحديد العلاقات بين الكيانات : وضع العلاقات التي تربط بين الكيانات الموجودة لدي ثم تحديد نوع العلاقة .
المتدربة اسم المتدربة رقم المتدربة رقم الهاتف الأول الأب العائلة تأخذ المدربة رقم الهاتف رقم المدربة اسم المدربة التخصص تعطي الدورة اسم الدورة عدد ساعات الدورة رقم الدورة
الآن نحدد نوع العلاقة : نأخذ العلاقة بين المدربة والدورة : و نسأل سؤالين س 1 : هل المدربة الواحدة ممكن أن تعطي اكثر من دورة أم دورة واحدة؟ نقول أن المدربة الواحدة ممكن أن تعطي اكثر من دورة . س 2 : هل الدورة الواحدة تعطيها اكثر من مدربة أم مدربة واحدة ؟ نقول أن الدورة الواحدة تعطيها أو تدرب عليها اكثر من مدربة . فمن هذين السؤال تنتج العلاقة التالية : M:N المدربة الدورة 1 M N
المتدربة اسم المتدربة رقم المتدربة رقم الهاتف الأول الأب العائلة تأخذ المدربة رقم الهاتف رقم المدربة اسم المدربة التخصص تعطي N M الدورة اسم الدورة عدد ساعات الدورة رقم الدورة
نأخذ العلاقة بين المتدربة والدورة : ونسأل سؤالين نأخذ العلاقة بين المتدربة والدورة : ونسأل سؤالين س1 : هل المتدربة الواحدة ممكن أن تأخذ اكثر من دورة أم دورة واحدة فقط ؟ نقول أن المتدربة الواحدة ممكن أن تأخذ اكثر من دورة . س2 : هل الدورة الواحدة ممكن أن تشمل اكثر من متدربة أم متدربة واحدة فقط ؟ نقول أن الدورة الواحدة ممكن أن تشمل اكثر من متدربة . فتنتج العلاقة التالية : M:N المتدربة الدورة 1 M N
المتدربة اسم المتدربة رقم المتدربة رقم الهاتف الأول الأب العائلة تأخذ N المدربة رقم الهاتف رقم المدربة اسم المدربة التخصص M تعطي N M الدورة اسم الدورة عدد ساعات الدورة رقم الدورة
المرحلة الأولى : مرحلة رسم نموذج الكيان والعلاقة الرابطة ERD 1- تحديد الكيانات. 2- تحديد صفات أو خصائص الكيانات وتعيين الصفة الفريدة التي تعد مفتاح أساسي لهذا الكيان. 3- ربط الكيانات بعلاقات. 4- تحديد نوع هذه العلاقات.
تطبيق تطبيق قاعدة بيانات مستشفى : تطبيق قاعدة بيانات مستشفى : أرسم ERD اللازم لتمثيل بيانات المرضى في أحد المستشفيات والأطباء المعالجون والغرف مشتملا رقم المريض واسمه ورقم الغرفة المقيم بها ورقم التحويله للغرفة وعدد الأسرة بها وكذلك رقم الطبيب واسمه وتليفونه وتخصصه.
واجـــــــــــــــــب تطبيق قاعدة بيانات مكتبة أرسم ERD اللازم لتمثيل بيانات المستعيرين في أحد المكتبات والكتب المستعارة والمؤلفون مشتملا رقم المستعير واسمه و سجله المدني و تاريخ ميلاده و جهة عمله وكذلك بيانات الكتب و المؤلفين . ثم ارسمي العلاقة الرابطة بين هذه الكيانات . يسلم الواجب المحاضرة القادمة ولا يسمح باستلام الواجب بعد ذلك نهــــــــائــيـــــــــا.