SQL چیست؟

در این درس مختصری به تاریخچه و دلیل بوجود آمدن زبان sql پرداخته شده است و بصورت اجمالی انواع دستورات و نقاط ضعف و قوت آن شرح داده شده است.
جدول محتوا
زبان SQL
قبل از اینکه در مورد ظاهر دستورات sql صحبت کنم، میخواهم مقداری بصورت کلی راجع به زبان sql صحبت کنم. sql یک مخفف است و از Structured Query Language که به معنا زبان پرسوجو ساخت یافته است، گرفته شده. و به طور کلی sql همان SEQUEL با کمی معنا متفاوتتر باید نامیده میشد. برخی هنوز مخفف آنرا sequel تلفظ میکنند و برخی دیگر هر کدام از حروف را جداگانه و تک تک یعنی اس کیو ال تلفظ میکنند، که هر دو آنها یک معنی را دارد.
Sql در سال 1970 توسط شرکت IBM در رابطه با چندین پروژه مرتبط به هم برای ایالت متحده گسترش یافت و آن برای سالهای زیادی فقط یک پروژه ایالتی و فقط در اختیار دولت باقی ماند. برای اولین بار که این محصول فوق العاده قدرتمند در دسترس عموم قرار گرفت، زمانی بود که زبان sql در سال 1979 در اوراکل ورژن 2 استفاده شد و شاید همین باعث شد که اوراکل یکی از برترین سیستمهای پایگاه داده تا به امروز باقی بماند.
انواع دستورات sql
اکثر دستورات sql بر 4 فعل ساده تمرکز دارد.
اولین فعل select است که select یک ابزار است و برای بازیابی داده از دیتابیس مورد استفاده قرار میگیرد و بعد از آن فعل update است.
Update یک یا چند سطر موجود در پایگاه داده را برای ما تغییر میدهد و ویرایش میکند.
فعل سوم Insert است. INSERT یک یا چند سطر جدید را در پایگاه داده ایجاد میکند و آخری delete است که یک یا چند سطر موجود در پایگاه داده را حذف میکند.
Insert و delete همیشه یک سطر را بصورت کامل دستکاری میکنند.
ما فقط میتوانیم که یک ردیف کامل از جدول را حذف کنیم و برای بخشی از سطر نمیتوانیم این کار را انجام بدهیم. تنها دستوری که میتواند بخشی از سطر را دستکاری کند، دستور update است که این دستور میتواند تنها یک یا چند ستون را بروزرسانی کند.
نقاط قوت زبان sql
برخی از نقاط قوت sql شامل فیلتر کردن است، به خصوص زمانی که دستور select اجرا میشود، ما ابزار ساده و در عین حال قدرتمند برای فیلتر کردن نتایجی که برای ما برگردانده و فراخوانی میشوند را خواهیم داشت.
هر نتیجه طبقه بندی شدهای که از یک SQL query برگردانده میشود، براحتی میتواند بصورت صعودی یا نزولی مرتب و طبقه بندی شود و اینکه با جدولهای چندگانه هم میتواند کار کند، که در sql سطح پیچیدگی کار کردن با 2 یا چند جدول نسبت به سطح پیچیدگی کار با یک جدول چندان هم بزرگتر نیست.
نقاط ضعف زبان sql
بزرگترین ضعف sql کنترل جریان و گردش آن است. پایه اس کیو ال استاندارد واقعاً هیچ ساختار تصمیم گیرنده مثل دستور if ندارد و یا اینکه ساختاری حلقهای که توسط آن بخواهیم دستوری را بارها و بارها اجرا کنیم را هم ندارد.
راه حل های عرضه کنندگان sql برای مقابله با نقاط ضعف
بنابراین برخی از فروشندگان با برخی از راه حلهای خاص به عرصه رقابت آمدند. برای مثال مایکروسافت چیزی دارد که T-SQL نامگذاری شده. T-SQL شامل همه دستورات استاندارد SQL برای دستکاری دادهها است و بعلاوه شامل برخی از دستورات اختصاصی است که این دستورات ثابت تی اس کیو ال برای حلقهها و تصمیم گیریها است. بنابراین دستور تصمیم پایهای IF و حلقهای while داخل مایکروسافت با عنوان t-sql شناخته و پیادهسازی شده است.
T در T-SQL مخفف transaction به معنای تراکنش است. بنابراین در آینده نزدیک ما با مایکروسافت T-SQL کار میکنیم. پس ما در درجه اول روی دستورات استاندارد sql تمرکز میکنیم که در اکثر پایگاه دادهها sql را حمایت میکند.