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