حتی اگر هوش مصنوعی مولد SQL را پشت پرده پنهان کند، همچنان نقش مهمی در نحوه تعامل و استفاده ما با داده ها ایفا می کند.
در ماه مه ۱۹۷۴، دونالد چمبرلین و ریموند بویس مقاله را در SEQUEL منتشر کردند. زبان پرس و جو ساخت یافته که می تواند برای مدیریت و مرتب سازی داده ها استفاده شود. پس از تغییر عنوان به دلیل حق چاپ شرکت دیگری بر روی کلمه SEQUEL، زبان پرس و جو ساختاریافته (SQL) توسط شرکت های پایگاه داده مانند Oracle در کنار محصولات پایگاه داده رابطه ای جدیدشان در اواخر دهه ۱۹۷۰ مورد استفاده قرار گرفت. بقیه، همانطور که می گویند، تاریخ است.
SQL اکنون ۵۰ ساله است. SQL طراحی و سپس در اطراف پایگاه های داده به کار گرفته شد و به عنوان راهی برای مدیریت و تعامل با داده ها به رشد و توسعه ادامه داد. طبق Stack Overflow، این زبان سومین زبان محبوب است. توسط برنامه نویسان حرفه ای به طور منظم استفاده می شود. در سال ۲۰۲۳، IEEE اشاره کرد که SQL محبوب ترین زبان برای توسعه دهندگان است. به دلیل اینکه چگونه می توان آن را با سایر زبان های برنامه نویسی ترکیب کرد، بدانید که چه زمانی کار به دست می آید.
وقتی به سایر زبانهای قدیمیتر که امروزه استفاده میشوند نگاه میکنید، زبانهایی مانند COBOL (راهاندازی شده در سال ۱۹۵۹) و FORTRAN (اولین بار در سال ۱۹۵۸ جمعآوری شد) همچنان ادامه دارند. در حالی که آنها می توانند به نقش هایی با درآمد خوب منجر شوند، به جای پروژه های جدید و هیجان انگیز، به استقرارهای قدیمی موجود مرتبط هستند. از سوی دیگر، SQL همچنان به عنوان بخشی از کار در مورد هوش مصنوعی، تجزیه و تحلیل و توسعه نرم افزار استفاده می شود. همچنان استانداردی برای نحوه تعامل ما با داده ها به صورت روزانه است.
چرا SQL هنوز اینقدر مهم است؟
وقتی به SQL نگاه میکنید، ممکن است بپرسید که چرا برای مدت طولانی زنده مانده و حتی رشد کرده است. مطمئناً یادگیری آن آسان نیست، زیرا نحوی عجیب و غریب دارد که بیشتر زمان آن است. تجربه کاربری در مورد SQL می تواند برای توسعه دهندگان جدید چالش برانگیز باشد. علاوه بر این، هر فروشنده پایگاه داده باید از SQL پشتیبانی کند، اما هر کدام نیز در نحوه اجرای این پشتیبانی، خصیصه ها یا تفاوت های ظریف خود را دارند. در نتیجه، رویکرد شما برای یک پایگاه داده ممکن است به راحتی به پایگاه داده دیگری ترجمه نشود، که منجر به کار بیشتر و نیازهای پشتیبانی بیشتر می شود.
برای بدتر شدن اوضاع، اشتباهاتی در SQL آسان است که می تواند عواقب واقعی و بالقوه فاجعه بار داشته باشد. به عنوان مثال، از دست دادن یک بند WHERE
در دستورالعملهای شما میتواند باعث شود که به جای انجام تراکنش مورد نظر خود، کل جدول را حذف کنید و منجر به از دست رفتن دادهها و کار بازیابی شود. بررسی منطق خود و دانستن اینکه کارها در عمل چگونه کار می کنند یک نیاز ضروری است.
پس چرا SQL امروزه، ۵۰ سال پس از اولین طراحی و انتشار، همچنان راه پیشرو برای کار با داده است؟ SQL مبتنی بر تئوری قوی ریاضی است، بنابراین به عملکرد مؤثر خود ادامه می دهد و از موارد استفاده ای که برای آن طراحی شده است پشتیبانی می کند. حقیقت این است که وقتی SQL را با پایگاههای داده رابطهای ترکیب میکنید، میتوانید دادههایی را که ایجاد میکنید – و نحوه مدیریت آن دادهها – را به روشی قابل اعتماد، مؤثر و مقیاسپذیر در بسیاری از شیوههای تجاری ترسیم کنید. به زبان ساده، SQL کار می کند، و هیچ گزینه جایگزینی به همین صورت اندازه گیری نشده است.
به عنوان مثال، SQL اولین زبان برنامه نویسی بود که در هر درخواست، چندین ردیف را برگرداند. این باعث میشود که دادههایی در مورد آنچه در مجموعهای از دادهها اتفاق میافتد – و در نتیجه، در کسبوکار و برنامههای آن – و سپس تبدیل آن به چیزی که کسبوکار میتواند از آن استفاده کند، آسانتر میکند. به طور مشابه، SQL تقسیم و تفکیک اطلاعات در جداول مختلف و سپس استفاده از دادههای موجود در آن جداول را برای کارهای تجاری خاص، مانند قرار دادن دادههای مشتری در یک جدول و تولید دادهها در جدول دیگر، آسانتر کرد. توانایی انجام تراکنشها ستون فقرات اکثر فرآیندهای امروزی است و SQL این امکان را در مقیاس بزرگ فراهم کرده است.
یکی دیگر از دلایل مهم موفقیت SQL این است که زبان همیشه با زمان حرکت کرده است. از ریشه های رابطه ای خود، SQL در طول سال ها پشتیبانی از داده های سیستم اطلاعات جغرافیایی (GIS)، اسناد JSON، و برای XML و YAML اضافه کرده است. این باعث شده است که SQL با نحوه تعامل توسعهدهندگان با دادهها بهروز باشد. اکنون میتوان SQL را با دادههای برداری ترکیب کرد و به توسعهدهندگان این امکان را میدهد تا با استفاده از SQL با دادهها تعامل داشته باشند، اما جستجوهای برداری را برای برنامههای هوش مصنوعی مولد
انجام دهند.
آینده SQL چیست؟
در گذشته تلاش هایی برای جایگزینی SQL صورت گرفته است. پایگاههای داده NoSQL (نه تنها SQL) برای جایگزینی پایگاههای داده رابطهای و دور شدن از مدلهای سنتی کار با دادهها و مدیریت آن در مقیاس توسعه داده شد. با این حال، این پایگاههای داده به جای جایگزینی SQL، زبانهای SQL مانند خود را اضافه کردند که برخی از روشها و رویکردهایی را که SQL در نحوه کار توسعهدهندگان گنجانده است، تکرار میکند.
در گذشته، طرفداران پردازش زبان طبیعی خواستار روشهای جدیدی شدهاند که رویکرد استاندارد شده و بیمعنای SQL را از بین میبرد. با این حال، این تلاشها به روشهایی ختم شد که به همان اندازه که سعی کردند جایگزین آنها شوند، سخت بودند، که منجر به کنار گذاشته شدن یا نادیده گرفتن آنها شد. هوش مصنوعی مولد ممکن است بیشتر وظیفه نوشتن SQL را برای توسعه دهندگان بر عهده بگیرد، زیرا مدل های زبان بزرگ به عنوان بخشی از آموزش آنها در معرض مقادیر زیادی کد SQL قرار گرفته اند. با این حال، در حالی که این رویکرد ممکن است در زمان توسعه پیدا کند و محبوبتر شود، همچنان برای تعامل واقعی با آن مجموعه دادهها و ارائه نتایج به کاربر بر SQL متکی است. در هر صورت، این احتمالاً SQL را برای آینده مهم تر خواهد کرد، نه کمتر، حتی اگر کمتر برای توسعه دهنده قابل مشاهده باشد.
حتی اگر SQL در نهایت در پشت پرده حرکت کند، همچنان نقش مهمی در نحوه تعامل و استفاده ما با داده ها ایفا می کند. با چنین درصد عظیمی از تمام سیستمهای فناوری اطلاعات ما که برای عملکرد به دادهها متکی هستند، SQL به این زودیها از بین نخواهد رفت. بنابراین، بیایید ۵۰ سالگی SQL را جشن بگیریم و در نظر بگیریم که چگونه میتوانیم به توسعه و استفاده از آن در آینده ادامه دهیم.
چارلی باتیستا رهبر فنی PostgreSQL در پرکونا.
—
انجمن فناوری جدید مکانی را برای رهبران فناوری – از جمله فروشندگان و سایر مشارکتکنندگان خارجی – فراهم میکند تا فناوری سازمانی نوظهور را در عمق و وسعت بیسابقه بررسی و بحث کنند. انتخاب ذهنی است، بر اساس انتخاب ما از فناوری هایی که معتقدیم مهم هستند و برای خوانندگان InfoWorld بیشترین علاقه را دارند. InfoWorld وثیقه بازاریابی را برای انتشار نمی پذیرد و حق ویرایش تمام محتوای ارائه شده را برای خود محفوظ می دارد. همه پرس و جوها را به doug_dineley@foundryco.com.
پست های مرتبط
SQL در ۵۰: بعدی برای زبان پرس و جو ساختاریافته چیست؟
SQL در ۵۰: بعدی برای زبان پرس و جو ساختاریافته چیست؟
SQL در ۵۰: بعدی برای زبان پرس و جو ساختاریافته چیست؟