SQL چیست؟ با این نقشه راه عالی آن را [ رایگان ] یاد بگیرید.
سلام به سایت سافت پلاس خوش آمدید . امروز می خواهیم به سراغ مطلب دیگری در زمینه آموزش SQL server برویم .
در دنیای دیتابیس ها یک زبانی وجود دارد به اسم زبان SQL .
SQL یک زبان کد نویسی است که خیلی از نرم افزار های مطرح بانک اطلاعاتی از آن استفاده می کنند . حالا اینکه چه استفاده ای می کنند را در داخل همین مطلب خواهید خواند .
امروز و در داخل این مطلب می خواهیم ببینیم که SQL چی هست ؟
چرا شما باید کار با این زبان را یاد بگیرید ؟
اگر بخواهید شروع به یادگیری SQL کنید از کجا باید شروع کنید ؟
از چه منابعی می توانید استفاده کنید ؟
چقدر طول می کشد که کار با این زبان را یاد بگیرید ؟
و کلی نکته دیگر در این خصوص را می خواهیم با هم بررسی کنیم .
من علیرضا شهرآئینی هستم و از شما دعوت می کنم که تا انتهای این آموزش هم من را همراهی کنید .
در ضمن یادتان باشد که اینجا سافت پلاس است و در سافت پلاس این سادگی در آموزش هاست که حرف اول را می زند .
پس بدون هیچ نگرانی با من همراه باشید .
فهرست محتوا
اصلا SQL یعنی چی ؟
SQL یک مخفف است که از کلمات Structure Query Language ساخته شده است . معنی اش به فارسی می شود ” زبان پرس و جوی ساختار یافته ” .
از قرار معلوم قدمت این زبان به خیلی سالها قبل بر می گردد یعنی حدود سال 1970 میلادی و اولین بار هم توسط محققان شرکت IBM ایجاد شده است . یعنی الان بیشتر از 5 سال از عمر این زبان می گذرد ولی هنوز هم که هنوز جزو زبان های پرکاربرد در دنیای
کامپیوتر محسوب می شود .
یک مطلب خواندنی : مفهوم View در SQL سرور یک راهنمای جامع کار با آنها
بالاخره تلفظ درست SQL چی هست؟
این یکی از ساده ترین سوالاتی است که در مورد SQL وجود دارد و شاید جالب باشد که بدانید هنوز که هنوز است خیلی ها روی جواب این سوال ساده با هم تفاهم ندارند .
نظریات مختلفی برای نحوه تلفظ صحیح این زبان وجود دارد .
نظریه اول می گوید که تلفظ صحیح این زبان این است که آن را بصورت ” se-qu-el ” یا ” سی- کو- ال ” تلفظ کنیم .
اما ریشه این تلفظ از کجا می آید ؟
از قرار معلوم در سال 1974 یک زبانی وجود داشته به اسم SQUAR که مخفف کلمات Specifying Query As Relational Expression است .
بعد دو تا دانشجو می آیند و در این زبان یک تغییراتی ایجاد می کنند و اسم این زبان جدید را Structured English Query Language می گذارند که مخففش می شود ” SEQUEL ” .
اما اینجا یک مشکل وجود داشته و آن هم اینکه عبارت ” سی-کو-ال ” قبلا توسط یک شرکت هواپیمایی به عنوان یک نشان تجاری ثبت شده بود. پس امکان استفاده از این زبان بصورت تجاری با این تلفظ وجود نداشت .
پس اسم این زبان به Structure Query Language و در حالت مخفف آن به SQL تغییر پیدا کرد .
حالا هم تلفظ های مختلفی برای آن وجود دارد . بعضی ها همان تلفظ قدیمی سی- کو-ال را قبول دارند . بعضی ها آن را اس -کو-ال تلفظ می کنند و بعضی هم اس-کیو-ال که البته این آخری بیشتر بین فارسی زبان ها رایج است .
حالا این SQL چی کار می کنه؟
SQL یک زبان برنامه نویسی است . حتما می دانید که ما تعداد زیادی زبان های برنامه نویسی داریم . زبانهایی مثل پایتون – جاوا- سی شارپ – پی اچ پی و دهها و شاید هم صدها زبان برنامه نویسی که اس کو ال هم یکی از همین زبان های برنامه نویسی است .
یک نکته ای که در مورد زبان های برنامه نویسی وجود دارد این است که هر کدام از این زبان ها برای یک یا چند منظور خاص طراحی شده اند
مثلا پایتون زبانی است که می شود با استفاده از آن نرم افزار های مختلف را نوشت و آنها را منتشر کرد یا سی شارپ زبانی است که به کمک آن می شود بازی های کامپیوتری را نوشت.
البته اینها فقط دو تا مثال ساده بود و گرنه خیلی کارهای دیگر می شود با این زبان ها انجام داد.
اما اس کو ال یک زبان کد نویسی است که فقط و فقط برای ارتباط با بانک های اطلاعاتی از آن استفاده می شود .
برای اینکه شما بتوانید یک بانک اطلاعاتی را ایجاد کنید نیاز به یک سری نرم افزارهای مخصوص این کار دارید .
بعضی از این نرم افزار ها از زبان SQL پشتیبانی نمی کنند که در اصطلاح به آنها نرم افزار های Non SQL می گویند .
اما خیلی از نرم افزارها هم هستند که از زبان SQL استفاده می کنند که نرم افزار های اکسس، اوراکل و SQl سرور 3 تا از مهمترین این نرم افزار ها هستند .
دلیل دوم : SQL همه جا هست .
بعد از اینکه دیتابیس خودتان را با استفاده از یکی از این نرم افزار ها – یا هر نرم افزار بانک اطلاعاتی که از SQL پشتیبانی می کند ایجاد کردید نوبت به مدیریت کردن ان می رسد .
این مدیریت کردن توسط کدهای SQL انجام می شود . اما منظور از مدیریت کردن یعنی چه ؟
کارهای مختلفی هست که شما با استفاده از کدهای SQL می توانید در داخل دیتابیس خودتان انجام دهید . مثلا به لیست زیر نگاه کنید .
اینها فقط یک گوشه ای از کارهایی است که با استفاده از SQL می توانید انجام بدهید . خیلی کارهای دیگر وجود دارد که با استفاده از زبان SQl می توانید انجام بدهید اما در داخل این دیاگرام از آنها اسمی برده نشده است . اما بعدها راجع به همه آنها با هم صحبت خواهیم کرد .
برای علاقمندان به SQL : دستور Select در SQL . اولین دستوری که باید آن را کامل یاد بگیرید .
چرا باید زبان SQL رو یاد بگیرم ؟
دلایل زیادی وجود دارد که شما بخواهید به سراغ زبان SQL بروید و کار یادگیری ان را شروع کنید .
اینجا با هم چند تا از مهمترین این دلایل را بررسی می کنیم .
دلیل اول : آسان بودن یادگیری آن
شاید باورتان نشود ولی زبان SQL یکی از ساده ترین زبان های برنامه نویسی است که خیلی راحت می توانید کار با آن را یاد بگیرید .
اغلب کدهایی که در زبان SQL نوشته می شود خیلی نزدیک به زبان نوشتاری در زبان انگلیسی است .
مثلا به یک نمونه از این کدها دقت کنید .
Creat Database 'shahrdb'
این یک دستور در زبان SQL است که از برنامه خواسته ام که یک دیتابیس به اسم ‘ shahrdb’ را برای من ایجاد کند.
یا مثلا به عنوان یک نمونه دیگر به کدهای زیر نگاه کنید
Select *
From tblshahr
Where id=2542
توی کدهای بالا از دیتابیس خواسته شده که همه اطلاعات مربوط به فردی با id = 2542 را از داخل جدولی به اسم tblshahr استخراج و آنها را به ما نمایش بدهد .
متوجه سادگی این دستورات شدید .
این ها فقط دو نمونه از دهها و صدها دستوری است که توی زبان SQL با آنها سر و کار داریم .
نکته جالب در مورد این کدها و اکثر کدهایی که در زبان SQL از آن نها استفاده می شود این است که همه این کدها به زبان ما انسان ها نزدیکتر ند تا به زبان کامپیوترها .
پس می بینید که خیلی راحت می توانید زبان SQL را یاد بگیرید .
برای علاقمندان به SQL : اپراتورهای کاربردی در SQL را با 25 مثال کاربردی یاد بگیرید .
تفاوتی ندارد که می خواهید به سراغ کدام نرم افزار بانک اطلاعاتی بروید .
می خواهید کارتان را با نرم افزار اکسس شروع کنید یا به سراغ نرم افزار SQL server بروید . حتی نرم افزار اوراکل هم که یکی از معروفترین و پرکاربردترین نرم افزار ها برای ایجاد دیتابیس هاست از زبان SQL می کنند و با آن کار می کنند .
اصلا بیایید کمی دقیقتر صحبت کنیم . یک نگاهی به تصویر زیر بیندازید .
اینجا 10 تا از پرکاربردترین و البته محبوب ترین نرم افزار های بانک اطلاعاتی برای ما لیست شده اند . این آمار مربوط به سایت dbengines است .
اینجا علاوه بر اینکه می توانید متوجه شوید که کدام نرم افزار ها بیشترین محبوبیت را در سطح دنیا ( و نه فقط در ایران ) دارند یک نکته جالب دیگر هم وجود دارد .
آن نکته این است که از بین 10 تا نرم افزار با بیشترین میزان کاربرد 8 تای آنها از زبان SQL پشتیبانی می کنند . این است که می گویم SQL همه جا هست .
پس می بینید که به سمت یادگیری هر نرم افزاری که بروید یادگیری زبان SQL چقدر می تواند برای شما مفید و کاربردی واقع شود .
دلیل سوم : SQL یکی از پر متقاضی ترین زبان هاست .
امروز دیگر در هر رشته و شاخه ای که وارد شوید با چیزی به اسم دیتابیس سر و کار دارید .
فرقی نمی کند که یک مدرسه ، یک دانشگاه ، یک سازمان ، بانک ، وزارتخانه یا هر جایی که شما فکرش را بکنید با چیزی به اسم دیتابیس سر و کار دارد .
حالا حجم این دیتابیس کم باشد یا زیاد هیچ تفاوتی نمی کند . چون همه این دیتابیس ها با استفاده از نرم افزار هایی ایجاد می شوند که برای کار با آن نرم افزار ها احتیاج به چیزی به نام زبان SQl وجود دارد .
هر روز هم دارد به تعداد و حجم این دیتابیس ها اضافه می شود .به همین خاطر است که تقاضا برای زبانی به اسم SQL هم هر روز بیشتر و بیشتر می شود .
باز هم به تصویر زیر نگاه کنید .
نمودار بالا نتیجه یک نظر سنجی مربوط به سایت stackoverflow است و میزان محبوبیت زبان های مختلف برنامه نویسی را نمایش می دهد . توی این نمودار دو تا نکته مهم توی این نمودار وجود دارد .
نکته اول اینکه فکر نکنید که زبان SQL بین بقیه زبان های برنامه نویسی از محبوبیت کمی برخوردار است چون خیلی از زبان های برنامه نویسی هستند که در این نمودار پایین تر از SQL قرار گرفته اند اما در این تصویر نمایش داده نشده اند .
نکته دوم اینکه یادتان نرود که زبان SQL در مقایسه با زبان های برنامه نویسی دیگر یک زبان کاملا تخصصی است که فقط سر و کارش با پایگاههای داده است .
پس اینکه در بین این همه زبان SQL دارای چنین موقعیتی است یک نکته فوق العاده مثبت است .
پس متوجه شدید که SQL یکی از آن زبان هایی است که همیشه پرمتقاضی بوده و هست .
باید چه کار کنم تا زبان SQL رو سریعتر یاد بگیرم؟
رسیدن به مهارت کار با زبان برنامه نویسی SQL دقیقا مثل رسیدن به یک هدف و مقصد می ماند . برای اینکه سریعتر به مقصد خودتان برسید احتیاج به یک نقشه دارید که مسیر رسیدن به هدفتان در آن بطور کامل مشخص شده است .
حالا اگر دستیابی به مهارت در کار با زبان SQL را به عنوان هدف خودتان تعیین کرده اید پس نیاز به یک نقشه راه خوب و مطمئن دارید که با استفاده از آن بتوانید خیلی راحت به هدف خودتان که همان کار با زبان SQL است برسید .
پس با من همراه باشید تا ساده ترین مسیر ممکن را به شما معرفی کنم .
قدم اول : مقدمات کار را آماده کنید .
قبل از اینکه بخواهید به سراغ خود زبان برنامه نویسی SQL بروید باید یک سیر مقدمات را فراهم کنید .
این مقدمات چیز سخت و پیچیده ای نیستند ولی فراهم کردن آنها خیلی می تواند در طول مسیر به شما کمک کند .
اولین کاری باید انجام بدهید این است که یک درک خوبی از چیزی به اسم دیتابیس یا همان بانک اطلاعاتی در خودتان ایجاد کنید .
بروید به سراغ اینکه اصلا یک دیتابیس چی هست ؟
چند جور دیتابیس داریم ؟
چطور می شود دیتابیس ها را ایجادشان کرد ؟
و چیزهایی از این دست . البته زیاد هم لازم نیست که از همین ابتدای کار خیلی تخصصی دنبال این جور موارد بروید . همین یک مقدماتی از این مفاهیم را بدانید برای شروع کار کافی است . بعدها که وقت کافی خواهید داشت که راجع به آنها بیشتر و بهتر مطالعه کنید .
قدم دوم :از همین الان نرم افزار دیتابیس خودتان را انتخاب کنید .
درست است که خیلی از شرکت ها نرم افزار های بانک اطلاعاتی خودشان را بر مبنای SQL ایجاد کرده اند اما شما که قرار نیست کار با همه این نرم افزار ها را یاد بگیرید .
پس بهتر است که از همین ابتدای کار مشخص کنید که می خواهید با کدام نرم افزار بانک اطلاعاتی شروع به کار کنید تا بعدها در کار با آن به یک متخصص عالی تبدیل شوید .
توی تصویر زیر اسم چند تا از مهمترین دیتابیس هایی که با زبان SQL کار می کنند را می توانید مشاهده کنید .
به عنوان مثال من خودم روی SQL server متمرکز شده ام و کار یادگیری آن را دنبال کرده ام . شما هم باید از بین این نرم افزار ها یکی را انتخاب کنید .
چطوری یک نرم افزار دیتابیس را برای یادگیری انتخاب کنم ؟
اینکه بخواهید از بین نرم افزارهای مختلف بانک های اطلاعاتی یکی را انتخاب کنید و به سراغ یادگیری آن بروید به خیلی چیزها بستگی دارد .
مثلا اگر حجم اطلاعاتی که با آن سر و کار دارید چندان زیاد نیست بهترین انتخاب شما می تواند نرم افزار اکسس باشد .
نرم افزار اکسس هم از زبان SQL خیلی خوب پشتیبانی می کند . اتفاقا من در این سایت یک نقشه راه جامع هم برای یادگیری اکسس آماده کرده ام که از طریق لینک زیر می توانید به آن دسترسی داشته باشید .
اکسس برای مدیریت کردن داده هایی که حجم شان کم تا متوسط است و همین تعداد کسانی که می خواهند بطور همزمان روی آن داده ها کار کنند محدود است خیلی کارایی دارد .
به گفته خود اکسس 255 نفر می توانند بطور همزمان روی اطلاعات موجود در اکسس کار کنند .
اما یک موقع هست که حجم اطلاعات شما خیلی بیشتر از این حر ف هاست و تعداد افرادی هم که روی این اطلاعات می خواهند کار کنند خیلی زیاد هستند اینجا دیگر باید به سراغ نرم افزار های دیگر بروید . اما کدام نرم افزار ؟
باید ببینید کدام نرم افزار هست که بیشترین کاربر را دارد ؟
کدام نرم افزار هست که بیشترین تقاضای کار برای آن وجود دارد ؟
بیشتر متخصصین پایگاه داده از کدام نرم افزار ها استفاده می کنند ؟
و خیلی چیزهای دیگر .
اما تا آنجا که من تحقیق کرده ام از بین نرم افزارهای مختلفی که در زمینه بانک های اطلاعاتی وجود دارند و از زبان SQL هم پشتیبانی می کنند 3 تا نرم افزار Oracle, SQL server, MySQL جزو نرم افزار های پرکاربرد نه تنها در کشور ما که در سطح دنیا هستند .
و از بین این 3 تا نرم افزار من به سراغ SQL server رفته ام . شاید از من سوال کنید که حالا چرا اس کو ال سرور؟
من برای خودم 3 تا دلیل دارم .
دلیل اول من قبلا روی اکسس کار می کردم – و البته هنوز هم می کنم – و چون اکسس و اس کو ال سرور هر دو تایشان محصول شرکت مایکروسافت است خیلی راحت می شود بین این دو تا نرم افزار ارتباط برقرار کرد و اطلاعات را بین آنها رد و بدل کرد .
دلیل دوم هم اینکه SQL Server بازار کار خیلی خوبی در کشور ما دارد و تقاضای زیادی برای آن وجود دارد .
دلیل سوم اینکه کار یادگیری آن خیلی راحت است و تازه برای یادگیری کار با آن کلی منبع و کتاب و سایت و فیلم وجود دارد که خیلی راحت می شود از آنها برای یادگیری استفاده کرد.
کافی است یک جستجوی کوچک برای یادگیری SQL server داشته باشید تا با دنیایی از سایتها و فیلمها و منابع آموزشی مختلف چه به صورت فارسی و چه به صورت انگلیسی مواجه شوید که با استفاده از آنها می شود خیلی راحت کار یادگیری SQL سرور را شروع کرد .
دلیل چهارم هم اینکه SQL server یک جامعه کاربری خیلی بزرگی در کشور ما دارد و هر مشکلی که در زمینه کار با آن داشته باشم را خیلی راحت می توانم از طریق فروم ها و سایت های مختلفی که وجود دارد مشکلم را حل کنم . حالا بماند که در کل دنیا هم اس کو ال سرور کلی کاربر و متخصص دارد که در فروم های خارجی و انگلیسی زبان وجود دارند که از آنها هم می توانم کمک بگیرم .
اما یک سوال ؟
مگر نه اینکه همه این دیتابیس ها دارند از بان SQL پشتیبانی می کنند ؟ این یعنی اینکه این زبان بین همه آنها مشترک است .
پس چرا می گوییم که قبل از یادگیری زبان اس کو ال بهتر است که مشخص کنیم که قرار است با کدام نرم افزار کار کنیم ؟
پاسخ این سوال که اتفاقا سوال مهمی هم هست این است که بله همه این نرم افزار ها دارند با زبان اس کوال کار می کنند .
از آن بالاتر اینکه برای SQL از طرف انجمن استاندارد آمریکا معروف به ANSI و همین طور سازمان جهانی استاندارد یا همان ISO برایش استاندارد تعریف شده است .
اما شرکت های مختلف وقتی که نرم افزار های خود را منتشر می کنند علاوه بر اینکه از زبان SQL در حالت استاندارد آن استفاده می کنند اما در کنار آن یک سری قابلیت های جدید هم به آن اضافه می کنند که فقط مختص نرم افزار خودشان است .
مثلا ممکن است مایکروسافت برای نرم افزار SQL Server خودش یک سری توابعی تعریف کرده باشد که فقط در داخل اس کو ال سرور این توابع کاربرد دارند و در داخل نرم افزار اوراکل که محصول شرکت دیگری است این توابع کاربردی نداشته باشند .
به این خاطر است که می گویم قبل از اینکه به سراغ یادگیری زبان اس کو ال بروید بهتر است که نرم افزار مورد نظرتان را مشخص کنید تا آموزش زبان SQL مختص به همان نرم افزار را شروع کنید .
این مطلب در دست تکمیل است ——————
دیدگاهتان را بنویسید