بعد أن فرغنا من تصميم الجداول ننتقل الآن الى بناء العلاقات بين هذه الجداول
و من أحب الاستزاده أكثر يمكنه مراجعة الدرس التالي بداية
العلاقات بين الجداول
و لتطبيق هذا الشرح , حمل الملف المرفق و فيه بشكل رئيسي جدولين هما :
المؤلفين Authores - الكتب Books
في جدول الكتب لدينا حقل رقم المؤلف و يأخذ قيمته من رقم المؤلف في جدول المؤلفين
جدول المؤلفين يتكون من ثلاثة سجلات , و جدول الكتب يتكون من خمسه
سندع هذين الجدولين بدون أي علاقة بينهما , و ننشأ الاستعلام 1 نجد نتيجة الاستعلام لدينا 15 سجلا , أي 3 * 15 بمعنى أن كل سجل من جدول الكتب تم تكراره بحسب عدد سجلات المؤلفين , و ذلك لأنه لاتوجد علاقة بين الجدولين
الآن لنحافظ على هذين الجدولين و ننسخهما أربعة مرات في كل مره تختلف شكل العلاقه و ذلك للتوضيح فقط .
الحاله الثانيه الجدولين 1Authores - 1Books و سننشى بينهما علاقه , طبعا العلاقه المفروض أن تكون بين حقلين متطابقين في التعريف ( نوع البيانات – رقم الى رقم – نص الى نص و هكذا ) , ستكون العلاقه بين رقم المؤلف في كلا الحقلين ( البعض يخطى و يجعل العلاقه بين رقم المؤلف و اسم المؤلف ! )
نعمل الاستعلام 2 بين الجدولين , نجده يتألف من خمسة سجلات فقط , و ذلك بسبب انشاء علاقه بين الجدولين منعت تكرار السجلات بينهما .
الآن هذه العلاقه غير مقيده , بمعنى أنه لو فتحنا جدول المؤلفين 1Authores وعدلنا قيمة حقل رقم المؤلف في السجل الثالث و جعلنا قيمتها 4 بدلا من 3 , يقبل التعديل , و لكن هذا التعديل لن ينعكس على جدول الكتب 1Books , و لبيان ذلك نفتح ذلك الجدول و نجد أن حقل رقم المؤلف في السجل الثالث أصبح فارغا و هو الذي كان يحوي سابقا القيمة 3
و لو عدنا الآن الى جدول المؤلفين و أعدنا القيمه من 4 الى 3 كما كانت , نجد تعود القيمه الى جدول الكتب .
الآن لنحاول حذف سجل المؤلف رقم 3 بكامله من جدول المؤلفين , نجد أيضا أن السجل الثالث في جدول الكتب اختفت فيه قيمة حقل رقم المؤلف .
الآن لو أردنا عمل قيد على العلاقه بين الجدولين بحيث تمنع التعديل أو الحذف في جدول المؤلفين حتى لاتنعكس على جدول الكتب , نلجأ الى النوع الثاني من العلاقات
بحيث لو جربنا حذف أي سجل من سجلات جدول المؤلفين أو تعديل رقمه لن يقبل هذا التعديل طالما وجدت سجلات مرتبطه به في جدول الكتب .
لو كنا نريد السماح بتعديل رقم المؤلف بشرط أن ينعكس هذا التعديل تلقائيا على السجلات التابعه له في جدول الكتب نلجأ الى النوع الثالث من العلاقات
الآن لنحاول تغيير رقم المؤلف في جدول المؤلفين 3Authores من القيمه 3 الى 4 نجد أن السجل الثالث في جدول الكتب تغيرت قيمته تلقائيا الى القيمه الجديده 4
لكن لوأردنا حذف المؤلف بكامله من جدول المؤلفين لن يقبل الحذف بسب منع الحذف في العلاقه لذلك نذهب الى تصميم العلاقه , الجدول 4Authores و نضع اشارة صح على السماح بحذف السجلات المرتبطه و نحفظ التعديل
ثم نحاول حذف السجل 3 بكامله من جدول المؤلفين , نجد أنه تم حذف السجل الثالث من جدول الكتب الذي كان يعود لذلك المؤلف .
RelationShip.rar