الدرس 22 (شرح أنواع العلاقات بين الجداول relationship types ) فى الاكسيس Microsoft access - مدرسة الويب web school

أعلان الهيدر

الرئيسية الدرس 22 (شرح أنواع العلاقات بين الجداول relationship types ) فى الاكسيس Microsoft access

الدرس 22 (شرح أنواع العلاقات بين الجداول relationship types ) فى الاكسيس Microsoft access

ماهى العلاقات بين الجداول:

فى قواعد البيانات يتم تقسيم جميع البيانات ذات الصلة فى جدول منفصل ..فيتكون لدينا عدة جداول هذه الجداول هى المكون الأساسي لقاعدة البيانات وهذه الجداول تكون بينها وبين بعضها صلة رابطة من حيث الموضوع ..
فالعلاقة هى ربط بين الجداول المرتبطة مع بعضها البعض ويتم الربط بواسطة حقل المفتاح الاساسي primary key فى الجدول الأول وربطه مع حقل آخر فى الجدول الثانى يسمى مفتاح أجنبي foreign key
فمثلا فى قاعدة بيانات المدرسة يكون لدينا جدول للمعلمين وجدول للطلاب وجدول للفصول ...هذه الجداول إذا أمعنا النظر فيهم نجد أن هناك صلة بين المعلم والطالب وهناك صلة بين الفصل وبين الطالب ومن هنا تنشأ العلاقات بين الجداول

فائدة العلاقات بين الجداول

1- تفادى تكرار البيانات
2- الحفاظ على سرية البيانات وحمايتها عن طريق وضعها فى أكثر من جدول
3- سرعة البحث عن البيانات
4- تعمل العلاقات على تلافي كبر حجم قاعدة البيانات وذلك بمنع التكرار

أنواع العلاقات بين الجداول 

يوجد ثلاثة أنواع رئيسية من العلاقات بين الجداول

  1.  العلاقة  واحد إلى واحد وتسمى (رأس برأس)  : one to one
  2.  العلاقة واحد إلى متعدد وتسمى ( رأس بأطراف) : one to many
  3.  العلاقة متعدد إلى متعدد وتسمى (أطراف بأطراف) :  many to many

أولاً: العلاقة واحد إلى واحد: one to one

تنشأ العلاقة واحد إلى واحد : one to one فى حالة الرغبة فى :-
1- تقسيم الجداول الكبيرة التى تحتوى على عدد كبير من الحقول إلى عدة جداول
2- الحفاظ على سرية البيانات
وفى هذا النوع من العلاقات يكون كل سجل فى الجدول الأول مرتبط بسجل واحد فى الجدول الثاني
ولإنشاء العلاقة واحد إلى واحد بين جدولين :one to one لابد من وجود كلا المفتاح الأساسي فى كلا الجدولين
إنشاء العلاقة واحد إلى واحد : one to one

  إنشاء العلاقة one to one

نريد أن نفصل مثلا نتيجة الطلاب ونضعها فى جدول منفصل كنوع من أنواع الحماية والسرية على هذا الحقل
فنقوم بإنشاء جدول آخر يسمى جدول النتيجة results ونضع في هذا الجدول حقل النتيجة ونقوم بإنشاء حقل مفتاح اساسي يكون مماثل لحقل البيانات فى جدول الطلاب  (اجعل نوع البيانات الخاص بالمفتاح الأساسي فى الجدول الثانى -جدول النتيجة- number) فلا يصح أن يكون الحقلان نوع البيانات فيهما auto number فيؤدى ذلك لحدوث بعض المشكلات عند فرض التكامل المرجعى enforce referential integrity

خطوات إنشاء العلاقة One to one

1- من التبويب database tools اختر relationships
2- من النافذة التى ستظهر أمامك حدد الجداول التى ترغب فى الربط بينها ويمكن تحديد اكثر من جدول بالضغط على مفتاح ctrl من لوحة المفاتيح أثناء التحديد ثم اضغط على add
3 - قم بسحب حقل المفتاح الأساسي فى الجدول الأول جدول الطلاب وإفلاته على حقل المفتاح الأساسي فى الجدول الثاني results
4- يمكن تعديل حقول الربط بين الجدولين من نافذة edit relationships
5- يمكن فرض خاصية التكامل المرجعى enforce referential integrity
6- نضغط على create لإنشاء العلاقة بين الجدولين
7- عند الرغبة فى حذف العلاقة بين الجدولين اضغط كليك يمين على الخط الفاصل بين الجدول (خط العلاقة) واختر delete
8- لتعديل العلاقة بين الجدولين اضغط كليك يمين على الخط الفاصل بين الجدولين (خط العلاقة) واختر edit relationships


one to one- relationship - علاقة واحد إلى واحد- علاقة رأس إلى رأس- اكسيس


فرض التكامل المرجعى enforce referential integrity

التكامل المرجعى: هو مجموعة من القواعد التى يتم تطبيقها على الجداول المرتبطة بحيث تظل العلاقات بين الجداول متكاملة ومتناغمة ويعمل التكامل المرجعى بين الجداول على عدم حدوث أخطاء
فمثلا عند فرض التكامل المرجعى بين جدولين جدول الطلاب وجدول النتيجة يعمل التكامل المرجعى على عدم إمكانية ادخال نتيجة طالب فى جدول النتائج إلا إذا كان هذا الطالب مسجلاً فى جدول الطلاب وكذلك عدم إمكانية حذف سجل فى جدول إذا كانت هناك سجلات مرتبطة به فى جدول أخر مرتبط  وعند حذف سجل فى الجدول الأول يتم حذف جميع السجلات المرتبطة به فى الجدول الثانى cascade delete.ويعمل كذلك التكامل المرجعى على أنه فى حالة تحديث بيانات سجل فى الجدول الأول يتم تحديث جميع السجلات المرتبطة به فى الجدول الثانى cascade delete
Microsoft access- enforce referential integrity- فرض التكامل المرجعى- الاكسيس

تتابع التحديثات وتتابع الحذف cascade update&cascade delete

تتابع التحديثات تعنى أن فى حالة تحديث بيانات الجدول الأول يتم تحديث البيانات المرتبطة تلقائيا فى الجدول الثاني
فمثلا عند الرغبة فى تحديث رقم طالب فى جدول الطلاب يتم تحديث رقم الطالب تلقائيا فى  جدول النتائج
وتتابع الحذف cascade delete تعنى أنه عند حذف سجل  معين فى  الجدول الأول يتم حذف جميع السجلات المرتبطة فى الجدول الثانى

cascade update - referential integrity- تتابع التحديثات

العلاقة One to many (واحد إلى متعدد- رأس بأطراف)

وهى أكثر أنواع العلاقات شيوعا وانتشارا 
وفى العلاقة one to many يكون كل سجل فى الجدول الأول يرتبط بأكثر من سجل فى الجدول الثانى ولكن كل سجل فى الجدول الثانى يرتبط بسجل واحد فى الجدول الأول.
مثل العلاقة بين التلاميذ والفصل فالفصل الواحد يجلس فيه عدد كبير من التلاميذ ولكن التلميذ الواحد يجلس فى فصل واحد 
فالعلاقة هنا علاقة One to many من جهة الفصل One ومن جهة التلاميذ many
ومثل العلاقة بين الدرجات المالية والمعلمين فالمعلم الواحد له درجة مالية واحدة ولكن الدرجة المالية الواحدة ممكن أن يشغلها أكثر من معلم فمن جهة الدرجة المالية One ومن جهة المعلمين Many.

خطوات إنشاء علاقة One to many

1- قم بإنشاء جدول الدرجات المالية financial class وقم بإنشاء المفتاح الأساسي به وليكن اسمه F_ID ونوع البيانات به Number
2- قم بإنشاء جدول المعلمين وقم بوضع مفتاح أجنبي foreign key يمثل المفتاح الأساسي primary key فى جدول الدرجات المالية (financial class ) ويمكن تسميته أى اسم ويستحسن نفس اسم المفتاح الأساسي primary key  فى الجدول الأول حتى يسهل الاستدلال عليه بسهولة F_ID واجعل نوع بياناته Number
لاحظ : أن المفتاح الأجنبي foreign key  يتم إنشاؤه فى داخل الجدول الذى يمثل العلاقة many 
3- من التبويب  database tools اختر relationships
4- من النافذة التى ستظهر أمامك حدد الجداول التى ترغب فى الربط بينها ويمكن تحديد اكثر من جدول بالضغط على مفتاح ctrl من لوحة المفاتيح أثناء التحديد ثم اضغط على add
5 - قم بسحب حقل المفتاح الأساسي فى الجدول الأول جدول الدرجات المالية f_ID وإفلاته على حقل المفتاح الأجنبي فى الجدول الثاني (جدول المعلمين  teachers)  حقل f_ID
6- يمكن فرض خاصية التكامل المرجعى enforce referential integrity
7- نضغط على create لإنشاء العلاقة بين الجدولين




Microsoft access- one to many - relationship- علاقة رأس بأطراف - علاقة واحد إلى متعدد

العلاقة many to many (علاقة متعدد إلى متعدد) أو (علاقة أطراف بأطراف)

تكون العلاقة بين الجدولينmany to many حينما يكون كل سجل فى الجدول الأول يرتبط بأكثر من سجل فى الجدول الثانى وكذلك يكون كل سجل فى الجدول الثانى مرتبط بأكثر من سجل فى الجدول الأول
مثل العلاقة بين جدول المعلمين teachers وجدول الدورات التدريبية  courses حيث أن كل معلم ممكن أن يدرس أكثر من دورة تدريبية وكذلك الدورة التدريبية ممكن يدرسها أكثر من معلم
وفى العلاقة many to many نحتاج إلى جدول ثالث يسمى جدول الوصل أو جدول الربط junction table
وفى هذا الجدول يتم وضع المفتاح الأساسي primary key  فى الجدول الأول كمفتاح أجنبيforeign key  ويتم وضع ايضا المفتاح الأساس primary key فى الجدول الثاني كمفتاح أجنبي foreign key وممكن أن يحتوى هذا الجدول على أى حقول أخرى مثل مثلا موعد الدورة.
أى أن العلاقة many to many عبارة عن علاقتين كل منهما one to many

خطوات إنشاء العلاقة Many to Many

1- نقوم بإنشاء جدول الربط junction table  ونضع فيه المفتاح الأساسي primary key  فى الجدول الأول  والمفتاح الأساس فى الجدول الثاني primary key  وكلاهما يعتبر مفتاح أجنبي foreign key فى جدول الربط junction table

2- من التبويب  database tools اختر relationships
3- من النافذة التى ستظهر أمامك حدد الجداول التى ترغب فى الربط بينها ويمكن تحديد اكثر من جدول بالضغط على مفتاح ctrl من لوحة المفاتيح أثناء التحديد ثم اضغط على add
5 - قم بسحب حقل المفتاح الأساسيprimary key  فى الجدول الأول جدول المعلمين T_IDوإفلاته على حقل المفتاح الأجنبي foreign key فى جدول الربط Junction table  التفاصيل details لإنشاء علاقة One to many بين جدول المعلمين وجدول الوصل details
6- قم بسحب حقل المفتاح الأساسي primary key فى جدول الدورات التدربيية C_ID وإفلاته على حقل المفتاح الأجنبي  C_ID فى جدول الربط junction table  والمسمى details
4- يمكن تعديل حقول الربط بين الجدولين من نافذة edit relationships
5- يمكن فرض خاصية التكامل المرجعى enforce referential integrity
6- نضغط على create لإنشاء العلاقة بين الجدولين 
وبهذا نكون أنشأنا العلاقة Many to Many

many to many- أطراف بأطراف- متعدد إلى متعدد- اكسيس - Microsoft _access


هناك 7 تعليقات:

  1. اسعدك المولى معلومات قيمية ربي يسعدك.

    ردحذف
  2. عند عملية الربط بين الجداول تظهر رساله مكتوب فِيَھ يجب التساوي في عدد الحقول ونوع البيانات ما السبب ممكن تفيدونا

    ردحذف
    الردود
    1. يجب ان يكون كلا نوعي البيانات فى حقلي الربط من نفس النوع سواء رقم او نص او غير ذلك

      حذف
  3. جزاك الله خيرا ...... معلومات قيمة لكن لو كانت الشرائح التوضيحية أبطأ قليلا

    ردحذف
  4. واياكم وتم مراعاة هذا الامر فى الدروس التالية

    ردحذف
  5. خالد شكرى شكرا جزيلا أستاذنا دروس رائعة في القمة في ميزان حسناتك

    ردحذف
  6. كل الشكر نرجو شرح عمل ملف تنفيذى

    ردحذف

شائع هذا الأسبوع

يتم التشغيل بواسطة Blogger.

تم الكشف عن مانع الإعلانات

الإعلانات تساعدنا في تمويل موقعنا، فالمرجو تعطيل مانع الإعلانات وساعدنا في تقديم محتوى حصري لك. شكرًا لك على الدعم ❤️