شرح sql بالعربي - الربط الداخلي والخارجي شرح sql بالعربي - الربط الداخلي والخارجي - اقرا معي وتعلم على الانترنت

شرح sql بالعربي - الربط الداخلي والخارجي

شرح sql  بالعربي - الربط الداخلي والخارجي

يمكنكم الاطلاع على الدروس السابقة من هنا 



تعرفنا في الدروس السابقة ان الاستعلام عن اكثر من جدول باستخدام الاستعلامات الفرعية وقد وفر مميزات وقدرات جيدة على معالجة البيانات ولكن هذه القدرات قد لا تمكننا من الحصول على كل النتائج التي نحتاجها كما ان الصيغة قد تصبح صعبة الفهم بعض الشيء وقد تؤدي الى انخفاض في مستوى الاداء احياناً
ان لغة SQL توفر امكانية الاستعلام عن جداول متعدده في وقت واحد باستخدام صيغة ابسط نسميها الربط.
لا تستطيع الصيغة الجديدة استبدال كل التقنيات التي تؤمنها الاستعلامات الفرعية ولكنها تمثل الحل الامثل في بعض الحالات وخاصة في الاستعلامات التي تربط بين سجلات من جداول مختلفة .

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

اذن ناخذ بالتفصيل الان انواع الربط

اولا الربط البسيط :

الربط البسيط هو استعلام عن اكثر من جدول في صيغة واحدة دون استعمال أي شرط
ان ابسط صيغة للتعبير عن الربط البسيط هي :
Select Table1.Column1, Table2.Column2 from Table1, Table2;

مثلا لو فكرنا في استعمال هذه الصيغة في جلب اسم ووصف كل طالب من الجدولين Names,Classes اول ما سيحضر الى اذهاننا هو كتابة الصيغة التالية :
Select class, Name from Classes, Names;

الصيغة السابقة استخدمنا فيها الربط البسيط ولكن للأسف لن تعيد لنا النتيجة التي طلبناها او التي نحتاجها .

ولذلك إن آلية عمل الربط البسيط في حال عدم وجود أي شرط مرافق هي عبارة عن عملية جداء ديكارتي لقيم الحقول المحددة من الجدولين. فإذا كانت قيم الحقل المطلوب من الجدول الأول هي {A, B, C} وقيم الحقل المطلوب من الجدول الثاني هي {D, E, F} فسيكون عدد القيم المعادة 9 قيم هي التالية:
 {(A,D), (A,E), (A,F), (B,D), (B,E), (B,F), (C,D), (C,E), (C,F)}

مثلاً إذا كان لدينا 100 سجل في كل من الجدولين المربوطين ربطًا بسيطًا سنحصل على 10000 سجل يعيدها
استعلام الربط البسيط.

يسمى استعلام الربط البسيط أيضًا بالربط المتصالب. ويمكن التعبير عن نفس صيغة الربط السابقة، بالصيغة:
Select Table1.Column1, Table2.Column2 from Table1 Cross Join Table2;

مثال :

كيميائي يريد اختبار تأثير مجموعة من المواد الكيميائية على مجموعة من المنتجات التي تصنعها الشركة التي يعمل فيها فإذا كانت اسماء المنتجات productName  مدرجة في جدول اسمة Products واسماء المواد المراد اختبار تأثيرها materialName مدرجة في جدول اسمة ChemicalEffects المطلوب مساعدة هذا الكيميائي في تجهيز لائحة الاختبارات : اذن سيكون الحل كالتالي /
Select productName, materialName from Products, ChemicalEffects;

او
Select productName, materialName from Products Cross Join
ChemicalEffects;



انتبة : لا تدعم قواعد البيانات DB2 التعبير Cross Join .


اكتفي بهذا القدر ونلتقي في التدوينة القادمة ان شاء الله والتي ستكون بعنوان الربط بالتساوي .
اشكرك على حسن الزيارة واتمنى ان تكون قد استفدت شي من موقعنا هذا ...

ولا تنسى الاشتراك في المدونة حتي يصل اليك اشعار بكل جديد نقوم بنشرة او قم بتحميل تطبيقنا على جهازك ستجدة في حسابي في الدروب بوكس لم اقم بعد باضافتة الى جوجل بلاي
او الاعجاب بصفحتنا على الفيس بوك فنحن نقوم بنشر كل جديد فيها ايضاً

استودعك الله ودمت بألف خير عزيزنا ....
شارك الموضوع
تعليقات
محتوى قد يهمك

.