توضيح معنى كلمة MySQL Server وإزالة الغموض

بسم الله الرحمن الرحيم

الحمد لله والصلاة والسلام على رسول الله سيدنا محمد وعلى آله وصحبه أجمعين وبعد .

في الحقيقة طرحت هذا الموضوع لكي أزيل اللبس عن معنى كلمة Server والتي تأتي مع كلمة MySQL دائماً لأنه تم فهمها بشكل خاطئ ومن هذا المنطلق سأوضح أولاً المعنى الحقيقي للغة SQL وبعدها سأشرح معنى كلمة MySQL Server ولا تنسى والدي من الدعاء سائلاً الله جل وعلا أن يكتب أجرها لوالدي رحمه الله تعالى .

ماهي SQL ؟
SQL هي عبارة عن إختصار لـ Structured Query Language وهي عبارة عن لغة تستخدم لإستخراج البيانات من قواعد البيانات حيث يقوم خادم قواعد البيانات بتلقي الأوامر التي تكون مكتوبة بلغة SQL ومن ثم تفسيرها وجلب البيانات بناءاً على تلك الأوامر وتنقسم لغة SQL إلى قسمين أساسين هما :

١- Interactive SQL : وهي عبارة عن طريقة تفاعلية يستخدمها المطورين لكتابة أوامر SQL وتشغيلها بشكل مباشر وعرض النتائج وهناك العديد من البرمجيات التي يتم استخدامها لتسهيل عملية كتابة الإستعلامات ورؤية النتائج بشكل سريع مثل WinSQL, Navicat وغيرها من البرامج العديدة .

٢- Preprogrammed SQL : وهي عبارة عن اوامر SQL يتم كتابتها داخل برامج تكون مكتوبة بلغات اخرى مثل جافا و بايثون وروبي وبي اتش بي وغيرها من اللغات الأخرى والهدف منها هو جعل البرامج التي تكتب على تلك اللغات قادرة على التعامل مع البيانات عن طريق تشغيل أوامر SQL بدون تدخل المستخدم حيث تقوم بتخزين البيانات وعرضها بشكل يتم فيه إخفاء كل تفاصيل تلك العمليات عن المستخدم وينقسم هذا النوع من الأوامر إلى قسمين هما :


أ- Embedded SQL : وهي طريقة تقليدية تستخدم عن طريق دمج كامل للغة SQL في البرنامج الذي تقوم بكتابته على اي لغة اخرى وذلك لكي تدعم التعامل مع قواعد البيانات وهذه كانت هي الطريقة الوحيدة لجعل برنامجك يتعامل مع قواعد البيانات وكانت المشكلة مع هذا النوع هو تضاعف حجم برنامجك والذي ربما لن يستخدم إلا القليل من الإستعلامات .

ب- Call Level Interface -CLI : هذه الطريقة تعتمد وجود واجهة بين قاعدة البيانات وبين البرنامج الذي يريد التعامل مع البيانات وتقوم هذه الواجهة بأخذ أوامر SQL من البرنامج ومن ثم إيصالها إلى قاعدة البيانات والتي بدورها تقوم بتنفيذ الأوامر وإرجاع البيانات أيضاً لهذه الواجهة أيضاً ومن ثم تقوم الواجهة بإرجاع البيانات إلى البرنامج وهي الطريقة المستخدمة حالياً وهي ساعدت أيضاً في تصغير حجم البرامج ومن أشهر الواجهات المستخدمة مع قواعد البيانات هما ODBC- Open Database Connectivity وواجهة JDBC - Java Database Connectivity ويتم وضع احد الواجهتين في أي برنامج يراد منه دعم أي نوع من قواعد البيانات وبهذه الطريقة يتم إرسال الأوامر والبيانات عن طريق هاتين الواجهتين واللتان تشكلان جسر بين قاعدة البيانات أياً كان نوعها وبين برنامج والذي يكون مكتوب على لغة معينة مثل جافا أو بايثون أو بي اتش بي أو روبي أو أي لغة برمجة أخرى تدعم التعامل مع الواجهات.

معنى MySQL Server
تستخدم كلمة Server مع قواعد بيانات MySQL ويظن العديد هنا أن المقصود بكلمة سيرفر هو جهاز كمبيوتر وموجود عليه قواعد بيانات MySQL وهو كلام غير صحيح لأن كلمة سيرفر هنا مقصود بها برنامج MySQL نفسه حيث يعمل البرنامج نفسه كخادم بحيث يقوم باستقبال اوامر SQL التي يكتبها المبرمج او المستخدم او أياً كان ويقوم بتفسيرها ومن ثم يقوم بإحضار البيانات بناءاً على طلب المستخدم ومن هنا يتضح لنا ثلاثة امور اساسية هي :

١- المستخدم : وهو من يقوم بكتابة الأوامر .
٢- الخادم : وهو المقصود بكلمة سيرفر وهو برنامج قواعد البيانات MySQL ولاحظ اننا قلنا برنامج ولم نقل جهاز وهو من يستقبل الأوامر من المستخدم ويقوم بمعالجتها .
٣- مكان البيانات : وهو المكان المحتوي على البيانات المخزنة حيث يقوم الخادم بإستخراج البيانات منه بناءاً على الأوامر التي جاءت له من المستخدم .

ومن هنا يتضح لنا أن كلمة سيرفر تمثل برنامج يقوم بخدمة المستخدم عن طريق تفسير اوامر SQL وجلب البيانات بناءاً على الأوامر أو بكلام أخر هو عبارة عن واسطة بين المستخدم والبيانات .

وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن اصبت فمن الله عز وجل .

تحياتي