اس کیو ال SQL(زبان برنامه نویسی back-link)
در این مقاله که توسط طراحی سایت شرکت طراح برتر جمع آوری و ترجمه شده است اطلاعاتی راجع به زبان برنامه نویسی اس کیو ال (SQL) که در گروه زبان های بکند قرار میگیرد ارائه میدهیم
SQL یک زبان خاص دامنه است که در برنامه نویسی استفاده می شود و برای مدیریت داده های نگهداری شده طراحی شده است. در یک سیستم مدیریت پایگاه داده رابطه ای (RDBMS) یا برای پردازش جریان در یک سیستم مدیریت جریان داده رابطه ای (RDSMS). این امر خصوصاً در مدیریت داده های ساختاریافته ، از جمله داده های دارای روابط بین موجودیت ها و متغیرها بسیار مفید است.
SQL دو مزیت اصلی نسبت به API های خواندن-نوشتن قدیمی مانند ISAM یا VSAM دارد. در مرحله اول ، مفهوم دستیابی به بسیاری از رکوردها با یک دستور واحد را معرفی کرد. در مرحله دوم ، نیاز به مشخص کردن نحوه دستیابی به رکورد را از بین می برد ، به عنوان مثال با یا بدون فهرست.
در اصل بر اساس جبر رابطه ای و حساب رابطه ای توپل ، SQL شامل انواع مختلفی از عبارات است ، که ممکن است به طور غیر رسمی به عنوان زبانهای فرعی طبقه بندی شود ، معمولاً: یک زبان پرس و جو داده (DQL) ، [a] یک زبان تعریف داده (DDL) ، [b] یک زبان کنترل داده (DCL) و یک زبان دستکاری داده (DML). [c]
دامنه SQL شامل جستجوی داده ، دستکاری داده ها (درج ، به روزرسانی و حذف) ، تعریف داده ها (ایجاد طرحواره ) و کنترل دسترسی به داده ها. اگرچه SQL اساساً یک زبان اعلامی (4GL) است ، اما شامل عناصر رویه ای نیز می باشد.
اس کیو ال اولین زبان های تجاری
طراحی سایت طراح برتر: SQL یکی از اولین زبانهای تجاری بود که از مدل رابطه ای Edgar F. Codd استفاده کرد. این مدل در مقاله تأثیرگذار 1970 خود ، “یک مدل رابطه ای داده برای بانک های داده بزرگ به اشتراک گذاشته شده” توصیف شده است. علیرغم اینکه کاملاً به مدل رابطه ای که توسط كد توصیف شده است ، پایبند نبود ، به پرکاربردترین زبان پایگاه داده تبدیل شد.
SQL در سال 1986 به استاندارد موسسه استاندارد ملی آمریكا (ANSI) و در سال 1987 به سازمان بین المللی استاندارد (ISO) تبدیل شد. از آن زمان این استاندارد مورد تجدید نظر قرار گرفت و شامل مجموعه وسیع تری از ویژگی ها بود. علی رغم وجود استانداردها ، اکثر کدهای SQL قبل از انتقال به سیستم های مختلف پایگاه داده ، حداقل به برخی تغییرات نیاز دارند.
بررسی اجمالی اس کیو ال
پیاده سازی SQL بین فروشندگان ناسازگار است و لزوماً کاملاً از استانداردها پیروی نمی کند. به طور خاص نحو تاریخ و زمان ، اتصال رشته ، NULL ها و حساسیت مورد مقایسه از فروشنده ای به فروشنده دیگر متفاوت است. استثناهای خاص PostgreSQL و Mimer SQL هستند که برای رعایت استانداردها تلاش می کنند ، اگرچه PostgreSQL در نحوه جمع کردن نام های بدون عنوان به استاندارد پایبند نیست. تا خوردن نام های نقل نشده به حروف کوچک در PostgreSQL با استاندارد SQL سازگار نیست ، که می گوید نام های بدون نقل قول باید به حروف بزرگ تا شوند. بنابراین ، Foo باید مطابق با استاندارد FOO باشد نه طبق استاندارد.
طراحی سایت طراح برتر: پیاده سازی های معروف SQL معمولاً پشتیبانی از ویژگی های اساسی SQL استاندارد ، مانند انواع داده های DATE یا TIME را حذف می کنند. بارزترین نمونه های این چنینی ، و اتفاقاً مشهورترین DBMS های SQL تجاری و اختصاصی ، Oracle (که DATE آن مانند DATETIME رفتار می کند و فاقد نوع TIME است ») و MS SQL Server (قبل از نسخه 2008) ) در نتیجه ، کد SQL به ندرت می تواند بدون تغییر در سیستم های پایگاه داده منتقل شود.
دلایل ناسازگاری
دلایل مختلفی برای این عدم قابلیت جابجایی بین سیستم های پایگاه داده وجود دارد:
پیچیدگی و اندازه استاندارد اس کیو ال به این معنی است که اکثر پیاده سازها از کل استاندارد پشتیبانی نمی کنند.استاندارد رفتار پایگاه داده را در چندین زمینه مهم (به عنوان مثال شاخص ها ، ذخیره سازی پرونده …) مشخص نمی کند ، و پیاده سازی ها را برای تصمیم گیری در مورد نحوه رفتار واگذار می کند.استاندارد SQL نحوي را كه يك سيستم پايگاه داده سازگار بايد اجرا كند ، دقيقا مشخص مي كند. با این حال ، مشخصات استاندارد در مورد معانی ساختاری زبان کمتر تعریف شده است و منجر به ابهام می شود.
طراحی سایت طراح برتر: بسیاری از فروشندگان بانک اطلاعاتی دارای پایگاه مشتری گسترده ای هستند. در مواردی که نسخه جدیدتر استاندارد اس کیو ال با رفتار قبلی پایگاه داده فروشنده در تعارض باشد ، فروشنده ممکن است تمایلی به شکست سازگاری عقب مانده نداشته باشد.انگیزه تجاری کمی برای فروشندگان وجود دارد که تغییر کاربری تأمین کنندگان پایگاه داده را برای کاربران آسان تر می کند (مراجعه به قفل فروشنده).کاربرانی که نرم افزار پایگاه داده را ارزیابی می کنند ، عوامل دیگری مانند عملکرد را بالاتر از انطباق استاندارد در اولویت های خود قرار می دهند.
طرح
SQL به طرق مختلفی از مبانی نظری خود ، مدل رابطه ای و حساب تاپل آن منحرف می شود. در آن مدل ، یک جدول مجموعه ای از tuples است ، در حالی که در SQL ، جداول و نتایج پرس و جو لیست ردیف ها هستند: یک ردیف ممکن است چندین بار اتفاق بیفتد ، و ترتیب ردیف ها می تواند در query ها استفاده شود (به عنوان مثال در بند LIMIT) . منتقدان معتقدند که SQL باید با زبانی جایگزین شود که دقیقاً به مبانی اصلی بازگردد: برای مثال ، به مانیفست سوم مراجعه کنید. با این حال ، هیچ مدرک شناخته شده ای وجود ندارد که چنین منحصر به فردی را نمی توان به خود SQL یا حداقل گونه ای از SQL افزود.
طراحی سایت طراح برتر: به عبارت دیگر ، کاملاً امکان پذیر است که اس کیو ال از این نظر “ثابت” یا حداقل بهبود یابد ، به طوری که صنعت مجبور نباشد برای بدست آوردن منحصر به فرد بودن ، به یک زبان پرس و جو کاملاً متفاوت بپردازد. بحث در این مورد همچنان باز است.
دکتر فاطمه رجبی