ما هي لغة SQL؟

لغة SQL
جدول المحتويات

أول شيء يجب فهمه حول SQL هو أن SQL ليست لغة إجرائية ، مثل بايثون و C و C ++ و C # و جافا . لحل مشكلة بلغة إجرائية ، تكتب إجراءً – سلسلة من الأوامر تؤدي عملية محددة تلو الأخرى حتى تكتمل المهمة. قد يكون الإجراء عبارة عن تسلسل خطي مباشر أو قد يتكرر مرة أخرى على نفسه ، ولكن في كلتا الحالتين ، يحدد المبرمج ترتيب التنفيذ.

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

حسنا. لقد تم إخبارك للتو أن SQL ليست لغة إجرائية – وهذا صحيح أساسًا. ومع ذلك ، فإن الملايين من المبرمجين هناك (وربما تكون واحدًا منهم) معتادون على حل المشكلات بطريقة إجرائية. لذلك ، في السنوات الأخيرة ، كان هناك الكثير من الضغط لإضافة بعض الوظائف الإجرائية إلى SQL – وتتضمن SQL الآن ميزات اللغة الإجرائية: BEGIN الكتل وIF الشرطية والبيانات ، والوظائف ، والإجراءات (نعم). مع إضافة هذه التسهيلات ، يمكنك تخزين البرامج على الخادم ، حيث يمكن لعدة عملاء استخدام برامجك بشكل متكرر.

لتوضيح المقصود بعبارة “أخبر النظام بما تريده” ، افترض أن لديك جدول موظف تريد من خلاله استرداد الصفوف التي تتوافق مع جميع كبار موظفيك. تريد تعريف شخص كبير بأنه أي شخص أكبر من 40 عامًا أو أي شخص يكسب أكثر من 100000 دولار سنويًا. يمكنك عمل الاسترجاع المطلوب باستخدام الاستعلام التالي:

اختر * من الموظف حيث العمر> 40 أو الراتب> 100000 ؛

تسترد هذه العبارة جميع الصفوف من جدول الموظف حيث تكون إما القيمة الموجودة في Ageالعمود أكبر من 40 أو القيمة الموجودة في Salary العمود أكبر من 100000. في SQL ، لا يتعين عليك تحديد كيفية استرداد المعلومات. يفحص محرك قاعدة البيانات قاعدة البيانات ويقرر بنفسه كيفية تلبية طلبك. ما عليك سوى تحديد البيانات التي تريد استردادها.

تفتقر تطبيقات SQL الحالية إلى العديد من بنيات البرمجة الأساسية التي تعتبر أساسية لمعظم اللغات الأخرى. تتطلب تطبيقات العالم الحقيقي عادةً على الأقل بعضًا من بنيات البرمجة هذه ، وهذا هو السبب في أن SQL هي في الواقع لغة فرعية للبيانات حتى مع الإضافات التي تمت إضافتها في الأعوام 1999 و 2003 و 2005 و 2008 و 2011 ، لا يزال يتعين عليك استخدام SQL مع لغة إجرائية (مثل C ++) لإنشاء تطبيق كامل.

يمكنك استخراج المعلومات من قاعدة بيانات باستخدام SQL بإحدى طريقتين:

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

المزيد: ما هي لغة البايثون؟ إيجابياتها وسلبياتها

القليل من تاريخ SQL

نشأت SQL في أحد مختبرات أبحاث IBM ، كما فعلت نظرية قواعد البيانات العلائقية. في أوائل السبعينيات ، عندما طور باحثو IBM أنظمة DBMS (أو RDBMS) ، قاموا بإنشاء لغة فرعية للبيانات للعمل على هذه الأنظمة. سموا النسخة ما قبل النشر من هذا sublanguage SEQUEL ( S tructured E nglish QUE راي L anguage). ومع ذلك ، عندما حان الوقت للإفراج رسميًا عن لغة الاستعلام الخاصة بهم كمنتج ، وجدوا أن شركة أخرى قامت بالفعل بوضع علامة تجارية على اسم المنتج “Sequel”. لذلك ، قرر عباقرة التسويق في شركة IBM إعطاء المنتج الذي تم إصداره اسمًا مختلفًا عن SEQUEL ولكن لا يزال من الممكن التعرف عليه كعضو من نفس العائلة.

لذلك أطلقوا عليها اسم SQL. على الرغم من أن النطق الرسمي هو ess-que-ell ، فقد اعتاد الناس على نطقها “تكملة” في الأيام السابقة للإصدار واستمروا في ذلك. استمرت هذه الممارسة حتى يومنا هذا ؛ سيقول بعض الناس “Sequel” والبعض الآخر سيقول “SQL” ، لكن كلاهما يتحدث عن نفس الشيء.

بناء جملة SQL هو شكل من أشكال اللغة الإنجليزية المهيكلة، حيث جاء اسمها الأصلي. ومع ذلك ، فإن SQL ليست لغة منظمة بمعنى أن علماء الكمبيوتر يفهمون هذا المصطلح. وبالتالي ، على الرغم من افتراضات العديد من الأشخاص ، فإن SQL ليست اختصارًا لـ “لغة الاستعلام المنظمة”. إنه تسلسل من ثلاثة أحرف لا تعني أي شيء ، تمامًا مثل اسم لغة C لا يعني أي شيء.

كان عمل IBM مع قواعد البيانات العلائقية و SQL معروفًا جيدًا في الصناعة حتى قبل أن تقدم IBM منتج قاعدة البيانات العلائقية SQL / DS (RDBMS) في عام 1981. بحلول ذلك الوقت ، أصدرت شركة Relational Software، Inc. (الآن Oracle Corporation) بالفعل أول RDBMS لها. وضعت هذه المنتجات المبكرة على الفور المعيار لفئة جديدة من أنظمة إدارة قواعد البيانات. قاموا بدمج SQL ، والذي أصبح المعيار الفعلي للغات الفرعية للبيانات. أتى بائعو أنظمة إدارة قواعد البيانات العلائقية الأخرى بإصداراتهم الخاصة من SQL. عادةً ، احتوت هذه التطبيقات الأخرى على جميع الوظائف الأساسية لمنتجات IBM ، وتمتد بطرق استفادت من نقاط القوة الخاصة بمنتج RDBMS الخاص بها. نتيجة لذلك ، على الرغم من استخدام جميع البائعين تقريبًا لشكل من أشكال SQL ، كان التوافق بين الأنظمة الأساسية ضعيفًا.

التنفيذ هو نظام RDBMS محدد يعمل على نظام أساسي للأجهزة.

سرعان ما بدأت حركة لإنشاء معيار SQL معترف به عالميًا يمكن للجميع الالتزام به. في عام 1986 ، أصدر المعهد الأمريكي الوطني للمعايير (ANSI) معيارًا رسميًا أطلق عليه اسم SQL-86. قامت ANSI بتحديث هذا المعيار في عام 1989 إلى SQL-89 ومرة أخرى في عام 1992 إلى SQL-92. مع تقدم بائعي نظم إدارة قواعد البيانات (DBMS) من خلال الإصدارات الجديدة من منتجاتهم ، فإنهم يحاولون تقريب تطبيقاتهم من هذا المعيار. لقد جعل هذا الجهد هدف قابلية نقل SQL الحقيقية أقرب إلى الواقع.

أحدث إصدار كامل من معيار SQL هو SQL: 2016 (ISO / IEC 9075-X: 2016) .. يختلف تطبيق SQL المحدد عن المعيار إلى حد معين. نظرًا لأن معيار SQL الكامل شامل ، فمن غير المرجح أن تدعمه التطبيقات المتاحة حاليًا بشكل كامل. ومع ذلك ، يعمل بائعو DBMS على دعم مجموعة فرعية أساسية من لغة SQL القياسية. يتوفر معيار ISO / IEC الكامل للشراء ، ولكنك ربما لا ترغب في شرائه إلا إذا كنت تنوي إنشاء نظام إدارة قاعدة بيانات ISO / IEC SQL القياسي الخاص بك. المعيار تقني للغاية وغير مفهوم تقريبًا لأي شخص آخر غير عالم لغة الكمبيوتر.

المزيد: 11 من اسهل لغات البرمجة للمبتدئين

المصدر: دميس

شارك المقال:

مقالات ذات صلة

0 0 تصويتات
قيم المقالة
guest
0 تعليقات
Inline Feedbacks
عرض جميع التعليقات