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

منتدي

منتدي تعليمي، ترفيهي، اجتماعي
 
الرئيسيةالرئيسية  البوابةالبوابة  الجديدالجديد  أحدث الصورأحدث الصور  التسجيلالتسجيل  دخولدخول  

 

 الدرس الرابع : العلاقات Relationships .

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
admin
المدير العام

المدير العام
admin


عدد المساهمات : 1578
الجنس : ذكر
تاريخ التسجيل : 27/06/2008

الدرس الرابع : العلاقات Relationships . Empty
مُساهمةموضوع: الدرس الرابع : العلاقات Relationships .   الدرس الرابع : العلاقات Relationships . Icon_minitimeالثلاثاء 22 يونيو 2010, 7:36 pm

بسم الله الرحمن الرحيم
.
السلام عليكم ورحمة الله وبركاته .

العلاقات RelationShip

قبل أن نبدأ نود أن نعرف أولاً لماذا نستخدم العلاقات ؟ لنعرف ذلك لا بد لنا أولاً أن نعرف ما معنى علاقة .

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

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

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

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

لتلافي ذلك فإننا نستخدم ما يعرف بالعلاقات RelationShip .


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

وهذا الحقل الرابط له شروط هي :
* أن يكون موجوداً في الجدولين .
* أن يكون نوعه متطابقاً في الجدولين ( فلا يصلح أن يكون الأول رقم والثاني نص ) .
* أن يحتوي على قيم فريدة ( بمعنى أن لا يتكرر ) حتى لا يسبب المشاكل .

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

*** في النهاية لا يستحب استخدام هذا النوع من العلاقات كثيراً ...



النوع الثاني : One To Many - علاقة واحد لمجموعة ( والعكس صحيح ) .
في هذه العلاقة نقول إن لكل سجل في الجدول الرئيسي مجموعة سجلات في الجدول الثاني .
مثال ذلك المثال الذ قمنا بشرحه في الدرس السابق .
لو لاحظت المثال ستجد أن مجموعة من الطلاب يمكن أن يكون لهم سجل واحد في جدول الفرق ، لكن لا يمكن أن يكون لطالب ( سجل ) واحد أكثر من سجل آخر في جدول الفرق ( السنوات الدراسية ) .
وهذا هو الفرق بينه وبين النوع التالي .
لذا قم بانشاء جدول ثالث تحت اسم Tb_R2 ويحتوي على الحقول التالية :
Year - Books - Students
السنة - الكتب - الطلاب
يمكننا اضافة حقل جديد في الجدول الأول Tb_Main تحت اسم Year حيث سيكون هو الحقل الرابط بين الجدولين .
قم بالضغط على الجدول الأول ، ثم اضغط على ( تصميم - Design ) ، ثم قم بالضغط بزر الماوس الأيسر في المكان المطلوب ثم قم بالضغط على ( ادراج صف - Insert Row ) .

أيضاً لا تنس أن تجعل حقل Year مفتاح رئيسي في الجدول الثاني ( جدول الفرق الدراسية ) .

*** هذا النوع من علاقات هي الأكثر استخداماً .

نلتقي في الجزء الثاني من الدرس ...
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://telbana.alafdal.net
نور الدين
نائب المدير

نائب المدير
نور الدين


عدد المساهمات : 5431
الجنس : ذكر
تاريخ التسجيل : 26/04/2010

الدرس الرابع : العلاقات Relationships . Empty
مُساهمةموضوع: رد: الدرس الرابع : العلاقات Relationships .   الدرس الرابع : العلاقات Relationships . Icon_minitimeالإثنين 12 يوليو 2010, 1:19 am

مجهود رائع


ننتظر جديدك

******

الدرس الرابع : العلاقات Relationships . 2r454s2


******
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://telbana.alafdal.net
 
الدرس الرابع : العلاقات Relationships .
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الدرس الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع
» وفد كينى يزور الزمالك لتوطيد العلاقات قبل مباراة "ستارز"
» 17-قواعد الفيجوال - الجزء الرابع
» الدرس السادس : منوعات في أكسيس . مقدمة إلى التقارير ، الماكرو
» الدرس الثالث : بناء النماذج Forms

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدي  :: المنتديات التقنية :: قسم لغات البرمجة :: دروس تعليم أكسيس للأستاذ أحمد جمال-
انتقل الى: