SQL زبانی است که به ما کمک میکند تا بتوانیم با دادهها کار کنیم. در دنیای امروزی که دادهها نقش مهمی ایفا میکنند، مهم است که بتوانیم با این دادهها ارتباط برقرار کنیم و تغییرات مورد نظرمان را در آنها اعمال کنیم. در این مقاله با لیان همراه باشید تا به طور کامل زبان SQL را با هم بررسی کنیم اما قبل از آن، بهتر است ببینیم دیتابیس چیست؟
دیتابیس یا پایگاه داده چیست؟
یک دیتابیس، کلکسیون منظم و سازمانیافتهای از دادهها است که از حافظهی ذخیرهسازی الکترونیکی و دستکاری دادهها پشتیبانی کرده و مدیریت دادهها را برای ما آسان میکند.
به این مثالها توجه کنید: یک راهنمای تلفن آنلاین از یک دیتابیس استفاده میکند تا دادههای افراد، تلفنهای تماس و دیگر اطلاعات مخاطب را ذخیره کند. شرکتهای خدماتی ارائهدهنده برق از یک دیتابیس استفاده میکنند تا قبضها و مسائل مشتری محور را مدیریت کنند، خطای دادهها را مهار کنند و …
اپلیکیشن فیسبوک را درنظر بگیرید. این اپلیکیشن باید توانایی ذخیرهسازی و دستکاری دادهها را داشته باشد و بتواند دادههای مربوط به اعضای فیسبوک، دوستان آنها در فیسبوک، فعالیتهای اعضا، پیامها، تبلیغات و بسیاری موارد دیگر را نمایش دهد. میبینید! ما میتوانیم نمونههای بیشماری را برای کاربرد دیتابیس بیان کنیم.
داده به راحتی قابل دسترسی، مدیریت، کنترل، تغییر، بروزرسانی و سازماندهی هستند. اکثر پایگاهدادهها از یک زبان جستجو ساختاریافته (Structured Query Language) استفاده میکنند.
SQL چیست؟
SQL یک زبان استاندارد برای کار کردن با دیتابیسهای رابطهای است. با استفاده از این زبان میتوان به دادههای موجود در دیتابیس دادههای جدید اضافه کرد، دادههای خاصی را جستجو کرد و دادهها را به روز رسانی یا حذف کرد. این زبان، توانایی انجام عملیات متعدد دیگری را هم دارد که از جمله آنها میتوان به بهینهسازی و تعمیر و نگهداری دیتابیسها اشاره کرد. SQL مخفف Structured Query Language است و به صورت «اس-کیو-ال» یا گاهی اوقات «سی-کیو-ال» تلفظ میشود … دیتابیسهای رابطهای مانند MySQL Database، Oracle، MS SQL Server، Sybase و غیره دارای استانداردهای ANSI SQL هستند. اهمیت این موضوع از آنجایی است که تمام این پایگاه دادهها از طریق زبان SQL ارتباط برقرار میکنند و اکثر شرکتها دادهها و اطلاعات خود را در پایگاهدادههای خود ذخیره میکنند. در نتیجه زمانی که شما SQL را در مجموعه مهارتهای خود داشته باشید، میتوانید انتخاب کنید در کجا مشغول به کار شوید.
SQL چه قابلیتهایی دارد؟
- اجرای کوئریها علیه یک دیتابیس
- بازیابی دادهها از یک دیتابیس
- وارد کردن سوابق و دادهها در یک دیتابیس
- به روزرسانی دادههای یک دیتابیس
- حذف کردن دادهها از دیتابیس
- ایجاد دیتابیسهای جدید
- ایجاد جداول جدید (Table) در یک پایگاه داده
- ایجاد پروسیجرهای ذخیرهشده (Stored Procedures) در یک دیتابیس
- ایجاد View در یک دیتابیس
- کنترل سطح دسترسی در جداول، پروسیجرها و View
بیشتر بخوانید:
نگاهی کوتاه به تاریخچه SQL
- سال 1970، دکتر “اِدگار” مدلی از پایگاه دادههای رابطهای را معرفی کرد. وی به عنوان پدر پایگاه دادههای رابطه ای شناخته میشود.
- سال 1974، زبانهای پرس و جو ساختار یافته زاده شدند.
- سال 1979، کمپانی IBM ایدههای “اِدگار” را توسعه داد و محصولی با نام SYSTEM/R معرفی شد.
- و در سال 1986 کمپانی IMB نمونه اولیه پایگاه دادههای رابطهای استانداردسازی شده با ANSI را توسعه داد. اولین پایگاه داده رابطهای به نام نرمافزار رابطهای معرفی شد که بعدها به “Oracle” تغییر نام یافت.
فرایند انجام کار SQL
زمانی شما یک دستور SQL را برای انجام هر RDBMS اجرا میکنید، سیستم بهترین راه انجام دستور شما را تعیین میکند و SQL هم نحوه تفسیر کار را مشخص میکند. اجزای مختلفی شامل این فرایند میشوند. این اجزا شامل :
- اعزام پرس و جو (Query Dispatcher)
- موتورهای بهینه سازی (Optimization Engines)
- موتور پرسوجو کلاسیک (Classic Query Engine)
- موتور پرسوجو SQL و … (SQL Query Engine)
موتور پرسوجو کلاسیک تمام پرسوجوهایی که SQL نیستند را مدیریت میکند، اما SQL Query Engine قادر به چنین کاری نیست.
دستورات SQL
دستورات استاندارد SQL که با پایگاه دادههای رابطهای تعامل دارند بصورت کلی شامل Create، Select، Insert، Update، Delete و Drop میشوند به که با توجه به طبیعت عملکردشان در این گروهها دستهبندی میشوند:
- DDL (Data Definition Language) : زبان تعریف داده، شامل Create، Alter و Drop
- DML (Data Manipulation Language) : زبان تغییر داده، شامل Select، Insert، Update و Delete
- DCL (Data Control Language) : زبان کنترل داده، شامل Grant و Revoke
RDBMS چیست؟
این واژه مخفف شده Relational Database Management System و به معنای سیستم مدیریت پایگاه دادههای رابطهای است. RDBMS پایه و مبنا SQL و تمام پایگاه دادههای مدرن مانند MS SQL Server، IBM BD2، Oracle، MySQL و Microsoft Access میباشد.
بازارکار SQL
سازمانها عموما به شخصی با دانش و توانایی SQL نیاز دارند و دستمزد موقعیتهای شغلی بر پایه SQL بسیار وابسته به نوع شغل و تجربه شخص است اما بهصورت کلی میانگین بالایی دارند.
برخی از مشاغل مبتنی بر SQL شامل این موارد میشوند.
- Database Administrator (DBA): کارشناس DBA موظف است تا از ذخیرهسازی و مدیریت درست و کارامد داده اطمینان حاصل کند. پایگاه دادههایی که کاربر میتواند ترکیب دلخواه با فیلترسازی شخصی دادهها را از آنها بازیابی کند بسیار ارزشمندتر هستند.
- Database Migration Engineer: متخصص انتقال دادهها از دیتابیسهای مختلف به یک سرور SQL.
- Data Scientist: این شغل بسیار شبیه به آنالیزر داده است با این تفاوت که Data Scientistها به طور معمول وظیفه دارند دادهها را در حجم بسیار بیشتری مدیریت کنند و آنها را با سرعت بسیار بیشتری جمع کنند.
- Big Data Architect: این شخص متخصص ساخت محصولاتی برای مدیریت دادههای دارای حجم بالاست.
بیشتر بخوانید:
خیلی مطلب مفیدی بودی نسبت به بقیه مطالبی که از سایت های دیگه خوندم. ممنون از نویسنده
خیلی ممنون از حسن نظرتون
اوقعا خیلی مفید بود تشکر شما
یک سوال دارم نواقص SQL server کدام ها است یعنی چی نواقص داشت
سلام وقت بخیر، ممنون از نظرتون، نقصی که بهش وارد میدونن درگیری بیش از حد منابع هستش. و اینکه لایسنس اینترپرایزش قیمت بالایی داره و هر شرکتی قادر به تهیه اون نیست.