الرئيسيةبحث

لغة الاستعلامات البنيوية

لغة الإستعلامات البنيوية (أو البنائية) (بالإنجليزية: Structured Query Language SQL) هي لغة برمجة غير إجرائية Non Procedural Language، وهي بذلك تختلف عن لغات البرمجة المعتادة مثل سي أو جافا، حيث أن اللغات الغير إجرائية هي لغات متخصصة. ولذلك فإن تركيب لغة الاستعلامات البنائية هي لغة للتعامل والتحكم مع قواعد البيانات المترابطة من خلال التعامل مع تراكيب البيانات و إجراء عمليات إدخال البيانات والحذف و الفرز و البحث و التصفية وخلافه.

فهرس

تاريخ تطور لغة الاستعلامات البنائية

في يونيو 1970 نشر العالم الأمريكي إدجار كود Edgar F. Codd ورقة علمية بعنوان "نموذج مترابط للبيانات في مستودعات البيانات الضخمة المشتركة A Relational Model of Data for Large Shared Data Banks" قدم فيها نموذج لإنشاء وإدارة قواعد البيانات عرف باسم نموذج قاعدة البيانات المترابطة Relational Database Model، ووفقا لهذا النموذج يتم الاحتفاظ بالبيانات في جداول متفرقة ترتبط فيما بينها بعلاقات. حقق نموذج قاعدة البيانات المترابطة نجاحاً سريعاً بين المختصين، لكنه كان من الصعب التعامل مع هذا النموذج من خلال لغات البرمجة المألوفة آنذاك مثل لغة سي ولغة بيزيك ، لذلك سعى المختصين في ابتكار لغة برمجة جديدة تكون قادرة على إنشاء قواعد البيانات والتعامل معها وفق نموذج قاعدة البيانات المترابطة. قامت جماعة من الباحثين في مختبرات شركة IBM بإنتاج أول لغة برمجة تحقق هذا الهدف وأطلقوا عليها الاسم SEQUEL وهذا اللفظ اختصار لعبارة اللغة الإنجليزية للاستعلامات البنيوية Structured English Query Language لكنهم تخلوا عن هذا الاسم سريعاً عندما اكتشفوا أنه علامة تجارية لشركة بريطانية تعمل في حقل الطيران واستبدلوه بالاسم الذي أصبح مستخدم حتى اليوم وهو تركيب لغة الاستعلامات البنائية SQL. قامت شركة IBM باستخدام تركيب لغة الاستعلامات البنائية في إنتاج عدد من نظم إدارة قواعد البيانات المترابطة وتوزيعها مثل النظام System R والنظام System/38 والنظام SQL/DS وأخيراً النظام DB2. لكن النظام الذي حقق النجاح الأكبر هو النظام الذي اعتمدته شركة أوراكل Oracle وحمل أسمها والذي طرحته لأول مرة عام 1979. منذ ابتكار لغة الاستعلامات البنيوية في مطلع السبعينات، خضعت للعديد من التعديلات والتطويرات، كما قامت العديد من الشركات والمؤسسات البحثية بتصميم نسختها الخاصة من تركيب لغة الاستعلامات البنائية، ولمجابهة هذا الموقف قام المعهد الوطني الأمريكي للمعايير American National Standards Institute ANSI بإصدار أول نسخة معيارية من تركيب لغة الاستعلامات البنائية عام 1987 وهي التي عرفت باسم SQL1987، ثم توالت التعديلات والطبعات المعيارية، وحالياً فإن اللغة المعيارية المعتمدة هي SQL2003.

تركيب لغة الاستعلامات البنائية

تتركب لغة الاستعلامات البنائية من عدد من الكلمات المحجوزة، ويمكن تقسيم هذه الكلمات المحجوزة تبعاً لوظائفها التي تقوم بها إلى ثلاثة أقسام رئيسة هي:

لغة تعريف البيانات

Data Definition Language DLL

وهي مجموعة من الكلمات المحجوزة التي تقوم بإدارة الكائنات في قاعدة البيانات سواء بالإنشاء أو التعديل أو الحذف وتشتمل هذه المجموعة على الكلمات المحجوزة التالية:

صراحة مو عارف وش أكتب ربما المقال كله لم يحتوي الأهم نماذج استعمال SQL

انتقادات حول لغة الاستعلامات البنائية

وجهت العديد من الانتقادات إلى لغة الاستعلامات البنائية، وجميع هذه الانتقادات تتمحور حول فكرة أن لغة الاستعلامات البنائية قد صممت لتكون لغة غير إجرائية مخصصة لبرمجة قواعد البيانات المترابطة وهو ما تحققه لغة الاستعلامات البنائية، إلا أن بعض أدواتها تظهر قصور عن تحقيق هذه الفكرة، وقد عمل الكثير من الباحثين على معالجة هذه القصور، إلا أن المنتقدين يكررون باستمرار أن علة القصور ترجع إلى خلل في التصميم الأساسي للغة الاستعلامات البنائية وهو خلل لا يمكن معالجته لأنه جزء من مكونات لغة الاستعلامات البنائية الأساسية.

بدائل لغة الاستعلامات البنائية

اقترح منتقدي لغة الاستعلامات البنائية تصميم بدائل لها يتم فيها تفادي القصور الذي تعاني منه لغة الاستعلامات البنائية، وقد ضمت البدائل التي اقترحوها:

النظم التي تدعم لغة الاستعلامات البنائية

تصمم معظم نظم أدارة قواعد البيانات المترابطة بحيث تكون متوافقة مع لغة الاستعلامات البنائية، ويعتبر التوافق مع النسخة المعيارية للغة الاستعلامات البنائية ANSI SQL من الميزات التي تحقق بها النظم شعبيتها. تضم هذه النظم عدد كبير من البرمجيات بعضها ذات سمعة كبيرة وبعضها الآخر قد لا يزيد عدد مستخدميه عن مطوريه وأصدقائهم. أهم هذه النظم هي:

وصلات خارجية