امروزه، دادهها یکی از باارزشترین سرمایههای سازمانها و شرکتها محسوب میشوند. با استفاده از تحلیل دادهها میتوان به دلایل سود و زیان سازمانها پی برد و براساس اطلاعات کسب شده از آنها، راهحلهای مفیدی را به منظور پیشرفت در مسیر تجارت ارائه داد. یکی از ابزارهای مهم و کاربردی به منظور پردازش دادهها، دستکاری آنها و ارائه گزارش بر اساس دادههای ذخیره شده در «پایگاه دادهها» (Databases | DBs)، «زبان پرس و جوی ساختاریافته | اس کیو ال» (Structured Query Language | SQL) است.
داده و اطلاعات چیست ؟
برای پاسخ به این سوال که SQL چیست در ابتدا باید به توضیح مفهوم (داده) پرداخته شود زیرا از زبان SQL به منظور دستیابی به دادهها و تغییر آنها استفاده میشود. دادهها، اطلاعات خامی هستند که از منابع مختلفی در قالبهای متفاوتی نظیر عدد، متن، صوت و عکس جمعآوری شده باشند. در حیطه علوم کامپیوتر، دادهها به اعداد باینری (دودویی) تبدیل میشوند تا بتوان آنها را بهصورت کارآمد پردازش کرد. داده در حوزه مفاهیم مربوط به پایگاه داده، به تمامی موارد ذخیره شده در قالب جدول در پایگاه داده اتلاق میشود. به عنوان مثال، جدولی با عنوان «مشتری» میتواند دارای ستونی با عنوان «شماره تلفن» باشد که نوع داده آن از نوع متن است و در این ستون صرفاً میتوان فقط دادههای متنی را ذخیره کرد.
دادهها، در پایگاه داده به شکل خام ذخیره میشوند و زمانی که از دادهها گزارشی تهیه میشود یا پردازشی برروی این دادهها اعمال میشود، نتیجه نهایی در قالب «اطلاعات» (Information) در اختیار کاربر قرار میگیرد. به عنوان مثال، جدولی با عنوان «حساب بانکی» که شامل ستونهایی نظیر «نام مشتری»، «نوع حساب»، «موجودی حساب»، «شماره تماس» و «آدرس» است، دادههای خام مشتریان را در قالب «رکورد» (Record) یا سطرهای جدول ذخیره میکند.
زمانی که نیاز باشد اطلاعات حسابهای مشتریانی استخراج شود که نوع حساب آنها سپرده کوتاهمدت است، به نتیجه این گزارش، اطلاعات گفته میشود که اطلاعات مفیدی را برای بررسی و تحلیلهای بعدی در اختیار کاربر قرار میدهد. در ادامه، به توضیح پایگاه داده و نحوه ذخیرهسازی داده در آن پرداخته میشود.
پایگاه داده چیست ؟
پیش از شرح پاسخ سوال SQL چیست لازم است ابتدا به این سوال پرداخته شود که پایگاه داده چیست زیرا از زبان اس کیو ال به منظور مدیریت و اعمال تغییرات روی جدولهای پایگاه داده استفاده میشود.
به مجموعهای از اطلاعات خام یا دادههای ساختیافته که بهصورت الکترونیکی در سیستم کامپیوتری ذخیره شده باشد، پایگاه داده، دیتابیس یا بانک اطلاعاتی گفته میشود. به عبارتی، میتوان پایگاه داده را به شکل یک کتابخانه درنظر گرفت که میتوان در آن، کتابهای مختلفی را نگهداری کرد. در این مثال، دادهها، کتابهای کتابخانه هستند.
دادهها در قالب سطر و ستون و به شکل جدول در پایگاه داده ذخیره میشوند (در اینجا، منظور از جدول، صرفاً جداول موجود در پایگاه داده رابطهای است) تا امکان انجام عملیات پردازش و پرس و جو (کوئری زدن) روی دادهها فراهم شود. با استفاده از زبان SQL میتوان بهراحتی به دادهها دسترسی داشت و آنها را مدیریت، تغییر، بهروزرسانی، کنترل و سازماندهی کرد و تغییرشان داد.
در اوایل دهه 1960، اولین پایگاه دادهها ارائه شدند که شامل دو نوع «پایگاه داده مبتنیبر ردیابی» (Navigational Database) و «پایگاه داده شبکهای» (Network Database) بودند.
- پایگاه داده مبتنیبر ردیابی: پایگاه دادههای سلسلهمراتبی نوعی از پایگاه دادههای مبتنیبر ردیابی محسوب میشوند. ساختار این نوع پایگاه دادهها به شکل درخت است و رکوردها (Records) را در آن میتوان با دنبال کردن ارجاعات رکوردها پیدا کرد. در این نوع پایگاه دادهها تنها از روابط یک به چند برای ایجاد رابطه بین جدولها استفاده میشود.
- پایگاه داده شبکهای: در این نوع پایگاه داده، مدلسازی «موجودیت» (Entity) به نحوی است که هر «موجودیت فرزند» (Child Entity) میتواند دارای بیش از یک «موجودیت والد» (Parent Entity) باشد.
با اینکه کار با این دو نوع پایگاه داده آسان بود، اما آنها از قابلیت انعطافپذیری بالایی برخوردار نبودند. به همین خاطر، در دهه 1980، «پایگاه داده رابطهای» (Relational Database) مطرح شد که در ادامه به توضیح آن پرداخته میشود.
پایگاه داده رابطه ای
پایگاه داده رابطه ای چیست ؟
پاسخ به پرسش «زبان SQL چیست» به درک مفهوم پایگاه داده رابطهای نیز نیاز دارد. پایگاه داده رابطهای نوعی از پایگاه داده است که از آن میتوان به منظور ذخیره کردن دادهها در چندین جدول به هم مرتبط، استفاده کرد. ساختار پایگاه داده رابطهای مشابه با صفحات گسترده نرمافزار اکسل (Excel) است. جدولهای پایگاه داده را میتوان همان «لایههای گسترده» (Sheets) برنامه اکسل درنظر گرفت. هر جدول در پایگاه داده شامل سطر و ستونهایی است که سطرها مقادیر دادهها و ستونها «مشخصهها» (Attributes) را نشان میدهند. به منظور دسترسی به پایگاه دادهها و استفاده از زبان SQL برای انجام پردازش برروی دادهها، از «سیستم مدیریت پایگاه داده» (Database Management System | DBMS) استفاده میشود.
سیستم مدیریت پایگاه داده چیست ؟
برای رسیدن به پاسخ پرسش «زبان SQL چیست و چه کاربردی دارد»، باید به مفهوم سیستم مدیریت پایگاه داده و ارتباط آن با زبان SQL نیز پی برد. سیستم مدیریت پایگاه داده نرمافزاری است که آن را میتوان برروی کامپیوتری شخصی یا سرور نصب و از آن برای مدیریت پایگاه دادهها استفاده کرد.
یکی از انواع سیستمهای مدیریت پایگاه داده، «سیستم مدیریت پایگاه داده رابطهای» (Relational Database Management System | RDBMS) نام دارد که از آن به منظور ساخت پایگاه داده، بهروزرسانی، مدیریت و انجام پردازشهای مختلف برروی آن استفاده میشود. با RDBMS میتوان دادهها را در قالب جدول ذخیره کرد و با زبان SQL عملیات پرس و جوی دادهها یا همان کوئری زدن را انجام داد. رایجترین سیستمهای مدیریت پایگاه داده رابطهای که از زبان SQL استفاده میکنند، در ادامه فهرست شدهاند:
- Sybase
- Microsoft SQL Sever
- Oracle
- Ingres
- Access
پس از توضیح مفاهیم لازم و مرتبط با زبان اس کیو ال، در بخش بعدی به این سوال پاسخ داده میشود که زبان SQL چیست؟
SQL چیست ؟
«زبان پرس و جوی ساختاریافته | اس کیو ال» (Structured Query Language | SQL) زبانی است که برای مدیریت و ارتباط با پایگاه داده استفاده میشود. به عبارتی، میتوان از این زبان برای ساخت پایگاه داده در SQL، حذف و بهروزرسانی اطلاعات و استخراج داده از پایگاه داده رابطهای استفاده کرد. این زبان یکی از زبانهای «مؤسسه ملی استاندارد آمریکا» (American National Standard Institute | ANSI) است که توسط پژوهشگران IBM در سال 1970 ارائه شد.
نسخههای دیگر این زبان نظیر T-SQL و PSQL نیز توسط سایر شرکتها نظیر Microsoft و Interbase/Firebird ایجاد شدهاند. اگرچه تلاش بر این بود تا برای استفاده از این زبان، استانداردسازی صورت گیرد، اما برخی از دستورات این زبان در پایگاههای داده رابطهای مختلف، متفاوت هستند.
تعریف زبان SQL
قابلیتهایی که زبان اس کیو ال در اختیار کاربران خود قرار میدهد، به شرح زیر هستند:
- زبان SQL به کاربران اجازه دسترسی به داده را در RDBMS میدهد.
- با زبان اس کیو ال میتوان دادههای موجود در پایگاه دادههای رابطهای را توصیف کرد.
- زبان SQL امکان ذخیرهسازی داده و دستکاری آن را برای کاربران فراهم میکند.
- میتوان با کتابخانههای مربوط به SQL در سایر زبانهای برنامه نویسی و با استفاده از دستورات SQL به دادههای موجود در پایگاه داده دسترسی داشت.
- با زبان اس کیو ال میتوان پایگاه داده و تمامی اشیاء درون آن نظیر جدول، روال، View-های اختصاصی SQL و سایر موارد را ایجاد و حذف کرد.
- با استفاده از زبان SQL میتوان به کاربران مختلف، سطح دسترسی متفاوت داد و نحوه دسترسی به دادههای ذخیره شده در پایگاه داده را مدیریت کرد.
آیا SQL یک زبان برنامه نویسی محسوب می شود ؟
افرادی که به دنبال یادگیری زبانهای برنامه نویسی هستند، ممکن است پس از اولین پرسش ذهنی خود درباره اینکه زبان SQL چیست و چه کاربردی دارد، این سوال برایشان مطرح شود که آیا این زبان را میتوان مشابه سایر زبانهای برنامه نویسی تلقی کرد؟
زبان SQL را میتوان به عنوان یکی از زبانهای برنامه نویسی بهشمار آورد. این زبان شامل دستورات حلقه، متغیر و سایر موارد موجود در زبانهای برنامه نویسی است. با این حال، این زبان را نمیتوان بهطور کامل، مشابه با زبانهای برنامه نویسی جاوا و C++ درنظر گرفت.
زبان SQL زبان نسل چهارم محسوب میشود و زبانهایجاوا و C++ جزء زبانهای نسل سوم هستند. زبان SQL صرفاً شامل دستوراتی برای ذخیرهسازی، بازیابی و دستکاری داده است و همانند سایر زبانهای برنامه نویسی از آن نمیتوان برای ساخت وبسایت، نرمافزار و برنامههای کاربردی استفاده کرد.
سادگی زبان اس کیو ال
یکی از مهمترین مزیتهای زبان SQL این است که برای استفاده از آن نیاز به دانش خاصی از برنامه نویسی نیست. سینتکس (قواعد نحوی) این زبان ساده است و به دلیل شباهت زیادی که به جملات انگلیسی دارد، فهم و درک دستورات برای کاربران آن ساده است.