لغة SQL المضمنة
لغة SQL المضمنة هي طريقة تجمع بين قوة الحوسبة للغة برمجة معينة وقدرات معالجة قواعد البيانات للغة SQL . تُكتب عبارات SQL المضمنة مباشرةً ضمن شفرة المصدر للبرنامج ، أي بلغة البرمجة المضيفة. يقوم معالج SQL مسبق مضمن بتحليل هذه العبارات واستبدالها باستدعاءات من مكتبة برمجية بلغة البرمجة المضيفة. ثم يقوم مُجمِّع البرنامج المضيف بتجميع مخرجات المعالج المسبق . يُمكّن هذا المبرمجين من تضمين عبارات SQL في برامج مكتوبة بلغات متعددة مثل C/C++ و COBOL و Fortran . يختلف هذا عن لغات البرمجة المشتقة من SQL التي لا تستخدم معالجات مسبقة منفصلة، مثل PL/SQL و T-SQL .
حددت لجنة معايير SQL معيار SQL المضمن على مرحلتين: تم تعريف لغة نمطية تُسمى لغة الوحدات ، ثم تم اشتقاق معيار SQL المضمن من لغة الوحدات. [ 1 ] يُعرّف معيار SQL تضمين SQL على أنه SQL مضمن ، وتُسمى اللغة التي تُضمّن بها استعلامات SQL باللغة المضيفة . تُعد لغة C من اللغات المضيفة الشائعة. على سبيل المثال، تُسمى لغة C المضيفة وSQL المضمن Pro*C في أنظمة إدارة قواعد البيانات Oracle و Sybase ، وESQL/C في Informix ، و ECPG في نظام إدارة قواعد البيانات PostgreSQL . يمكن أيضًا تضمين SQL في لغات مثل PHP وغيرها.
يتوفر معيار SQL :2023 للشراء ويتضمن الفصل 21 الخاص بلغة SQL المضمنة وقواعد بناء الجملة الخاصة بها. [ 2 ]
أنظمة قواعد البيانات التي تدعم لغة SQL المضمنة
ألتيبيس
- لغة C/C++
- APRE هو برنامج تجميع SQL مضمن مقدم من شركة Altibase Corp. لخادم DBMS الخاص بها.
قاعدة بيانات IBM Db2
يدعم IBM Db2 لأنظمة Linux و UNIX و Windows لغة SQL المضمنة للغات C و C++ و Java و COBOL و FORTRAN و REXX، على الرغم من أن دعم FORTRAN و REXX قد تم إيقافه. [ 3 ]
برنامج IBM Informix
يدعم برنامج IBM Informix الإصدار 14.10 لأنظمة Linux و Unix و Windows لغة SQL المضمنة للغة C. [ 4 ]
خادم مايكروسوفت SQL
- لغة C/C++
- تم إيقاف دعم لغة SQL المضمنة للغة C اعتبارًا من Microsoft SQL Server 2008 على الرغم من أن الإصدارات السابقة من المنتج تدعمها. [ 5 ]
Mimer SQL
يدعم برنامج Mimer SQL لأنظمة Linux و macOS و OpenVMS و Windows لغة SQL المضمنة. [ 6 ]
- لغة C/C++
- يتم دعم لغة SQL المضمنة للغة C/C++ على أنظمة Linux و macOS و OpenVMS و Windows.
- كوبول
- يدعم نظام التشغيل OpenVMS لغة SQL المضمنة للغة COBOL.
- فورتران
- يدعم نظام التشغيل OpenVMS لغة SQL المضمنة للغة Fortran.
قاعدة بيانات أوراكل
- آدا
- أوقفت أوراكل رسميًا دعم لغة Pro*Ada في الإصدار 7.3. بدءًا من Oracle8، استُبدلت Pro*Ada بلغة SQL*Module، ولكن يبدو أنها لم تُحدَّث منذ ذلك الحين. [ 7 ] SQL*Module هي لغة برمجة نمطية تُقدِّم أسلوب برمجة مختلفًا عن SQL المضمن. تدعم SQL*Module معيار لغة Ada83 للغة Ada.
- لغة C/C++
- أصبح Pro*C هو Pro*C/C++ مع Oracle8. يتم دعم Pro*C/C++ حاليًا بدءًا من Oracle Database 11g .
- كوبول
- يدعم برنامج Pro*COBOL حاليًا بدءًا من قاعدة بيانات Oracle 11g .
- فورتران
- لم يعد يتم تحديث لغة Pro*FORTRAN اعتبارًا من Oracle8، لكن Oracle ستواصل إصدار تحديثات تصحيحية عند الإبلاغ عن الأخطاء وتصحيحها. [ 8 ]
PostgreSQL
- لغة C/C++
- يُعد ECPG جزءًا من PostgreSQL منذ الإصدار 6.3.
- كوبول
- تقوم شركة Cobol-IT الآن بتوزيع برنامج مُترجم COBOL مُسبقًا لـ PostgreSQL
- توفر شركة Micro Focus الدعم من خلال معالج OpenESQL المسبق الخاص بها
SAP Sybase
يدعم SAP Sybase ASE 15.7 لغة SQL المضمنة للغة C و COBOL كجزء من مجموعة أدوات تطوير البرامج Sybase . [ 9 ]
يدعم SAP Sybase SQL Anywhere لغة SQL المضمنة للغة C و C++ كجزء من نظام إدارة قواعد البيانات SQL Anywhere . [ 10 ]
يدعم SAP Sybase IQ لغة SQL المضمنة للغة C و C++ كجزء من نظام إدارة قواعد البيانات Sybase IQ . [ 11 ]
لغة SQL المضمنة من خلال لغات خاصة بالمجال
- تقوم تقنية LINQ-to-SQL بتضمين لغة تشبه لغة SQL في لغات .NET .
- تقوم JPA بتضمين لغة تشبه لغة SQL من خلال واجهة برمجة تطبيقات Criteria في Java .
- تقوم مكتبة jOOQ بتضمين لغة شبيهة بلغة SQL في لغة Java .
انظر أيضاً
مراجع
- ↑ "مفهوم لغة الوحدات النمطية" . دليل مبرمج SQL*Module للغة Ada، الإصدار 8.0، الفصل 1. مقدمة إلى SQL*Module . شركة أوراكل . تم الاطلاع عليه بتاريخ 14 يوليو 2008 .
- ↑ "معيار SQL لعام 2023، الفصل 21: SQL المضمن" . ISO/IEC 9075-2:2023 تكنولوجيا المعلومات - لغات قواعد البيانات - SQL - الجزء 2: الأساسيات (SQL/Foundation) . ISO . تاريخ الاسترجاع: 17 أغسطس 2023 .
- ↑ "قاعدة بيانات DB2 لأنظمة Linux و UNIX و Windows" . تطوير تطبيقات SQL المضمنة . IBM . تم الاطلاع عليه بتاريخ 10 أبريل 2009 .
- ↑ "خادم Informix الديناميكي" . IBM® Informix® ESQL/C . IBM . تم الاطلاع عليه بتاريخ 31-03-2020 .
- ↑ "ميزات محرك قاعدة البيانات المهملة في SQL Server 2008" . كتب SQL Server 2008 على الإنترنت (مارس 2009) . مايكروسوفت . تم الاطلاع عليه بتاريخ 10 أبريل 2009 .
- ↑ "لغة SQL المضمنة" . أحدث إصدار من دليل مبرمج Mimer SQL، لغة SQL المضمنة . Mimer SQL .
- ↑ "دعم لغة Ada في الإصدار 8" . ترحيل قاعدة بيانات Oracle9i، الإصدار 2 (9.2)، الفصل 5. التوافق وقابلية التشغيل البيني . شركة أوراكل . تم الاطلاع عليه بتاريخ 14 يوليو 2008 .
- 1 2 3 "بدائل اللغة" . دليل مبرمج مُترجم Pro*COBOL المسبق، الإصدار 8.0، الفصل 1. مقدمة . شركة أوراكل . تم الاطلاع عليه بتاريخ 14 يوليو 2008 .
- ↑ "EmbeddedSQL" . منتجات SAP Sybase . SAP Sybase. مؤرشف من الأصل بتاريخ 23-10-2009 . تم الاطلاع عليه بتاريخ 05-09-2012 .
- ↑ "SAP Sybase SQL Anywhere" . منتجات SAP Sybase . SAP Sybase. مؤرشف من الأصل بتاريخ 1 مايو 2013. تم الاطلاع عليه بتاريخ 2 مايو 2013 .
- ↑ "SAP Sybase IQ" . منتجات SAP Sybase . SAP Sybase. مؤرشف من الأصل بتاريخ 4 مايو 2013. تم الاطلاع عليه بتاريخ 2 مايو 2013 .
روابط خارجية
- SQL
- لغات البرمجة التصريحية
- لغات الاستعلام
- لغات نمذجة البيانات
- واجهات برمجة تطبيقات قواعد البيانات
- الوصول إلى بيانات SQL
