التخطي إلى المحتوى
شرح دورة الـ SQL للمبتدئين – الدرس الرابع

اليوم ان شاء الله سوف ندرس كيفية عمل نموذج العلاقات بين الجداول وسنتعرف سويا على انواع العلاقات التى سنتعامل معها للربط بين الجداول ونبدا الان :-

لابد فى البداية ان نعرف ما هو Entity Relationship Model 
هو احد الاساليب الشائعه لوضع تصور للقاعده البيانات العلائقية وهو يعتمد على الاتى :
1-تقسيم قاعده البيانات الى جداول مثل (جدول الموظف او القسم او جدول طلاب وجدول المرحلة والدرجات وغيرة )
2-كل جدول يحتوى على خصائص معينة تصف هذا الجدول مثل (الاسم والعنوان والسن والوظيفة )
وتحديد العلاقة بين هذة الجداول والخصائص نستطيع ان نعبر عنة بما يسمى Entity Relationship Model 

اهمية Entity Relationship Model؟
الاهمية الاكبر انه يساعد على عمل قاعده بيانات على اساس علمى صحيح وبالتالى يعتبر خطوة مهمه جدا قبل البدء فى انشاء قاعده البيانات 


والان سنتعرف  على كيفية التفكير بطريقة صحيحه لانشاء قاعده بيانات 
سناخذ مثال ولو يكن هذا المثال هو انشاء لقاعده بيانات للشركة 
فى البداية يجب الجلوس مع الشخص المسئول عن الشركة الذى يريد هذة قاعده البيانات ومعرفة متطلبات النظام وماذا يريد هو من هذة قاعده البيانات 
نفرض ان متطلبات الشركة كالاتى :-
1-الشركة مقسمة الى اقسام وكل قسم له رقم يميزة عن القسم الاخر 
2-يوجد لكل قسم موظف يدير القسم ويجب ان اعرف متى بدا العمل فى هذا القسم 
3-القسم يمكن ان يكون له اكثر من مكان 
4-يجب ان يكون لدى بيانات جميع الموظفين كالاسم والسن وتاريخ التعين وغيرة 
5-كل موظف يجب ان يعمل فى قسم واحد فقط كل موظف يعمل مشروع واحد على الاقل ومن المهم معرفة عدد ساعات العمل الاسبوعية التى يعملها كل موظف فى المشروع 

نبدا الان فى تحليل هذا الوصف اتبع معى هذة الخطوات 
الخطوه الاولى 
*تحديد الجداول والخصائص الموجوده فى الوصف السابق 
1- يوجد لدى معلومات على اسم الموظف ورقم الموظف فبالتالى سيكون لدى جدول الموظفين 
2-رقم المشروع وبالتالى اسم المشروع فسيكون لدى جدول اسمة المشاريع 
3-رقم القسم واسم القسم ومكانة ومعرفة عدد الموظفين فى القسم فبالتلى سيكون لدى جدول اسمة الاقسام 
والان نستنتج الجداول الاتية 
 اولا جدول الموظفين (رقم الموظف-اسم الموظف-نوع -تاريخ التعيين -الراتب )
ثانيا جدول الاقسام (رقم القسم -اسم القسم -عدد الموظفين )
ثالثا جدول المشاريع (رقم المشروع -اسم المشروع )
رابعا-جدول الادارة (رقم الادارة-رقم الموظف-رقم القسم )
خامسا-جدول الموظف-مشروع(رقم تسلسل-رقم الموظف-رقم المشروع-عدد الساعات)
والان نقوم بتحديد الprimary key وتعرفنا على هذا المفهوم فى الدرس السابق وهو عباره عن خصية لايمكن ان تتكرر وستكون عندنا المفاتيح الاساسية التى توجد تحتها خط .
الخطوة الثانية :
تحديد العلاقة بين كل جدول  والاخر 
يتم تحديد ذلك عن طريق :-   1- نوع العلاقة       2- نوع المشاركة 
انواع العلاقات :-
1– one To one
وهى تتكون عندما يكون سجل field من الجدول الاول يرتبط بسجل من الجدول الثانى او العكس 
2-One To Many
تتكون عندا يكون سجل Fieldsمن الجدول الاون بععده سجلات من الجدول الثانى وليس العكس 
3-Many To Many 
هى تتكون عندما يكون عدده سجلات من الجدول الاول يرتبط بعده سجلات من الجدول الثانى وهذة العلاقة تعرف بالعلاقة الوهمية اى انها لاتحدث بمفرها وعند حدوثها يتم تعريف جدول بين هذا الجدولين ويعرف هذا الجدول بالجدول الوسيط اى انها تتحول هذه الى علاقتين من نوع one To many

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

الان نقوم بتحديد العلاقات فى قاعد بيانات الشركة وهى كالاتى :-

ناخد جدول الموظفين وجدول الاقسا م نحلل العلاقة سويا :
-كل قسم يجب ان يعمل فيها عدد من الموظفين والموظف الواحد لا يعمل  فى امثر من قسم كما لايوجد قسم لايعمل بة موظفولايوجد موظف يعمل بدون قسم فالان نسال ما نوع العلاقة هنا؟
هنا العلاقة من نوع One To many   بين جدول الموظف وجدول القسم  ونوع العلاقه هنا كلية 

sqldata

ناخذ جدول الموظفين هنا ونعمل جدول اخر اسمة الادارة لانه فى الوصف هنا يريد ان موظف يدير القسم ومن الوصف ستكون العلاقة هنا One To One ونوع المشاركة كلية للقسم وجزئية للموظف

sqldatas

ناخد جدول الموظف مع جدول المشاريع ونحلل العاقة سويا 

يجب ان يعمل الموظف فى مشروع على الاقل اى يمكنة ان يعمل فى عده مشاريع كما لايوجد مشروع بدون موظف والمشروع الواحد يمكن ان ان يشتغل فيه اكثر من موظف فما نوع العلاقه الان ؟
هنا العلاقة Mant To Many كما تكون المشاركة هنا كلية 

sqldata3

الخطوة الثالثة :-تحويل هذا الى مخطط العلاقة بين الجداول (ERD)
يتم رسم الجداول وخصائصة بشكل يوضح العلاقات بين هذه الجداول وسيكون ناتج العلاقات السابقة كالشكل التوضيحى الاتى 

sqldata4

ملاحظه هامة كل هذا يعتبر تفكير للمشكلة وعمل تحليل لهذه المشكلة بخطوات علمية وهنا نكون قد نهينا هذا الجزء والدرس القاد سوف نتعرف عىل كيفية تحويل هذه العلاقات والرسومات التوضيحة الى قاعده بيانات كاملة بالSql Server 

عن الكاتب

التعليقات

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Shares