![]() ![]() |
28-09-2004, 06:36 pm
مشاركة
#1
|
|
|
المشرف العام المجموعة: الإدارة المشاركات: 12789 التسجيل: 1-07-03 البلد: الـــــ N ــــيـــــــ ME ــــمــــــ YE ــــن رقم العضوية.: 2 |
![]() العلاقة Relation بين جدولين هي تضمين او مشاركة حقلين Fields بين جدولين بحيث يمكنك ربط سجلات جدول بسجلات جدول اخر عن طريق الحقول التي تكون بها العلاقة. فمثلا: لو كان لدينا جدول بيانات الموظفين ونريد ربطه بجدول اخر يمثل الاقسام التي يعمل بها الموظف، فلابد من استخدام العلاقات حتى نتمكن من ربط سجلات الموظف بسجلات القسم او الدائرة التي يعمل بها. من المزايا التي نجنيها من تطبيق العلاقات هي: 1) ضمان عدم تكرار بيانات السجلات بحيث لن تربط الجداول المختلفة الا بحقل واحد يعرف بالمفتاح الاجنبي Foreign key فلا يوجد داعي من اعداة تكرار الحقول في اكثر من جدول. 2) عملية التعديل ستكون سهلة جدا، فكل ما هو مطلوب منك تعديل سجل معين مرة واحد وستتأثر كافة جداول قواعد البيانات بهذا التعديل. 3) عند القيام بعملية حذف السجل المرتبط بالعلاقة، سيتم حذف جميع السجلات المرتبطة والموجودة في الجداول الاخرى لقاعدة البيانات تلقائيا. والان لنتعرف على انواع العلاقات التي يمكننا Microsoft Access من تطبيقها بين الجداول: علاقة واحد الى واحد: تقتضي علاقة واحد الى واحد One to one بربط سجل واحد فقط من جدول الى سجل واحد فقط من جدول اخر، فمثلا يمكننا ربط سجل من جدول اسماء الموظفين بسجل اخر في جدول بيانات الموظفين كما في الشكل التالي: ![]() علاقة واحد الى مجموعة: يمكنك عن طريق علاقة واحد الى مجموعة One to many ربط سجل واحد فقط من جدول الى عدد غير محدد من السجلات في جدول اخر، فكما نرى في الشكل التالي ربطنا جدول سجلات اسماء الموظفين بجدول الاقسام: ![]() علاقة مجموعة الى مجموعة: النوع الثالث من العلاقات هو علاقة مجموعة الى مجموعة Many to many حيث يمكنك ربط عدد غير محدد من السجلات بعدد غير محدد من السجلات في جدول اخر. نحتاج الى جدول ثالث لتكوين هذه العلاقة بين جدولين، فمثلا يوضح لك الشكل التالي علاقة تربط جدول اسماء الموظفين بجدول الاقسام عن طريق جدول ثالث يبين تقييم اداء الموظف في قسم معين: ![]() تفيدك العلاقة السابقة كثيرا في معرفة مدى تقييم الموظف عند عمله في قسم معين حتى تضع الشخص المناسب في المكان المناسب. انشاء وتعريف العلاقات: قبل البدء بعملية انشاء العلاقة بين جدولين عليك تحديد حقل معين يستخدم في تكوين العلاقة يسمى المفتاح الابتدائي Primary Key كما في الشكل التالي: ![]() بحيث نمكن قاعدة البيانات من التفريق بين السجلات المختلفة باستخدام هذا الحقل مع معرفة انه لا يمكن ان يحتوي الجدول الواحد على اكثر من مفتاح ابتدائي واحد. يمكنك الان تكوين علاقة بين الجداول في Microsoft Access باختيار الامر Relationships من قائمة Tools، ستظهر لك نافذة بعنوان Show Table تمكنك من اضافة الجداول التي ترغب في تكوين العلاقات بينها، وان لم تظهر لك يمكنك اختيار الامر Show Table من قائمة Relationships. بعد ان تظهر الجداول نبدأ الان بتكوين العلاقة بينها بشكل فعلي، يتم ذلك باختيار الامر Edit Relationships من قائمة Relationships ايضا، سيظهر لك صندوق حوار بعنوان Edit Relationships، اضغط على الزر Create New ليظهر لك صندوق حوار بعنوان Create New. عند خانة Left Table Name حدد اسم الجدول المصدر Source Table وهو الجدول الاساسي او بعنى ابسط الجدول الذي تبدأ باضافة الحقول من عنده، ومن ثم حدد حقل المفتاح الابتدائي من خانة Left Column Name. اما الجهة الاخرى Right Table Name فتحدد فيها الجدول المرتبط مع الجدول الحالي كذلك الحقل المراد ان تربطه به: ![]() الحقل القسم الموجود في الخانة Right Column Name يسمى بالمفتاح الاجنبي Foreign key وهو الحقل الذي يربط بين الجدولين في العلاقة الحالية. ملاحظة: لابد ان يكون نوع المفتاح الاجنبي مماثل تماما لنوع المفتاح الابتدائي فمثلا لا يمكن ان يكون الاول من نوع Text والثاني Number. اضغط على الزر OK لتعود الى صندوق الحوار السابق Edit Relationships، ستلاحظ ان الزر Create يمكنك استخدامه الان، لا تضغطه حتى تحدد الاختيارات الثلاث: Enforce Referential Integrity و Cascade Update Related Fields و Cascade Delete Rlated Records حتى نجبر المستخدم على اضافة سجل في الجدول الثاني (Right Table) يكون له مقابل في الجدول الاول (Left Table)، كما نمكن قاعدة البيانات من اجراء عملية التحديث التلقائية عند تعديل حقل المفتاح الابتدائي او عملية الحذف التلقائي عند حذف الحقل الابتدائي، كما بالشكل التالي: ![]() خاتمة تحدثنا عن العلاقات في هذا المقال وتمكنا من انشاء علاقة من النوع واحد الى مجموعة والعلاقات الاخرى يمكنك انجازها بنفس الطريقة باستثناء العلاقات من النوع مجموعة الى مجموعة حيث تشترط عملية انشاء جدول ثالث يربط الجدولين بعلاقتين من النوع واحد الى مجموعة. تلاحظ في الشكل التالي طريقة عرض الجدول المصدر (Left Table) للعلاقة: ![]() ------------------------ موقع المطورون العرب ![]() ![]() ![]() -------------------- |
|
|
|
22-11-2008, 12:59 pm
مشاركة
#2
|
|
|
المشرف العام ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() المجموعة: إدارة المنتدى المشاركات: 4157 التسجيل: 8-04-07 البلد: الحـــــــــــــديـــــــ ـــــدة رقم العضوية.: 1087 |
درس رائع ....ومبسط مشكور استاذي العزيز -------------------- |
|
|
|
5-04-2009, 11:18 am
مشاركة
#3
|
|
|
المجموعة: المشاركات: 0 التسجيل: -- رقم العضوية.: |
My name is Derek and
I'm glad to join to this forum. |
|
|
|
6-04-2009, 11:07 pm
مشاركة
#4
|
|
|
نائب المشرف العام ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() المجموعة: إدارة المنتدى المشاركات: 1369 التسجيل: 13-11-07 البلد: ON BOARD MAERSK MARIB رقم العضوية.: 1362 |
Thank you very much Derek for joining us
Can you please tell me how you heard about Al-Rasheed Forums? I would appreciate it if you answer my question I hope that you find Al-Rasheed Forums very beneficial and useful. We are looking forward to reading your topics and replies If you need any assistance, please feel free to ask me Thank you very much Mr. Abdalla Al-Dirbji Supervisor Al-Rasheed Forums -------------------- |
|
|
|
17-04-2009, 10:50 pm
مشاركة
#5
|
|
|
عضو مؤسس ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() المجموعة: الأعضاء المشاركات: 3746 التسجيل: 29-08-04 البلد: اينما تفسح لى الارض رقم العضوية.: 246 |
والله انا اليوم شفت الموضوع هذا وتفاجأت فية لو كنت عارف انه موجود مثل هذة الدروس كنت اشارك بلكثير من ثروة معلوماتي
فانا احب الاكسس من داخل وغرة قلبي وشرح رائع لاستاذي محمد -------------------- |
|
|
|
21-11-2011, 02:54 am
مشاركة
#6
|
|
|
عضو جديد المجموعة: الأعضاء المشاركات: 1 التسجيل: 21-11-11 رقم العضوية.: 5258 |
يعطيكم العافية على هذا الموضوع ....
عند تطبيقة بعض العلاقات كانت تطلع عندي خطأ .... يعني بدل ما تظهر العلاقة رأس بأطراف بتطلع معي رأس برأس .... ممكن أعرف ايش المشكلة ... وشكرا ...[font="Courier New"][/font] |
|
|
|
22-11-2011, 04:10 am
مشاركة
#7
|
|
|
عضو مؤسس ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() المجموعة: الأعضاء المشاركات: 3746 التسجيل: 29-08-04 البلد: اينما تفسح لى الارض رقم العضوية.: 246 |
يعطيكم العافية على هذا الموضوع .... عند تطبيقة بعض العلاقات كانت تطلع عندي خطأ .... يعني بدل ما تظهر العلاقة رأس بأطراف بتطلع معي رأس برأس .... ممكن أعرف ايش المشكلة ... وشكرا ...[font="Courier New"][/font] ما نوع النسخه المستخدمه في التطبيق ؟ -------------------- |
|
|
|
![]() ![]() |
|
نسخة خفيفة | الوقت الأن: 10-02-2012, 03:55 pm |
| أٹأڑأ‘أأˆ أ¦أٹأکأ¦أأ‘: أ”أˆأںأ‰ أ›أ’أ‰ أ“أ¦أأٹ | ||