اجعل رورو44 صفحتك الرئيسية | احفظ رورو44 في مفضلتك | ارسل رورو44 إلى صديقك | أعلن على رورو44 | English Interface

 

 

 

شات خدمات مسجات جوال بطاقات رسائل حب دليل مواقع شات خليجي  دردشة منتديات حسناء الفارس عالم الرومانسية

مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية

 
    دروس في الأوفيس  الأكسس - Access
 

 

دورة الأكسيس : الدرس الرابع : العلاقات



العلاقات 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   مفتاح رئيسي في الجدول الثاني ( جدول الفرق الدراسية ) .

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

النوع الثالث :
Many To Many   - علاقة مجموعة إلى مجموعة :
 

هل تتذكر العبارة التالية التي أوردتها في الدرس السابق ؟
لكن لا يمكن أن يكون لطالب ( سجل ) واحد أكثر من سجل آخر في جدول الفرق ( السنوات الدراسية ) .
إذا أزلنا ( لا ) فإننا نكون قد حصلنا على النوع الثالث .

مثال هذه العلاقة :
لو أردنا أن نضيف جدولاً يحتوي على اللغات فإننا سنلاحظ التالي :

* يمكن للشخص الواحد أن يكون له أكثر من لغة .
* ويمكن للغة الواحدة أن تكون موجودة عند أكثر من شخص .

للقيام بهذه النوعية من العلاقات فإننا نحتاج إلى جدول بسيط ، فمثلاً لدينا جدولين في البداية هما :

الرقم - الاسم .
1 - أحمد
2 - محمد
3 - خالد
4 - سامي

والثاني للغات :

الرقم - اللغة
1 - العربية
2 - الانجليزية
3 - الفرنسية

أما الجدول الإضافي فهو للعلاقة بين اللغات والأشخاص ، فلكي ندلل على أن أحمد يتحدث العربية والانجليزية ، فيما يتحدث محمد الفرنسية ، أما خالد فيتحدث الثلاث ، بينما لا يتحدث سامي أي لغة ! فإننا سوف نشكل الجدول التالي :

رقم الشخص - رقم اللغة

1 - 1
1 - 2
2 - 3
3 - 1
3 - 2
3 - 3

سنقوم الآن ببعض التعديلات على الجداول يصبح كما في المثال المرفق


والآن وبعد معرفة الانواع المختلفة سنبدأ الآن بانشاء العلاقات بين الجدول ، وتوجد طريقتين للقيام بذلك :

* عن طريق محرر العلاقات .
* عن طريق المعالج الموجود في نوع البيانات
Data Types  الموجود في خصائص الحقل .

وسوف نستخدم الطريقة الاولى .

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

                           



والآن قم باختيار الجداول واحداً تلو الآخر واضغط Add   - اضافة ، وبعد الانتهاء اختر Close   - إغلاق .
سيظهر لك شكل كالتالي :

 



الآن من قائمة Relationships   - العلاقات ، اختر تحرير علاقة - Edit Relationship   . سوف تظهر لك شاشة اختر منها Create New   .
سوف تظهر لك شاشة جديدة بالشكل التالي :

 



في خاصية Left Table   Name   اختر الجدول الذي سيكون مصدراً للبيانات وهو عندنا Tb_Main
وفي الجزء الأيمن اختر
Tb_R1
وبالنسبة لخاصية
Left Column Name   اختر الحقل الذي سيكون رابطاً من الجدول الرئيسي ، ولذا سنختار Number
وفي الجزء الأيمن سيكون الحقل أيضاً هو
Number   .
وذلك بالشكل التالي :

 



قم الآن بالضغط على زر Ok   وستظهر لك شاشة بالشكل التالي :

 



لاحظ ظهور نوع العلاقة في الجزء الأسفل من الشاشة .
أما بالنسبة لأزرار الاختيار :

1 - مربع الإختيار الأول : في هذا الخيار تحدد إذا ما كنت تريد منع المستخدم على ادخال حقل في الجدول الثاني دون أن يكون له نظير في الجدول الأول .

2 - مربع الإختيار الثاني : في هذا الخيار تحدد إذا ما كان تحديث بيانات الجدول الثاني عند تغيير قيم حقل المفتاح الرئيسي .

3 - مربع الإختيار الثالث : في هذا الخيار تحدد إذا ما كنت تريد حذف بيانات الجدول الثاني عند حذف نفس السجل في الجدول الرئيسي .

هناك زر آخر تحت اسم (Join Type  - نوع الدمج ) وبها ثلاث خيارات لأنواع مختلفة من الدمج .

والآن قم بالضغط على زر (
Create  - إنشاء ) . ستلاحظ ظهور رسم لعلاقة بين الجدولين وذلك بالشكل التالي :

هناك زر آخر تحت اسم 



وبهذا نكون قد أنشأنا العلاقة الأولى من نوع One To One   ... في العلاقة التالية سوف نستخدم المعالج .
للتأكد من عمل هذه العلاقة اذهب إلى
Tb_Main   وانقر علامة + الموجودة على يساره ... أتمنى أن يظهر لديك الشكل التالي :

 




سوف نقوم الآن بإنشاء العلاقة الخاصة بالسنة الدراسية ... لذا سوف نتجه إلى جدول TB_Main   ونضغط Design   ومن ثم نذهب إلى الحقل Year   ونختار Lookup Wizard   ، وذلك بالشكل التالي :

 



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

في الشاشة الثالثة سوف يطلب اسماء الحقول التي نريد لها أن تظهر في الجدول ... سوف نختار
Year   وذلك بالشكل التالي :

 



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

سيخبرك أن الجدول لا بد أن يحفظ أولاً قبل القيام بضبط العلاقة ... قم بالحفظ ، ومن ثم أغلق شاشة التصميم .

الآن قم بتشغيل الجدول واختر الحقل Year   ولاحظ ظهور قيم الجدول الثاني في قائمة وبإمكانك الاختيار منها مباشرة ... وذلك بالشكل التالي :



أيضاً اختر الجدول Tb_R2   وانقر علامة + سيظهر لك جميع الطلبة الذين ينتمون إلى هذه السنة وذلك بالشكل التالي :

 



أخيراً سوف نلقي نظرة على شاشة العلاقات التي قمنا بتشغيلها في الدرس السابق ... سوف يظهر لك شكل قريب من التالي :

 



الملف المرفق يحتوي على جميع العلاقات اضافة إلى جميع محتويات الدروس السابقة ، والله الموفق ...



المزيد من المواضيع

أبسط طريقة للبحث في Access
خطوات تصميم رأس النموذج
حماية قاعدة بياناتك من عبث العابثين
الاستيراد والتصدير في قاعدة البيانات
تقسيم النموذج إلى رأس ‏وتفصيل‎ ‎وتذييل
إنشاء شريط أدوات خاص بقاعدة البيانات (1)
كيفية حماية قاعدة البيانات بكلمة مرور
استعلامات التحديد والمزيد من الأمثلة (2)
البدء بتصميم النموذج
الاستعلامات الإجرائية -1 (استعلام إنشاء جدول)
مقدمة عامة للبرمجة في Access
تحميل: مثال عملي البحث ‏بالحرف الأول
خطوات تصميم وسط النموذج ‏‏(تفصيل)
مفاتيح الاختصار في Access
تصميم أزرار التبديل في النموذج
استعلامات التحديد Select Query مع أمثله (1)
تصميم تقرير لطباعة الإجمالي
الاستعلامات الإجرائية -2 (استعلام الإلحاق)
الاستعلامات الإجرائية -4 (استعلام الحذف)
استعلامات SQL في Access - تحديث البيانات الجدولية
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول
خطوات إنشاء الماكرو في تذييل النموذج (1)
خطوات إنشاء الماكرو في تذييل النموذج (2)
إنشاء قوائم خاصة باستخدام الماكرو(1)
تصميم نموذج إدخال‎ ‎البيانات
تصميم نموذج استعراض البيانات‏
تصميم تقرير لطباعة البيانات
أساسيات في Access
دورة الأكسس: الدرس السادس : منوعات في أكسيس .

1 2

 

الاقسام الرئيسية

دروس للمبتدئين

--

دروس في أنظمة التشغيل

--

دروس في الانترنت

--

دروس في لغات البرمجة

--

دروس في برمجة المواقع

--

دروس في الأوفيس

--

دروس في الرسوم و التصميم

--

دروس في قواعد البيانات

--

دروس في الألعاب والبرامج

--

دروس في المكونات الصلبة

--

دروس في الشبكات

--

دروس في أمن المعلومات

--

دروس في الذكاء الاصطناعي

--

القائمة البريدية

  فضائح | ماسنجر | تداول | الحياة الزوجية | عجائب وغرائب| دروس تعليمية | عالم حواء | فضائح الفن | ستار اكاديمي | نكت | برامج | صور | | شات سعودي | شات عربي | ماسينجر | مسجات | دليل مواقع | دليلك | مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية | دردشة خليجية | دردشة سعودية | دردشة عربية | شات صوتي | دردشة صوتية | دردشة كويتية | دردشة اماراتية | دردشة عمانية | دردشة قطرية | دردشة بحرينية | دردشة عراقية | دردشة يمنية | سكس | طريق الاسلام, انا مسلم , طريق الهدايه , مسلمون , منوعات اسلاميه | اسلاميات , برامج اسلامية , منوعات اسلامية | جنس | الاسرة المسلمة , الاسرة العربية , اسرتي , عائلتي | برامج الاسره , نصائح معلومات , اسرة عربية سعودية خليجية | دروس تعليمية , مكتبة الدروس التعليمية | شروح برامج , شرح برامج , دورات تعليميه | طب وصحه - المركز الطبي | طبيبك على الانترنت , معلومات طبية , معلومات صحيه

Roro44.com xml :                            

شات سعودي | شات عربي | شات خليجي | العاب | دردشات | العاب بنات

 |  اشهر موقعك | احصائيات الموقع | اسعار الاعلانات |  لمراسلة الإدارة  |

:: ©2007-2003 www.roro44.com All rights reserved ::