تعريف نموذج عالقة الكيانات : نموذج عالقة الكيانات ) (Entity Relationship Model هو أحد األساليب الشائعة لوضع تصور لقاعدة البيانات العالقية وهو يعتمد على : • • • • تقسيم النظام إلى ما.

Download Report

Transcript تعريف نموذج عالقة الكيانات : نموذج عالقة الكيانات ) (Entity Relationship Model هو أحد األساليب الشائعة لوضع تصور لقاعدة البيانات العالقية وهو يعتمد على : • • • • تقسيم النظام إلى ما.

‫تعريف نموذج عالقة الكيانات‪:‬‬
‫نموذج عالقة الكيانات‬
‫)‪(Entity Relationship Model‬هو أحد‬
‫األساليب الشائعة لوضع تصور لقاعدة البيانات العالقية‬
‫وهو يعتمد على‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫تقسيم النظام إلى ما يسمى كيانات (مثل كيان موظف وكيان‬
‫قسم في نظام شركة)‪.‬‬
‫كل كيان يحتوى على خصائص معينة تصفه وتحدده )مثل‬
‫االسم و العنوان ‪..‬الخ لكيان موظف)‪.‬‬
‫تحديد العالقات بين هذه الكيانات وتوصيف خصائص هذه‬
‫العالقات ‪.‬‬
‫تمثيل ذلك من خالل رسم يعبر عنه يسمى مخطط عالقة‬
‫الكيانات ‪. ERD‬‬
‫أهمية نموذج مخطط‬
‫)عالقة الكيانات(‪:‬‬
‫• هو خطوة سابقة على تنفيذ قاعدة البيانات بأحد برامج نظم‬
‫إدارة قواعد البيانات العالقية‬
‫‪(RDBMS Relational Data Base‬‬
‫•‬
‫)‪Management System‬‬
‫• وهو يساعد في عمل جداول أوملفات قاعدة البيانات‬
‫والعالقات بينها على أسس علمية و صحيحة‪.‬‬
‫الخطوات التفصيلية للوصول لمخطط عالقة‬
‫الكيانات ‪:‬‬
‫• أوالً ‪:‬تحديد الكيانات وخصائصها‪:‬‬
‫• تعريف الكيان‪:‬‬
‫• الكيان ‪ Entity‬هو شيء له وجود مستقل قد يكون وجود‬
‫فعلى مثل موظف –سيارة –صنف –مورد أو وجود‬
‫اعتباري مثل مشروع –دورة تدريبية ‪ ،‬وكل كيان له‬
‫خصائص ‪ Properties‬تصفه وتحدده مثل رقم الموظف‬
‫–اسم الموظف ‪-‬نوعه‪-‬عنوانه ‪-‬تليفونه فكلها خصائص‬
‫تصف الكيان موظف‪.‬‬
‫• وجود ثالث كيانات هي ‪:‬‬
‫"موظف" ‪" -‬قسم" ‪" " -‬مشروع"‬
‫مفتاح الكيان‬
‫الكيان‬
‫الخصائص‬
‫"موظف"‬
‫تاريخ نوع – اسم – رقم الموظف رقم الموظف‬
‫مرتب – عنوان – الميالد‬
‫"قسم"‬
‫عدد – مكان – اسم – رقم القسم‬
‫الموظفين‬
‫رقم القسم او اسم‬
‫القسم‬
‫"مشروع"‬
‫موقع – اسم – رقم المشروع‬
‫رقم المشروع أو‬
‫اسم‬
‫• تعريف خاصية مفتاح الكيان‪:‬‬
‫• مفتاح الكيان ‪:‬هو الخاصية التي ال يمكن أن تتكرر قيمتها‬
‫داخل هذا الكيان وبالتالي تكون مميزة لكل كيان فردى عن‬
‫غيره فمثالً ال يمكن لموظف أن يكون له نفس الرقم القومي‬
‫الخاص بموظف آخر بالرغم من إمكانية تشابه باقي البيانات‬
‫مثل االسم العنوان ‪….‬الخ‪.‬‬
‫• ثانيا ً ‪:‬تحديد العالقات بين الكيانات وخصائصها‪:‬‬
‫• يتم تحديد العالقات من حيث‪:‬‬
‫‪ -1‬نوع العالقة ‪:‬رأس برأس أو رأس بأطراف أو أطراف‬‫بأطراف‪.‬‬
‫‪ -2‬نوع مشاركة كل كيان في العالقة ( مشاركة كلية ‪Total‬‬‫‪ Participation‬أو مشاركة جزئية ‪Partial‬‬
‫‪.)Participation‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫تعريف نوع المشاركة‪:‬‬
‫نوع المشاركة يقصد بها إذا ما كان كيان معين يعتمد في وجوده‬
‫على ضرورة كونه في عالقة معينة بكيان آخر وفى هذه الحالة تكون‬
‫المشاركة كلية ‪ Total Participation‬لهذا الكيان في هذه‬
‫العالقة‪.‬‬
‫مثال ‪:‬‬
‫في عالقة إدارة الموظف لقسم نجد أنه توجد مشاركة كلية لكيان‬
‫"قسم "في هذه العالقة أي ال يوجد قسم بدون موظف يديره ‪ ،‬في‬
‫حين توجد مشاركة جزئية لكيان "موظف "في هذه العالقة أي ليس‬
‫كل موظف يدير قسم ‪.‬‬
‫‪ -3‬خصائص العالقة و يقصد بها الخصائص التي‬‫تصف عالقة معينة والتصف أي كيان في‬
‫العالقة‪.‬‬
‫• مثال‪:‬‬
‫• خاصية عدد ساعات العمل للموظف في مشروع فهي تصف‬
‫عالقة عمل موظف معين في مشروع معين ال يمكن منطقيا ً‬
‫اعتبارها خاصية لكيان "موظف "وال خاصية لكيان‬
‫"مشروع‪".‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫تحديد العالقات الموجودة بالنظام‪:‬‬
‫بين كيان "موظف "وكيان "قسم "يوجد عالقتين هما‪:‬‬
‫أ‪-‬عالقة "يعمل في قسم "وتوصيفها كالتالي من متطلبات النظام‪:‬‬
‫كل قسم يجب أن يعمل به عدد من الموظفين‪.‬‬
‫ال يوجد موظف يعمل في أكثر من قسم‪.‬‬
‫ال يوجد قسم بدون موظفين يعملون به‪.‬‬
‫ال يوجد موظف دون أن يعمل بقسم‪.‬‬
‫ال توجد خصائص لهذه العالقة‪.‬‬
‫• إذن ‪:‬‬
‫– العالقة من نوع رأس بأطراف ‪ One To Many‬من ناحية‬
‫كيان "قسم"( ‪1‬و‪)2‬‬
‫– توجد مشاركة كلية لكيان "قسم "في هذه العالقة‪(3) .‬‬
‫– توجد مشاركة كلية لكيان "موظف "في هذه العالقة‪(4) .‬‬
‫– ال توجد خصائص لهذه العالقة ‪(5) .‬‬
‫وفيما يلي مثال توضيحي للعالقة‬
‫السابقة‪:‬‬
‫قسم‬
‫موظف‬
‫التطوير‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫حاتم سمير‬
‫إيمان عمر‬
‫فاطمة احمد‬
‫ياسر منصور‬
‫يوسف عبد هللا‬
‫ايمن عمر‬
‫محمود شاكر‬
‫الصيانه‬
‫الحاسبات‬
‫من الشكل السابق يتضح أن‪:‬‬
‫•‬
‫•‬
‫نوع العالقة رأس بأطراف من ناحية قسم حيث أن القسم‬
‫الواحد يعمل به عدد من الموظفين والموظف الواحد ال‬
‫يعمل سوى في قسم واحد ‪,‬حدد كل قسم والموظفين‬
‫العاملين به؟‪.‬‬
‫المشاركة الكلية لكال الكيانين حيث ال يوجد قسم بدون‬
‫موظفين يعملون به وال يوجد موظف دون أن يعمل بقسم‪.‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫ب ‪-‬عالقة "يدير قسم "وتوصيفها كما يلي‪:‬‬
‫كل قسم له موظف واحد يديره‪.‬‬
‫ال يوجد موظف مدير ألكثر من قسم‪.‬‬
‫ال يوجد قسم بدون موظف مدير‪.‬‬
‫يوجد موظفين ال يديرون أي أقسام‪.‬‬
‫من المهم معرفة تاريخ بداية إدارة الموظف للقسم‪.‬‬
‫• إذن ‪:‬‬
‫– العالقة رأس برأس ‪ One To One‬بين كيان "موظف "‬
‫وكيان "قسم") ‪1‬و‪)2‬‬
‫– توجد مشاركة كلية لكيان "قسم "في هذه العالقة‪(3) .‬‬
‫– ال توجد مشاركة كلية لكيان "موظف "في هذه العالقة‪(4) .‬‬
‫– توجد خاصية واحدة لهذه العالقة وهى خاصية تاريخ البداية )‪(5‬‬
‫‪.‬‬
‫وفيما يلي مثال توضيحي للعالقة‬
‫السابقة‪:‬‬
‫وفيما يلي مثال توضيحي للعالقة‬
‫السابقة‪:‬‬
‫قسم‬
‫موظف‬
‫التطوير‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫حاتم سمير‬
‫إيمان عمر‬
‫فاطمة احمد‬
‫ياسر منصور‬
‫يوسف عبد هللا‬
‫ايمن عمر‬
‫محمود شاكر‬
‫الصيانه‬
‫الحاسبات‬
‫من الشكل السابق يتضح أن‪:‬‬
‫• نوع العالقة رأس برأس حيث أن كل قسم له موظف واحد‬
‫يديره‪ ،‬حدد مدير كل قسم؟‪.‬‬
‫• المشاركة الكلية لكيان قسم حيث أنه ال يوجد قسم بدون‬
‫موظف يديره‪.‬‬
‫• المشاركة الجزئية لكيان موظف حيث أنه ليس كل موظف‬
‫مديراً لقسم‪.‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫بين كيان "موظف "وكيان "مشروع "توجد عالقة واحدة‬
‫وهى عالقة "يعمل في مشروع "وتوصيفها كالتالي ‪:‬‬
‫يجب أن يعمل الموظف في مشروع واحد على األقل‪.‬‬
‫كل مشروع يعمل به عدد من الموظفين‪.‬‬
‫ال يوجد مشروع بدون موظفين‪.‬‬
‫ال يوجد موظف دون أن يعمل في مشروع واحد على األقل‪.‬‬
‫من المهم معرفة عدد الساعات األسبوعية التي يعملها‬
‫الموظف في كل مشروع‪.‬‬
‫• إذن‪:‬‬
‫• العالقة أطراف بأطراف ‪ Many To Many‬بين كيان‬
‫"موظف"وكيان "مشروع ( ‪1‬و‪)2‬‬
‫– وتوجد مشاركة كلية بالنسبة لكيان "مشروع "في هذه‬
‫العالقة‪(3) .‬‬
‫– توجد مشاركة كلية لكيان "موظف "في هذه العالقة‪(4) .‬‬
‫– توجد خاصية واحدة لهذه العالقة وهى خاصية عدد الساعات )‪(5‬‬
‫‪.‬‬
‫وفيما يلي مثال توضيحي للعالقة‬
‫السابقة‪:‬‬
‫قسم‬
‫موظف‬
‫التطوير‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫حاتم سمير‬
‫إيمان عمر‬
‫فاطمة احمد‬
‫ياسر منصور‬
‫يوسف عبد هللا‬
‫ايمن عمر‬
‫محمود شاكر‬
‫الصيانه‬
‫الحاسبات‬
‫• من الشكل السابق يتضح أن‪:‬‬
‫• نوع العالقة أطراف بأطراف حيث أن المشروع الواحد يعمل‬
‫به عدد من الموظفين والموظف يعمل في أكثر من‬
‫مشروع ‪.‬‬
‫• المشاركة الكلية لكال الكانين حيث ال يوجد مشروع بدون‬
‫موظفين يعملون به وال يوجد موظف دون أن يعمل في‬
‫مشروع واحد على األقل‪.‬‬
‫تلخيص العالقات الموجودة بالنظام ‪:‬‬
‫اسم العالقة الكيان‬
‫األول‬
‫الكيان‬
‫اآلخر‬
‫خصائص المشاركة‬
‫نوع العالقة‬
‫العالقة الكلية‬
‫للكيان‬
‫رأس بأطراف من ال يوجد موظف‬
‫وقسم‬
‫ناحية قسم‬
‫يعمل في‬
‫قسم‬
‫موظف قسم‬
‫يدير قسم‬
‫موظف قسم‬
‫يعمل في‬
‫مشروع‬
‫موظف مشروع أطراف بأطراف‬
‫رأس برأس‬
‫تاريخ‬
‫البداية‬
‫قسم فقط‬
‫موظف‬
‫عدد‬
‫الساعات ومشروع‬
‫ثالثا ً ‪:‬تصميم مخطط عالقة الكيانات‬
‫)‪(ERD‬حسب التحليل السابق‪:‬‬
‫•‬
‫‪ -1‬بين كيان "موظف "و كيان "قسم "يكون الرسم‬
‫كالتالي‪:‬‬
‫مالحظات على الرسم‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫تم وضع اسم الكيان داخل مستطيل و اسم العالقة داخل معين‪.‬‬
‫تم وضع خصائص الكيان أو خصائص العالقة داخل شكل بيضاوي‪.‬‬
‫تم وضع خط تحت اسم الخاصية التي يمكن أن تمثل مفتاح للكيان‪.‬‬
‫بالنسبة لخاصية عدد الموظفين في القسم تم وضعها داخل خط‬
‫متقطع للداللة على أنها خاصية مستنتجة ‪Derived Attribute‬‬
‫(محسوبة) حيث يمكن استنتاجها من عالقة عمل الموظفين بكل‬
‫قسم‪.‬‬
‫• تعريف‪:‬‬
‫• الخاصية المستنتجة ‪ Derived Attribute‬هي خاصية‬
‫لكيان يمكن استنتاجها أو حسابها من خصائص أخرى أو‬
‫من طبيعة عالقة هذا الكيان بكيانات أخرى‪.‬‬
‫مثال‪:‬‬
‫• بفرض أن نسبة الحافز هو أحد خصائص الكيان‬
‫"موظف "وبفرض أن نسبة الحــــافز هي نسبه ‪%‬من‬
‫الراتـب إذن يمكن حساب نسبة الحافز من خاصية راتب‬
‫الموظف لذلك يجب تمييزها بخط متقطع في مخطط عالقة‬
‫الكيانات‪.‬‬
‫• تم وضع خاصية المكان للكيان قسم والتي تمثل أماكن كل‬
‫قسم داخل خط مزدوج لكي تدل على أنها خاصية متعددة‬
‫القيم للقسم الواحد أي أنه يمكن لقسم معين أن يكون له‬
‫أكثر من مكان‪.‬‬
‫• تعريف‪:‬‬
‫• الخاصية متعددة القيم ‪ Multi valued Attribute‬هي‬
‫خاصية لكيان يمكن أن تحتوى على أكثر من قيمة لكيان‬
‫فردى واحد‪.‬‬
‫مثال‪:‬‬
‫• بفرض أن المؤهل هو أحد الخصائص لكيان "موظف "‬
‫ولكن في حالة أن يكون لبعض الموظفين أكثر من مؤهل‬
‫( بكالوريوس ‪+‬ماجستير ‪..‬الخ) إذن خاصية المؤهل يجب‬
‫اعتبارها متعـــــددة القيم ويجب تمييزها بخط مزدوج في‬
‫رسمة عالقة الكيانات‪.‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫بالنسبة لعالقة "يعمل في قسم "من الرسم ‪:‬‬
‫الرقم ‪1‬من ناحية "قسم "و ‪N‬من ناحية "موظف "يعنى أن العالقة رأس‬‫‪ one to many‬من ناحية "قسم‪".‬‬
‫بأطراف‬
‫الخط المزدوج من ناحية "قسم "يدل على المشاركة الكلية لكيان "قسم "في هذه‬‫العالقة‪.‬‬
‫الخط المزدوج من ناحية "موظف "يدل على المشاركة الكلية لكيان "موظف "في‬‫هذه العالقة‪.‬‬
‫بالنسبة لعالقة "يدير قسم‪":‬‬
‫الرقم ‪1‬من ناحية "موظف"و ‪1‬من ناحية "قسم "يعنى أن العالقة رأس برأس‬‫‪one to one .‬‬
‫الخط المزدوج من ناحية "قسم "يعنى المشاركة الكلية لكيان "قسم "في هذه‬‫العالقة ‪.‬‬
‫الخط المفرد من ناحية "موظف "يعنى المشاركة الجزئية لكيان موظف في هذه‬‫العالقة‪.‬‬
‫بين كيان "موظف"وكيان "مشروع "يكون الرسم‬
‫كالتالي‪:‬‬
‫مالحظة‬
‫‪ :‬يقصد بالحرفين ‪M‬و ‪N‬أن العالقة أطراف بأطراف ‪.‬‬
‫بعد رسم كل الكيانات والعالقات بينها وتجميع‬
‫الكل في مخطط واحد يصبح كما يلي‪:‬‬
‫معنى الرمز‬
‫الرمز‬
‫الكيان‬
‫العالقة‬
‫الخاصية‬
‫خاصية المفتاح‬
‫خاصية متعددة القيم‬
‫خاصية مستنتجة(محسوبة)‬
‫كيان أ‬
‫كيان أ‬
‫‪1‬‬
‫‪1‬‬
‫عالقة ‪1‬‬
‫عالقة‬
‫كيان أ‬
‫‪ M‬عالقة‬
‫كيان أ‬
‫عالقة‬
‫كيان ب‬
‫‪N‬‬
‫كيان ب‬
‫‪N‬‬
‫كيان ب‬
‫كيان ب‬
‫عالقة رأس برأس‬
‫عالقة رأس بأطراف‬
‫من ناحية الكيان أ‬
‫عالقة أطراف بأطراف‬
‫المشاركة الكلية‬
‫للكيان أ في العالقة‬