تعريف لغة SQL
لغة الاستعلام البنيوية Structured Query Language والتي تسمى اختصارًا SQL، هي لغة برمجية قياسية لإدارة قواعد البيانات، وتعرف ايضاً بلغة برمجة غير إجرائية Non Procedural Language، وهي بذلك تختلف عن لغات البرمجة المعتادة مثل سي أو جافا، حيث أن اللغات غير الإجرائية هي لغات متخصصة. ولذلك فإن تركيب لغة الاستعلامات البنائية هي لغة للتعامل والتحكم مع قواعد البيانات المترابطة من خلال التعامل مع تراكيب البيانات وإجراء عمليات إدخال البيانات والحذف والفرز والبحث والتصفية و التعديل وخلافه.
تاريخ اللغة
في يونيو 1970 نشر العالم البريطاني إدجار كود ورقة علمية بعنوان “نموذج مترابط للبيانات في مستودعات البيانات الضخمة المشتركة 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، ثم توالت التعديلات والطبعات المعيارية، وحاليًا فإن اللغة المعيارية المعتمدة هي SQL2008.
مزايا لغة SQL
تتمتع لغة SQL بالعديد من المزايا، وقد تزايد استخدامها بشكل كبير في السنوات الأخيرة، وبخاصة كون الشركات تجمع المزيد والمزيد من المعلومات والبيانات التي يتوجب عليها تخزينها بشكل مستمر. وبذكر بعض أهم مزايا هذه اللغة يمكن الحديث عن الآتي:
لغة عالمية: تعتبر هذه اللغة إحدى أكثر التقنيات استخدامًا في مجالا واختصاصات عديدة في كل مكان. وعند استخدامك لهذه اللغة فإنها ستحفزك بشكل تلقائي على تعلم لغات البرمجة المختلفة مثل C++ أو جافا أو بايثون وغيرها.
مفتوحة المصدر وسهلة التعلم والاستخدام: تعتبر هذه اللغة أسهل للتعلم نسبيًا من بقية لغات البرمجة. كما أنها مفتوحة المصدر، الأمر الذي يفتح الطريق واسعًا أمام المطورين. كما تدعم العديد من قواعد البيانات هذه اللغة مما يجعل التعامل معها أمرًا سهلًا.
إدارة ملايين صفوف البيانات: يمكنك استخدام جداول البيانات التقليدية لإدارة مجموعات البيانات والمعلومات الصغيرة والمتوسطة الحجم، لكننا سنحتاج إلى بديل عنها عند التعامل مع السجلات الضخمة. لذا سنتجه بشكل مباشر إلى لغة SQL التي يمكنها التعامل مع آلاف وملايين السجلات.
تطور التكنولوجيا: يمكن استخدام العديد من قواعد البيانات المتطورة للعمل على اللغة سواء أكان على جهاز الحاسب أو الهاتف المحمول وغيرهما.
تزايد الطلب: تقوم الشركات بالبحث عن الأفراد المؤهلين للتعامل مع
SQL بشكل دائم، مع العلم أن أجور هؤلاء تكون مرتفعة جدًا.
لا حاجة للترميز: إذ يعتبر التعامل مع اللغة سهلًا جدًا ولا حاجة لكتابة الكثير من التعليمات البرمجية.
لغة تفاعيلة: يمكن استخدامها للتواصل مع قواعد البيانات وتلقي إجابات على الأسئلة المعقدة في ثوانٍ معدودة.
طرق متعددة لعرض البيانات: يمكن للمستخدمين بمساعدة هذه اللغة عرض بنية قاعدة البيانات بطرق مختلفة.
عيوب اللغة SQL
بالإضافة لكل المزايا التي ذكرناها، فلا بد من وجود بعض العيوب مثل:
واجهة صعبة: إذ تمتلك SQL واجهة صعبة معقدة تجعل من الصعب على بعض المستخدمين فهمها.
التحكم الجزئي: لا يملك المبرمجون الوصول الكامل لقاعدة البيانات بسبب بعض قواعد العمل المخفية.
التحكم الجزئي: لا يملك المبرمجون الوصول الكامل لقاعدة البيانات بسبب بعض قواعد العمل المخفية.
التكلفة: تصل تكلفة تشغيل بععض إصدارات اللغة إلى أرقام عالية تجعل امتلاكها صعبًا للعديد من المبرمجين.
بعض تطبيقات SQL
نصوص تكامل البيانات: إن التطبيق الرئيسي للغة SQL يكمن في كتابة مسؤولي البيانات والمطورين البرامج النصية لتكامل البيانات.
الاستعلامات التحليلية: يستخدم محللو البيانات لغة الاستعلام هذه لإعداد الاستعلامات التحليلية وتشغيلها بشكل منظم.
قامت جماعة من الباحثين في مختبرات شركة IBM بإنتاج أول لغة برمجة تحقق هذا الهدف وأطلقوا عليها الاسم SEQUEL وهذا اللفظ اختصار لعبارة اللغة الإنجليزية للاستعلامات البنيوية Structured English Query Language لكنهم تخلوا عن هذا الاسم سريعًا عندما اكتشفوا أنه علامة تجارية لشركة بريطانية تعمل في حقل الطيران واستبدلوه بالاسم الذي أصبح مستخدم حتى اليوم وهو تركيب لغة الاستعلامات البنائية SQL.
استرداد المعلومات: من التطبيقات الشائعة لهذه اللغة هو استرداد المجموعات الفرعية من المعلومات من داخل قاعدة البيانات لتطبيقات التحليلات.