SQL در مقابل PL SQL
SQL (زبان پرس و جوی ساختاریافته) زبان استاندارد برای نوشتن پایگاه داده های رابطه ای ورودی است. SQL عبارتهای سادهای است که امکان بازیابی، درج، حذف، بهروزرسانی رکوردها را در صورت نیاز کاربر فراهم میکند. به سادگی این زبان داده گرا برای انتخاب و دستکاری مجموعه ای از داده ها است. PL SQL (زبان رویهای/زبان پرس و جوی ساختاریافته) یک زبان پسوند رویهای برای ورود و دستکاری دادهها توسط اوراکل است.
PL/SQL، توسعه رویه ای اوراکل از SQL، یک زبان برنامه نویسی پیشرفته نسل چهارم (4GL) است. این ویژگیهای مدرن مانند کپسولهسازی دادهها، بارگذاری بیش از حد، انواع مجموعه، مدیریت استثنا و پنهان کردن اطلاعات را ارائه میدهد. PL/SQL همچنین دسترسی یکپارچه SQL، ادغام دقیق با سرور و ابزارهای Oracle، قابلیت حمل و امنیت را ارائه میدهد.»
SQL
زبان پرس و جو ساختاریافته (SQL) که به عنوان "عاقبت" تلفظ می شود، یک زبان کامپیوتری پایگاه داده است که برای مدیریت داده ها در سیستم های مدیریت پایگاه داده رابطه ای (RDBMS) طراحی شده و در اصل بر اساس جبر رابطه ای است.
حوزه اصلی SQL درج داده ها و انجام به روز رسانی، حذف، ایجاد طرحواره، اصلاح طرح و کنترل دسترسی به داده ها در برابر پایگاه های داده است.
SQL دارای عناصری است که به موارد زیر تقسیم می شوند:
Queries - داده ها را بر اساس معیارهای خاص بازیابی کنید. کلمات کلیدی کمی وجود دارد که می توان از آنها در پرس و جو استفاده کرد. (انتخاب، از، کجا، داشتن، گروه بندی بر اساس و مرتب کردن بر اساس)
به عنوان مثال: SELECTFROM table1 WHERE ستون1 > شرط ORDER BY column2;
بیانیه - که ممکن است تراکنش ها، جریان برنامه، اتصالات، جلسات، یا تشخیص را کنترل کند
عبارات - که می تواند یکی را ایجاد کند؛
مقادیر اسکالر
جدول متشکل از ستون ها و ردیف های داده
Predicates -شرایطی را مشخص کنید که میتوانند به SQL Boolean (درست/نادرست/ناشناس) ارزیابی شوند
بندها - اجزای تشکیل دهنده عبارات و پرس و جوها
PL/SQL
PL/SQL (زبان رویه ای/زبان پرس و جوی ساختاریافته) زبان برنامه افزودنی رویه ای شرکت اوراکل برای SQL و پایگاه داده رابطه ای اوراکل است. PL/SQL از متغیرها، شرایط، حلقه ها، آرایه ها، استثناها پشتیبانی می کند. PL/SQL اساساً محفظههای کد را میتوان در پایگاههای داده اوراکل تطبیق داد. بنابراین توسعه دهندگان نرم افزار می توانند واحدهای عملکردی PL/SQL را مستقیماً در پایگاه داده کاشت کنند.
واحدهای برنامه PL/SQL را می توان به صورت زیر تعریف کرد:
بلاک های ناشناس
اساس ساده ترین کد PL/SQL را تشکیل می دهد
توابع
توابع مجموعه ای از دستورات SQL و PL/SQL هستند. توابع یک کار را اجرا می کنند و باید مقداری را به محیط فراخوانی برگردانند.
رویه ها
روشها مانند توابع هستند. برای انجام کار نیز می توان رویه هایی را اجرا کرد. رویه ها را نمی توان در یک دستور SQL استفاده کرد، می تواند چندین مقدار را برگرداند. علاوه بر این، توابع را می توان از SQL فراخوانی کرد، در حالی که رویه ها نمی توانند.
بسته
استفاده از بسته ها استفاده مجدد از کد است. بستهها گروههایی از توابع، رویهها، متغیرها، جدول PL/SQL و دستورات TYPE رکورد، ثابتها و مکاننماها و غیره هستند که از لحاظ نظری به هم مرتبط هستند… بستهها معمولاً دارای دو بخش هستند، یک مشخصات و یک بدنه
دو مزیت بسته ها عبارتند از:
رویکرد مدولار، محصورسازی منطق کسب و کار
استفاده از متغیرهای بسته می تواند در سطوح جلسه اعلام شود
انواع متغیرها در PL/SQL
متغیرها
متغیرهای عددی
متغیرهای کاراکتر
متغیرهای تاریخ
انواع داده برای ستونهای خاص
تفاوت بین SQL و PL/SQL
SQL زبان داده گرا برای انتخاب و دستکاری داده ها است اما PL SQL یک زبان رویه ای برای ایجاد برنامه های کاربردی است.
SQL یک دستور را در یک زمان اجرا می کند در حالی که در PL بلوک کد SQL می تواند اجرا شود.
SQL اعلامی است در حالی که PL SQL رویه ای است.
SQL برای نوشتن کوئری ها، زبان دستکاری داده ها (DML) و زبان تعریف داده (DDL) استفاده می شود، در حالی که PL SQL برای نوشتن بلوک های برنامه، محرک ها، توابع، رویه ها و بسته ها استفاده می شود.
جمع بندی:
SQL زبان پرس و جو ساخت یافته است. در SQL از پرس و جوهای مختلفی برای مدیریت پایگاه داده به روشی ساده استفاده می شود. PL/SQL زبان رویه ای است که شامل انواع مختلفی از متغیرها، توابع و رویه ها می باشد. SQL به توسعه دهنده اجازه می دهد تا یک پرس و جو صادر کند یا هر بار درج/به روز رسانی/حذف را اجرا کند، در حالی که PL/SQL اجازه می دهد تا برنامه کامل را بنویسد تا چندین انتخاب/درج/به روز رسانی/حذف در یک زمان انجام شود. SQL زبان ساده داده گرا است در حالی که زبان برنامه نویسی PL/SQL.