Querying

زبان SQL چیست؟

نیم قرن پیش وقتی که کاد، برای اولین بار پایگاه داده رابطه ای را معرفی کرد احتمالا کسی تصور گسترش و پیشرفت این تکنولوژی را تا امروز نمی کرد. پنجاه سال گذشته است و خیلی از تکنولوژی ها، معماری ها، زبان های برنامه نویسی و … طلوع کرده، به اوج رسیده و غروب کرده اند. اما همچنان پایگاه داده رابطه ای یکه تازی می کند و برای بسیاری از اهالی دنیای تکنولوژی اطلاعات شیرین و جذاب هستند.

ادگار کاد - سازنده پایگاه داده رابطه ای
Edgar Frank “Ted” Codd
2003 – 1923

جای دیگر و در مطلبی دیگر به معرفی و بررسی این نوع از پایگاه های داده ای خواهیم پرداخت، ولی امروز قرار است که به زبان مشترک پایگاه داده رابطه ای بپردازیم. چند سالی (یا بهتر است که دقیق تر بگویم 4 سال) بعد از اینکه کاد شاهکار خود را معرفی کرد، دو دانشمند همکار او در IBM به نام های Donald Chamberlin و Raymond Boyce اولین نسخه از زبان SEQUEL (بخوانید: سی کو ئل – مخفف: Structured English QUEry Language) را منتشر کردند.

این زبان برای برقراری ارتباط با System R (اولین تلاش شرکت IBM برای پیاده سازی یک پایگاه داده رابطه ای) طراحی شده بود. نام SEQUEL بعد ها به دلیل مسایل برندینگ به SQL (بخوانید: اس کیو ال – مخفف: Structured Query Language) تغییر کرد. با ارایه نسخه های مختلف از پایگاه داده رابطه ای توسط شرکت های مختلفی مانند IBM و Relational Software (اوراکل سابق) به منظور جلوگیری از هرج و مرج و ایجاد زبان های مختلف، طی سال های 1986 و 1987 دو موسسه ANSI و ISO وظیفه استاندارد سازی این زبان را به عهده گرفتند.

دونالد چمبرلین - سازنده زبان SQL
Donald D. Chamberlin

زبان SQL برای یک هدف مشخص طراحی شده است: کویری بر روی پایگاه داده رابطه ای. این زبان set-based است ( بر وی مجموعه ها کار می کند) و زیرمجموعه زبان های توصیفی (declarative) قرار می گیرد و مانند زبان های خانواده C یک زبان رویه ای (procedural) نمی باشد.

با ارایه پایگاه داده رابطه ای توسط شرکت های مختلف، مشتقات مختلفی از زبان SQL توسط این شرکت ها ارایه شد که در جدول زیر قسمتی از این مشتقات را می بینیم.

نام کامل زبان زبان پایگاه داده
Transact-SQL T-SQL Microsoft SQL Server
Procedural Language/SQL PL/SQL Oracle
SQL Procedural Language (implements SQL/PSM) SQL PL IBM DB2
SQL/Persistent Stored Module SQL/PSM MySQL
Procedural Language/PostgreSQL Structured Query Language PL/pgSQL PostgreSQL
SQLScript SQLScript SAP HANA
Stored Procedural Language SPL Teradata

این مشتقات نکات مشترک زیادی دارند و همگی براساس زبان SQL استاندارد طراحی شده اند. این به معنای آن است که شما با یادگیری یکی از این مشتقات، با کمی تلاش می توانید با انوع دیگر پایگاه داده رابطه ای نیز کار کنید.

دستورات زبان SQL به صورت غیررسمی به چندین زیر-زبان تقسیم بندی می شوند که هر کدام کاربرد متفاوتی نسبت به دیگری دارند:

زبان نام کامل زبان توضیح نمونه دستور
DQL Data Query Language خواندن اطلاعات SELECT
DDL Data Definition Language تغییر ساختار پایگاه داده CREATE ALTER DROP
DML Data Manipulation Language تغییر اطلاعات پایگاه داده INSERT UPDATE DELETE
DCL Data Control Language کنترل دسترسی به اطلاعات GRANT REVOKE
TCL Transaction Control Language کنترل تراکنش ها BEGIN TRAN COMMIT ROLLBACK

در مطلب بعد به برسی زبان T-SQL که زبان اختصاصی Microsoft SQL Server هست می پردازیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید

بستن
دکمه بازگشت به بالا
بستن
بستن