نموذج الكيانات والعلاقات نموذج الكيانات والعلاقات ERD تعريف الكيان في قواعد البيانات وما هو الكيان في قواعد البيانات وتصميم مخطط علاقة الكيانات ERD
=====================
نموذج علاقة الكيانات ERD
Entity Relationship Model
تعريف نموذج علاقة الكيانات (Entity Relationship Model) :
هو أحد الأساليب الشائعة لتصور لقاعدة البيانات العلاقية وهو يعتمد على :
- تقسيم النظام إلي ما يسمي كيانات (مثل كيان موظف وكيان قسم في نظام شركة
- كل كيان يحتوي على خصائص معينة تصفه وتحدده ( مثل الاسم والعنوان … لكيان موظف)
- تحديد العلاقات بين هذه الكيانات وتوصيف خصائص هذه العلاقات
- تمثيل ذلك من خلال رسم يعبر عنه يسمي مخطط علاقة الكيانات Entity Relationship Diagram) ERD)
أهمية نموذج مخطط (علاقة الكيانات):
هو خطوة سابقة على تنفيذ قاعدة البيانات بأحد برامج نظم إدارة قواعد البيانات العلاقية
RDBMS Relational Database Management System
وهو يساعد في عمل جداول أو ملفات قاعدة البيانات والعلاقات بينها على أسس علمية وصحيحة.
لنأخذ مثال عن كيفية تنفيذ هذا المفهوم "مثال الشركة" :
مطلوب إنشاء نظام قاعدة بيانات لشركة ما
في البداية:
يجب الجلوس مع الشخص المسئول الذي يريد قاعدة البيانات ومعرفة متطلبات النظام
ولنفرض أن متطلبات الشركة هي كما يلي:
- الشركة مقسمة إلى أقسام وكل قسم له رقم واسم وحيد أي لا يتكرر
- يوجد لكل قسم موظف معين يديره ومن المهم معرفة تاريخ بداية إدارته لهذا القسم
- القسم يمكن أن يكون له أكثر من مكان
- يجب الاحتفاظ ببيانات الموظف والتي تشمل رقمه (وهو رقم وحيد لا يتكرر) واسمه ونوعه وعنوانه وتليفونه وراتبه الشهري
- الموظف يجب أن يعمل بقسم واحد محدد ومن المهم معرفة عدد الموظفين بكل قسم.
- يجب أن يعمل الموظف في مشروع واحد على الأقل والذي له رقم وحيد لا يتكرر ومن المهم جدا معرفة عدد الساعات الأسبوعية التي يعملها كل موظف في كل مشروع.
الخطوات التفصيلية للوصول لمخطط علاقة الكيانات:
الخطوة الأولى:
أولا: تحديد الكيانات وخصائصها:
تعريف الكيان في قواعد البيانات
ما هو الكيان في قواعد البيانات؟
تعريف الكيان Entity:
هو شئ له وجود مستقل قد يكون وجود فعلي (مثل موظف - سيارة - …) أو وجود اعتباري (مثل مشروع - دورة تدريبية - ….) وكل كيان له خصائص Properties تصفه وتحدده.
وفي مثال الشركة نجد
يتم تحديد الكيانات بناء على المعلومات السابق عرضها حيث نلاحظ وجود مفردات كثيرة مثل موظف - تاريخ البداية - اسم القسم رقم القسم - موقع المشروع … ولكننا نجد أن:
رقم الموظف و اسم الموظف ونوعه .. وكلها خصائص تصف الموظف وبالتالي يكون الكيان وهو "موظف"
رقم المشروع و اسمه وموقعه كلها خصائص تصف المشروع وبالتالي يوجد كيان "مشروع"
رقم القسم و اسمه ومكانه وعدد الموظفين به كلها خصائص تصف القسم وبالتالي يوجد كيان "قسم"
نستخلص مما سبق وجود 3 كيانات هي "موظف" - "قسم" - "مشروع"
ويمكن عرض كل كيان وخصائصه كما بالجدول التالي:
الكيان | الخصائص | مفتاح الكيان |
---|---|---|
موظف | رقم الموظف - اسم - نوع - تاريخ الميلاد - عنوان - مرتب | رقم الموظف |
قسم | رقم القسم - اسم - مكان - عدد الموظفين | رقم القسم أو اسم |
مشروع | رقم المشروع - اسم - موقع | رقم المشروع أو اسم |
تعريف خاصية مفتاح الكيان:
الخطوة الثانية:
ثانيا: تحديد العلاقات بين الكيانات وخصائصها :
أ- أنواع العلاقات :
1- رأس برأس One To One :
2- رأس بأطراف One To Many :
3- أطراف بأطراف Many To Many :
ب - تعريف نوع المشاركة:
ج - خصائص العلاقة:
العلاقات الموجودة في مثال الشركة
1- بين كيان "موظف" وكيان "قسم" يوجد علاقتين هما:
( أ ) علاقة "يعمل في قسم" وتوصيفها كالتالي من متطلبات النظام:
مثال توضيحي للعلاقة السابقة:
(ب) علاقة "يدير قسم" وتوصيفها كما يلي:
مثال توضيحي للعلاقة السابقة:
2- بين كيان "موظف" وكيان "مشروع" توجد علاقة واحدة:
(ج) علاقة "يعمل في مشروع" وتوصيفها كالتالي:
مثال توضيحي للعلاقة السابقة:
اسم العلاقة | الكيان الأول | الكيان الاخر | نوع العلاقة | خصائص العلاقة | المشاركة الكلية للكيان |
---|---|---|---|---|---|
يعمل في قسم | موظف | قسم | رأس بأطراف من ناحية قسم | لا يوجد | موظف وقسم |
يدير قسم | موظف | قسم | رأس برأس | تاريخ البداية | قسم فقط |
يعمل في مشروع | موظف | مشروع | أطراف بأطراف | عدد الساعات | موظف ومشروع |
الخطوة الثالثة:
ثالثا: تصميم مخطط علاقة الكيانات ERD:
يتم تمثيل الكيانات وخصائصها وعلاقاتها بأشكال قياسية معبرة عن متطلبات نظام الشركة وفقا للتحليل السابق كما يلي:
(1) بين كيان "موظف" وكيان "قسم" يكون الرسم كالتالي:
ملاحظات على الرسم:
تم وضع اسم الكيان داخل مستطيل والعلاقة داخل معين
تم وضع خصائص الكيان أو العلاقة داخل شكل بيضاوي.
تم وضع خط تحت اسم الخاصية التي تمثل مفتاح للكيان.
بالنسبة لخاصية عدد الموظفين في القسم تم وضعها داخل خط متقطع للدلالة على أنها خاصية مستنتجة (محسوبة) حيث يمكن استنتاجها من علاقة عمل الموظفين بكل قسم.
تعريف الخاصية المستنتجة Derived Attribute
هي خاصية لكيان يمكن استنتاجها أو حسابها من خصائص اخرى أو من علاقة هذا الكيان بكيانات أخرى
مثال:
بفرض أن نسبة الحافز هو أحد خصائص الكيان "موظف" وبفرض أن نسبة الحافز هي نسبة % من الراتب
إذاً يمكن حساب نسبة الحافز من خاصية راتب الموظف لذلك يجب تمييزها بخط متقطع في مخطط علاقة الكيانات.
تم وضع خاصية المكان للكيان قسم والتي تمثل أماكن كل قسم داخل خط مزدوج لكي تدل على أنها خاصية متعددة القيم للقسم الواحد أي أنه يمكن لقسم معين أن يكون له أكثر من مكان.
تعريف الخاصية متعددة القيم Multi valued Attribute :
هي خاصية لكيان يمكن أن تحتوي على أكثر من قيمة لكيان فردي واحد.