التعامل مع العلاقات ( الجداول )
يعتمد التعامل مع الجداول ضمن قاعدة بيانات علائقية بشكل أساسي على نظرية المجموعات الرياضية للحصول مثلا على جزء من جدول أو على تركيبة من جدولين عليك فعليا القيام بعمليات تعتمد على الجبر انك لن تقوم طبعا كمستخدم بهذه العمليات بشكل مباشر بل تقوم نيابة عنك أنظمة DBMS من خلال استخدامها لعمليات جبرية متتالية للحصول على نتيجة الأستفسار المطلوب
لهذا السبب يدعى الجبر العلائقي بالجرائي procedural لأنه يلجأ الى عمليات متتابعة للحصول على المعطيات المطلوبة
على العكس من ذلك فلغة SQL ليست اجرائية لأنك عندما تضع استفسار فانك تحدد بشكل واضح ما تريد الحصول عليه بدون أن تحدد الطريقة التي يجب أن يعمل بها نظام DBMS لتأمين ذلك
عندما تصيغ استفسارSQL وارساله الى نظام DBMS / SQLيقوم متفحص الأستفسارات query optimizer باختيار الطريقة الأكثر فاعلية للوصول الى المعطيات المطلوبة ان عمليه الأختيار هذه معقدة وليس من الضروري أن يكون المبرمج أو المستخدم النهائي على اطلاع عليها
ما عليك معرفته هنا أنه من الممكن استخدام عدة تعابيرSQL للحصول على نفس النتيجة و لكن بأداء مختلف
من المؤكد أنه كلما كانت معرفتك بعلم الجبر و بطريقة توزيع المعطيات أفضل كلما كان اختيارك لتعبيرSQLالمطلوب أكثر ملائمة
بيئات عمل SQL
يوجد طريقتان لارسال أمر SQLالى قاعدة البيانات
تعبير SQL التفاعلي : يقوم المستخدم في هذه الحالة بكتابة أمر مفرد و ارساله مباشرة الى قاعدة البيانات و تكون نتيجة ذلك جدول في الذاكرة الحية و يحصل المستخدم على جدول جديد و حيد كنتيجة . في كل مرة استخدم بيئات العمل الحواسب الكبيرة و من الممكن الحصول على عدة جداول في نفس الوقت على الحواسيب الشخصية ان الجداول الناتجة عن هذة الأستفسارات ليست قانونية دائما حيث أن وجود قيم" NULL" تمنع وجود مفاتيح اساسية أحيانا لا تشكل هذه الحالة مشكلة نظرا لأن هذه الجداول لا تنتمي فعلا الى قاعدة المعطيات ( موجودة فقط في الذاكرة و هي مؤقتة )
تعابير SQL المضمنة : يتم استخدام تعابير SQL ضمن الشيفرة الخاصة بتطبيق ما يمكن أن تكون تعابير SQL المضمنة استاتيكية أي مخزنة كما هي ضمن التطبيق أو أن تكون ديناميكية و في هذه الحالة يقوم التطبيق ببنائها ديناميكيا أثناء التنفيذ اعتمادا على ادخلات مستخدم التطبيق
ان تعابير SQL في كلا الطريقتين متشابهة
معالجة أوامر SQL التفاعليه
ان التعامل مع البيئات التفاعلية يمر بشكل علم بالخطوات التالية :
كتابة أمر SQL
ارسال الأمر الى قاعدة البيانات و انتظار النتيجة
طريقة تنفيذ العمليه يعتمد بشكل قوي على البرمجيات المستخدمة نستعرض كمثال على ذلك حالة نظام عمل مركزي أو حالة الحاسب الشخصي
SQL على نظم العمل المركزية
في حالة العمل باستخدام أنظمة IBM DB / 2 أو SQL / DS على حاسب مركزي سوف تقوم غالبا بالتعامل مع بيئة QMF ( تسهيلات ادارة الأستفسار ) لتنفيذ أوامر SQL التفاعليه
يظهر الشكل التالي بيئة QMF المكونة من شاشة فارغة لكتابة الأوامر حيث يمكن استخدام المفاتيح المبرمجة لتسهيل عملية الكتابة كما يمكن كتابة الأمر مباشرة عند اشارة command = = >
SQL Query
Select * From CAB_
*** END ***
6 = draw 5 = chart 4 = print 3 = end 2 = run 1 = help
12 = report 11 = delet 10 = insert 9 = form 8 = forward 7 = backward
positioned Ok , cursor
Command = = = >
page Scroll = = = >
يقوم QMF بتنفيذ الأوامر عندما يضغط المستخدم على مفتاح F2 حيث يرسل الأستفسار الى نظام DBMS الذي يرجع بدوره المعطيات المطلوبة الى QMF الذي يقوم باظهارها على الشاشة
SQL على الحواسب الشخصية
يوجد عدد كبير من معالجات SQL التفاعلية وتمتلك أغلب بيئات البرمجة الحالية واجهات تخاطب بسيطة تسمح بتنفيذ أمر SQL ( مثل : vb6-visdata , access , delphi )
الدرس القادم
عملية استرداد بسيطة للمعطيات باستخدام SQL