آموزش SQL Server | مبانی و رایگان

آموزش SQL Server | مبانی و رایگان

نوشته شده توسط: فرید طاهری
۰۹ مهر ۱۳۹۴
زمان مطالعه: 90 دقیقه
4.6
(11)

بانک اطلاعاتی (Database) چیست؟

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

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

یکی از مزایای استفاده از بانک اطلاعاتی، مدیریت متمرکز داده هاست. با داشتن یک پایگاه داده، این امکان وجود دارد که داده های مرتبط را به صورت مجموعه ای در یک مکان مشخص ذخیره کرد و با استفاده از نرم افزار های مختلف به آن ها دسترسی پیدا کرد. این مزیت به خصوص برای شرکت هایی که با داده های بزرگ کار می کنند و نیاز به مدیریت داده ها دارند، بسیار حائز اهمیت است.

یک مثال ساده را مدنظر داشته باشید:

تصور کنید شما صاحب یک سوپر مارکت هستید، پس با این حساب شما با کلی جنس و مشتری درگیر هستید. 

لطفا به سوالات زیر پاسخ دهید:

  1. فروش دو هفته اخیر شما چقدر بوده است؟
  2. هر ماه چند مشتری جدید به سوپر مارکت شما اضافه می‌گردد؟
  3. اگر حساب دفتری دارید، بدهکارترین مشتریان شما چه کسانی هستند؟
  4. پرفروش‌ترین کالاهای شما در کدام دسته قرار دارند؟
  5. هر ماه چقدر (ریالی) کالا خرید می‌کنید؟

حتما متوجه شده‌اید که پاسخ به سوالات بالا واقعا کار دشواری است و بدون داشتن داده‌های ثبت شده، شدنی نیست. پس راهکار این است که شما اطلاعات روزانه خودتان را در جایی ثبت کنید. حال این ثبت و ظبط اطلاعات باید دارای یک ساختار مشخص و حرفه‎ای باشد که در اینجا بانک اطلاعاتی به شما کمک خواهد کرد. شاید با خودتان بگویید اکسل می‌کنم و تمام است، با توجه به اینکه اول بحث هستیم پس اجازه بدهید این سوال را جلوتر که پیش رفتیم پاسخ بدهم.

چرا از بانک اطلاعاتی استفاده کنیم؟

بانک اطلاعاتی یا پایگاه داده، به عنوان یک ابزار مدیریت داده ها بسیار حائز اهمیت است و استفاده از آن در بسیاری از صنایع و شرکت ها بسیار رایج است. در زیر به برخی از دلایل استفاده از بانک اطلاعاتی اشاره می کنیم:

بدون شک پاسخ‌های زیادی می‌توان به این سوال داد ولی سه دلیل اصلی استفاده از بانک اطلاعاتی عبارتند از:

  1. افزایش بهره وری: با استفاده از پایگاه داده، می توان به صورت بهینه با داده ها کار کرد و از قابلیت های مختلف آن برای جستجو، فیلتر کردن، مرتب کردن و ترکیب داده ها استفاده کرد. همچنین، با استفاده از بانک اطلاعاتی، می توان به راحتی اطلاعات را با دیگران به اشتراک گذاشت و همکاری بیشتری را در مدیریت داده ها داشت.
  2. بهبود عملکرد: با استفاده از پایگاه داده، می توان عملکرد سیستم را بهبود بخشید. با استفاده از بانک اطلاعاتی، می توان داده ها را به صورت سریع و بهینه دسترسی داد و عملکرد سیستم را بهبود بخشید.
  3. مدیریت بهتر داده ها: پایگاه داده، امکان مدیریت بهتر و برنامه ریزی داده ها را فراهم می کند. با استفاده از بانک اطلاعاتی، می توان داده ها را به صورت منظم و مرتب دسته بندی کرد و به راحتی با آن ها کار کرد.
  4. امنیت داده ها: با استفاده از بانک اطلاعاتی، می توان به راحتی سطح دسترسی کاربران را مدیریت کرد و از اطلاعات محرمانه و حساس حفاظت کرد. همچنین، با استفاده از بانک اطلاعاتی، می توان به راحتی از بک آپ های مداوم داده ها برای حفظ امنیت آن ها استفاده کرد.
  5. قابلیت های گسترده: پایگاه داده، قابلیت های مختلفی مانند جستجو، فیلتر کردن، مرتب کردن و ترکیب داده ها را دارد. با استفاده از بانک اطلاعاتی، می توان به راحتی به داده های مورد نیاز دسترسی پیدا کرد و از آن ها استفاده کرد.

در کل، پایگاه داده، به عنوان یک ابزار بسیار موثر برای مدیریت داده ها شناخته شده است و استفاده از آن به تعداد زیادی از صنایع و شرکت ها کمک کرده است تا به بهره وری بیشتری دست یابند و بهترین تصمیمات را بر اساس داده های موجود بگیرند.

در ادامه چندین اصطلاح فنی را بررسی می کنیم که بصورت رایج در مباحث بانک اطلاعاتی از آنها استفاده می‌شوند.

اصطلاح فنی شماره 1: جلوگیری از افزونگی داده‌ها

افزونگی داده (Data Expansion) و نرمال سازی (Normalization) از جمله مفاهیمی هستند که در زمینه طراحی و پیاده‌سازی بانک اطلاعاتی (Database) بسیار مهم هستند. با استفاده از نرمال سازی، می‌توانیم اطلاعات را به شکلی منظم و سازمان‌یافته در بانک اطلاعاتی ذخیره کنیم و از تکرار اطلاعات و مشکلاتی مانند مشکلات هماهنگی و اندازه گیری‌های نامناسب جلوگیری کنیم.

همان مثال سوپر مارکت را که قبل‌تر بهش اشاره داشتیم در نظر بگیرید، خاطرتان است که گفتیم خوب چه کاری است من این اطلاعات را داخل اکسل می‌ریزم و بعدش گزارش گیری می‌کنم، ولی یک نکته وجود دارد، شما در اکسل برای مثال به ازای خرید هر مشتری باید اطلاعات آن مشتری را هر بار وارد کنید. هر بار که مشتری به شما مراجعه می‌کند به ازای هر فاکتور باید مشخصات مشتری را در اکسل وارد کنید. خوب این اطلاعات (مشخصات مشتری) مدام در حال تکرار است در صورتی که نباید شما اطلاعات تکراری وارد کنید. راهکار چیست؟ استفاده از سیستم‌های مدیریت پایگاه داده به همراه نرمال‌سازی (عجله نکنید در مورد نرمال‌سازی جلوتر صحبت خواهیم کرد) این مشکل را حل ‌می‌کند.

 

اصطلاح فنی شماره 2: نرمال‌سازی داده (Normalization)

با افزایش حجم داده‌ها، تلاش برای ذخیره و به دست آوردن اطلاعات به شکلی کارآمد و با کمترین هزینه، مسئله مهمی است. در این شرایط، افزونگی داده می‌تواند یک راه حل مناسب باشد. به این صورت که اطلاعات مشابه در بانک اطلاعاتی ذخیره شوند و به جای آنکه هر بار به صورت جداگانه در بانک اطلاعاتی ذخیره شوند، به یک رکورد واحد ارجاع داده شوند. این روش می‌تواند به دو روش افزایشی و کاهشی انجام شود. در روش افزایشی، ابتدا باید بررسی کنیم که آیا یک رکورد جدید در بانک اطلاعاتی وجود دارد یا خیر؟ اگر وجود داشت، اطلاعات جدید به اطلاعات قبلی اضافه می‌شود. در روش کاهشی، باید بررسی کنیم که آیا هیچ یک از رکوردهای موجود در بانک اطلاعاتی با رکورد فعلی یکسان نیست؟ اگر نیست، یک رکورد جدید ایجاد می‌شود.

همچنین، نرمال سازی به عنوان یک فرایند مهم در طراحی بانک اطلاعاتی استفاده می‌شود. هدف از نرمال سازی، رسیدن به یک بانک اطلاعاتی کاملاً سازمان‌یافته و بهینه است. در این روش، اطلاعات به چندین جدول تقسیم می‌شوند، به گونه‌ای که هر جدول تنها اطلاعات مرتبط با یک موضوع را شامل می‌شود. این کار باعث کاهش تکرار اطلاعات و همچنین کاهش اندازه بانک اطلاعاتی می‌شود. از این روش به دلیل سازمان‌یافتگی بهتر و بهینه‌تر بودن بانک اطلاعاتی، عملیات جستجو، استخراج اطلاعات و تحلیل داده‌ها ساده‌تر و سریع‌تر انجام می‌شود.

اصطلاح فنی شماره 3: قابلیت به اشتراک گذاشتن داده‌ها

بانک اطلاعاتی یکی از اصلی‌ترین و پایه‌ای‌ترین ابزارهای مورد استفاده در برنامه‌نویسی است. یکی از مسائل مهم در این زمینه، به اشتراک گذاشتن داده‌ها در بانک اطلاعاتی است. برای این کار، برنامه‌نویسان باید از روش‌های امن و مطمئن برای به اشتراک گذاشتن داده‌ها استفاده کنند.

من در سوپر مارکت خودمان که حالا بزرگ‌تر هم شده است می‌خواهیم دو صندوق فعال داشته باشم تا حساب و کتاب مشتریان را سریعتر انجام دهم. خوب چیکار کنیم، بریم سراغ اکسل 😀
قاعدتا در ذهن شما این صورت مسئله ایجاد می‌گردد که خوب دوتا کامپیوتر (دو تا صندوق فروشگاهی) باید بتوانند همزمان به داده‌ها دسترسی داشته باشند و همزمان هم بتوانند داده درج کنند. پس برای اینکه بتوانیم از قابلیت به اشترک گذاشتن داده‌ها استفاده کنیم نیازمند استفاده از سیستم‌های مدیریت پایگاه داده هستیم.

در این راستا، دو روش اصلی برای به اشتراک گذاشتن داده در بانک اطلاعاتی وجود دارد. اولین روش، استفاده از دیتابیس‌های متمرکز است. در این روش، برنامه‌نویسان از یک بانک اطلاعاتی متمرکز استفاده می‌کنند که تمام داده‌های مورد نیاز برنامه‌های مختلف در آن ذخیره می‌شود. این روش باعث می‌شود تا برنامه‌های مختلف بتوانند از داده‌های مشترک استفاده کنند و دیتابیس به صورت مرکزی مدیریت شود.

روش دوم، استفاده از دیتابیس‌های توزیعی است. در این روش، برنامه‌نویسان از چندین بانک اطلاعاتی توزیع شده استفاده می‌کنند که هر یک از آن‌ها دارای بخشی از داده‌های کلی است. این روش باعث می‌شود که هر برنامه بتواند از داده‌های محلی خود استفاده کند و بانک اطلاعاتی به صورت توزیع شده مدیریت شود.

در هر دو روش، برنامه‌نویسان باید از روش‌های امن برای اشتراک گذاری داده‌ها استفاده کنند تا از نقض امنیت داده‌ها جلوگیری شود. به عنوان مثال، باید از رمزنگاری برای محافظت از داده‌های حساس استفاده کرد و به دنبال به‌روزرسانی و نگهداری منظم دیتابیس برای جلوگیری از خطاهای سیستمی و افزایش قابلیت اطمینان و کارایی استفاده شود.

در نهایت، به اشتراک گذاشتن داده در بانک اطلاعاتی یکی از مسائل مهم در برنامه‌نویسی است که نیازمند روش‌های امن، مطمئن و مدیریت مناسب است. برنامه‌نویسان باید با توجه به شرایط خود و نیازهای سیستم خود، از روش مناسب برای به اشتراک گذاشتن داده‌ها در بانک اطلاعاتی استفاده کنند.

اصطلاح فنی شماره 4: پایگاه داده رابطه‌ای و غیر رابطه‌ای

در اینجا نمی‌خواهیم در مورد تاریخچه DBMS یا RDBMS صحبت کنیم در قسمت بعد سراغ سیستم‌های مدیریت پایگاه داده رابطه‌ای خواهیم رفت و در مورد آنها صحبت خواهیم کرد.

سیستم مدیریت پایگاه داده (DBMS) و سیستم مدیریت پایگاه داده رابطه‌ای (RDBMS) هر دو به منظور مدیریت پایگاه‌های داده استفاده می‌شوند، اما دارای تفاوت‌هایی هستند.
DBMS به عنوان یک سیستم مدیریت پایگاه داده محسوب می‌شود که برای ذخیره و مدیریت انواع مختلفی از داده‌ها ایجاد شده است. این سیستم‌ها می‌توانند از فرمت‌های مختلفی از جمله فرمت‌های متنی، عددی و تصویری پشتیبانی کنند. برای مدیریت داده‌ها، DBMS استفاده می‌کند مانند ساختار برای ذخیره، جستجو، حذف و به روز رسانی داده‌ها. معمولاً این سیستم‌ها مبتنی بر فایل‌ها هستند.

از سوی دیگر، RDBMS یک نوع از DBMS است که برای مدیریت پایگاه‌های داده‌های رابطه‌ای طراحی شده است. در RDBMS، داده‌ها در قالب جداول رابطه‌ای با ستون‌های مختلف ذخیره می‌شوند. این سیستم مدیریت پایگاه داده قابلیت‌هایی مانند عملیات پیوند (JOIN)، تضمین اصالت معنایی (Integrity Constraint)، انجام تراکنش‌ها (Transaction Processing) و دسترسی چندکاربره را بهبود می‌بخشد.

پایگاه داده رابطه‌ای یکی از پرکاربردترین و معمول‌ترین نوع بانک اطلاعاتی است که از روی روابط بین جداول و رکوردهای آن‌ها تشکیل می‌شود. RDBMS (پایگاه داده مدیریت رابطه‌ای) نیز نامی است که برای نرم‌افزارهایی که برای مدیریت پایگاه داده رابطه‌ای استفاده می‌شوند به کار می‌رود.

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

اصطلاح فنی شماره 5: جدول، رکورد و فیلد در دیتابیس

فیلد، به یکی از مؤلفه‌های اطلاعاتی یک رکورد گفته می‌شود که شامل یک مقدار یا یک مجموعه از مقادیر است. به عنوان مثال، در جدول مربوط به مشتریان یک شرکت، فیلدهایی مانند نام، آدرس، تلفن و ایمیل اطلاعات مشتریان را شامل می‌شوند.

جدول نیز مجموعه‌ای از رکوردهاست که در آن، داده‌ها در فیلدهای مشخصی مانند نام، نام خانوادگی و سن دسته‌بندی می‌شوند. به عنوان مثال، در جدول مربوط به پرسنل یک شرکت، هر ردیف اطلاعات یک پرسنل را شامل می‌شود که شامل فیلدهایی مانند نام، شماره پرسنلی، تاریخ تولد و وضعیت تاهل است.

رکورد به عنوان یک مجموعه‌ی از فیلدها در بانک اطلاعاتی شناخته می‌شود. هر رکورد می‌تواند شامل مقادیر مختلفی از فیلدها باشد که می‌توانند با یکدیگر مرتبط باشند. به عنوان مثال، یک رکورد در جدول مشتریان می‌تواند شامل نام، آدرس و شماره تماس یک مشتری باشد.

در نهایت، بانک اطلاعاتی با استفاده از رکوردها، فیلدها و جداول، امکان دسترسی سریع و آسان به داده‌های مورد نیاز را فراهم می‌کند و می‌تواند.

انواع RDBMSها (سیستم مدیریت پایگاه داده رابطه‌ای)

ما در این قسمت نمی‌خواهیم در مورد پایگاه داده‌های گرافی، NoSQL، ستونی و… صحبت می‌کنیم. خیلی شفاف می‌خواهیم انواع پایگاه داده RDBMS را که بسیار هم محبوب هستند را معرفی کنیم و بیشتر SQL Server مورد بررسی قرار دهیم.

1. MS SQL Server:

پایگاه داده محبوب Microsoft SQL Server یکی از برترین پایگاه داده‌ها از نوع RDBMS است. این پایگاه داده در ایران و دنیا بسیار محبوب بوده و دارای بازار کار بسیار گسترده‌ای است.

2. Oracle:

پایگاه داده اوراکل هم یکی از برترین پایگاه داده‌های مورد استفاده در دنیا می‌باشد. این پایگاه داده نسبت به رقیب اصلی خودش (SQL Server) سختی‌ها و گرانی‌های خاص خودش را دارد ولیکن با این داستان بسیار محبوب است.

3. MySQL:

قطعا این دیتابیس در دنیای اوپن سورس حرف‌های زیادی برای گفتن دارد. یکی از محبوب‌ترین دیتابیس‌ها که شرکت‌های هاستینگ همیشه آنرا به عنوان گزینه اصلی خودشان قرار می‌دهند (مثلا می‌خواهیم یک سایت وردپرس بالا بیاریم، قطعا انتخاب اول ما برای دیتابیس، MySQL خواهد بود). لازم به ذکر است MySQL یکی از زیرمجموعه‌های شرکت اوراکل است.

4. PostgreSQL:

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

5. DB2:

شرکت IBM هم برای خود در این لیست حرفی برای گفتن دارد و با دیتابیس حرفه‌ای خود به نام DB2 در این لیست خودنمایی می‌کند. توجه کنید که این دیتابیس بسیار گران قیمت می‌باشد.

SQL Server این دیتابیس محبوب و دوست داشتنی!

قبل از سال 1390، زمانی که می‌خواستم نیک آموز را تاسیس کنم در یکسری جلسات تحلیل و طراحی نرم‌افزارها چه به عنوان برنامه‌ نویس چه به عنوان پیمانکار (جهت اجرای پروژه) شرکت می‌کردم. در این جلسات مدیران IT یک دل نه صد دل عاشق اوراکل یا DB2 بودن و همیشه می‌گفتند ما باید دیتابیس خودمان را اوراکل انتخاب کنیم و بانک اطلاعاتی SQL Server را یک بانک بسیار ضعیف می‌دانستند.

به هر حال نیک آموز را تاسیس کردیم و با این پیش فرض نادرست شروع کردیم به اطلاع رسانی (شما بخوانید جنگیدن) کلی ویدئو آموزشی ساختیم، کلی مقاله نوشتیم و کلی وبینار (هنوز وبینار مد نبود) برگزار کردیم تا بازار متوجه شد که ای بابا این SQL Server خیلی حرفه‌ای شده است و باید از آن در پروژه‌های خودشان استفاده کنند. به هر ترتیب در ادامه می‌خواهیم در مورد SQL Server بیشتر باهم صحبت کنیم.

کالبدشکافی یا آناتومی SQL Server (بخش اول)

SQL Server یک بانک اطلاعاتی رابطه‌ای (Relational Database Management System یا RDBMS) است. این بانک اطلاعاتی برای ذخیره، مدیریت و بازیابی اطلاعات، از زبان SQL (Structured Query Language) استفاده می‌کند. SQL Server در واقع شامل یک موتور پایگاه داده، که به آن Database Engine گفته می‌شود، و ابزارهای مدیریت داده است. در ادامه به شرح دادن اجزای داخلی SQL Server خواهیم پرداخت:

 

داده‌ها و فایل‌های داده: در SQL Server، داده‌ها در فایل‌های داده (Data File) ذخیره می‌شوند. این فایل‌ها شامل اطلاعات جدول‌ها، نمایه‌ها و دیگر اطلاعات مربوط به بانک اطلاعاتی هستند. SQL Server برای ذخیره داده‌ها از دو نوع فایل استفاده می‌کند: فایل‌های داده (mdf) و فایل‌های لاگ تراکنش (ldf). فایل‌های داده، حاوی اطلاعات جداول، نمایه‌ها، مشاهدات، روابط و سایر اطلاعات دیگر هستند، در حالی که فایل‌های لاگ تراکنش، به‌طور خاص، برای ذخیره عملیات تراکنش‌ها استفاده می‌شوند. در واقع، فایل‌های لاگ تراکنش، عملیاتی را که در جداول اصلی دیتابیس انجام می‌شود را به‌صورت یک زنجیره از عملیات‌های تراکنش‌ها ذخیره می‌کنند. این فایل‌ها به صورت مداوم به‌روزرسانی می‌شوند و می‌توانند به‌دلیل خطاهای سیستمی یا تراکنش‌های ناقص، خراب شوند.

جداول: جداول از اجزای اصلی یک بانک اطلاعاتی هستند. در SQL Server، جداول در یک پایگاه داده قرار دارند و اطلاعات را در فضای داده‌ای خود نگه‌داری می‌کنند. هر جدول شامل مجموعه‌ای از ردیف‌ها (Rows) و ستون‌ها (Columns) است. ستون‌ها نوع داده‌های مختلفی مانند عدد صحیح، متن، تاریخ و زمان، بولین و… را پشتیبانی می‌کنند. در این بانک اطلاعاتی، هر جدول باید یک شناسه یکتا (Unique Identifier) داشته باشد تا بتوان به سادگی به آن دسترسی پیدا کرد.

ایندکس‌ها (Index): نمایه‌ها (Index) در SQL Server برای بهبود عملکرد جستجو و بازیابی داده‌ها استفاده می‌شوند. ایندکس‌ها به صورت مجموعه‌ای از مکانیزم‌ها، اطلاعات جدول را مرتب و جستجو‌پذیر می‌کنند. در واقع، ایندکس‌ها از ستون‌ها، اطلاعات جدول را با توجه به الگوهای مشخص، بازنویسی می‌کنند و به سادگی جستجو و بازیابی داده‌ها کمک می‌کنند.

تراکنش‌ها: در SQL Server، تراکنش‌ها برای مدیریت تغییرات در داده‌های بانک اطلاعاتی استفاده می‌شوند. تراکنش‌ها اجازه می‌دهند تا تعدادی از عملیات مرتبط با یکدیگر، به صورت یک بسته کامل اجرا شوند. به این ترتیب، در صورت بروز خطا در هر یک از عملیات، تراکنش به طور کامل لغو می‌شود و هیچ تغییری در داده‌ها اعمال نمی‌شود. این امر از ایجاد داده‌های ناهمخوان جلوگیری کرده و پایداری بانک اطلاعاتی را حفظ می کند.

پرس و جو یا کوئری: SQL Server از زبان T-SQL برای ایجاد پرس و جو (کوئری) بر روی داده‌های بانک اطلاعاتی استفاده می‌کند. T-SQL اجازه می‌دهد تا کاربران به داده‌ها دسترسی پیدا کنند، جستجو کنند و اطلاعات را بازیابی کنند. برای انجام Queryهای پیچیده و بازیابی داده‌های بزرگ، استفاده از ایندکس‌ها اجتناب‌ناپذیر است.

امنیت: امنیت بانک اطلاعاتی یکی از مهمترین مسائلی است که باید در نظر گرفته شود. SQL Server شامل ابزارهای امنیتی قدرتمندی است که می‌تواند برای محافظت از داده‌های بانک اطلاعاتی مورد استفاده قرار گیرد. بدون شک SQL Server یکی از امن ترین دیتابیس‌های دنیا است.

System Database

در SQL Server علاوه بر دیتابیس‌های معمولی که توسط کاربران ایجاد می‌شوند، دیتابیس‌های سیستمی نیز وجود دارند که توسط سیستم SQL Server برای مدیریت و عملکرد خود به کار می‌روند. یکی از دیتابیس‌های سیستمی مهم در SQL Server، دیتابیس master است که در آن اطلاعات مربوط به تمامی دیتابیس‌ها و محدودیت‌های سرور ذخیره می‌شود. دیتابیس model نیز دیتابیسی است که برای ایجاد دیتابیس‌های جدید به کار می‌رود و دیتابیس msdb اطلاعات مربوط به تعمیر و نگهداری از ابزارهای مختلف SQL Server را در بر می‌گیرد و دیگری tempDB است که به عنوان چرک نویس SQL Server عمل می کند.


User Database

دیتابیس‌هایی که توسط من و شما ساخته می‌شوند در این قسمت لیست خواهند شد و شما به آنها می‌توانید دسترسی داشته باشید و داده‌های خودتان را آنجا ببینید.

نسخه‌های SQL Server کدامند!؟

شرکت مایکروسافت از سال 1989 تا هم اکنون که با شما صحبت می‌کنیم، نسخه‌های زیادی را به بازار عرضه کرده است ولی در سایت خودش هم نسخه‌ SQL Server را از SQL Server 6.5 به بعد لیست کرده است. واقعیت من و مسعود طاهری هم با نسخه SQL Server 6.5 , SQL Server 7.0 کار کرده‌ایم (البته خیلی کم چون واقعا منابع آموزشی بسیار محدود و کم بود).


ردیف نسخه نام تجاری تاریخ انتشار اتمام پشتیبان
1 6.5 SQL Server 6.5 1996 ؟
2 7.0 SQL Server 7.0 1998 January 11, 2011
3 8.0 SQL Server 2000 2000 April 9, 2013
4 9.0 SQL Server 2005 January 14, 2006 April 12, 2016
5 10.0 SQL Server 2008 November 6, 2008 July 9, 2019
6 10.5 SQL Server 2008 R2 July 20, 2010 July 9, 2019
7 11.0 SQL Server 2012 May 20, 2012 July 12, 2022
8 12.0 SQL Server 2014 June 5, 2014 July 9, 2024
9 13.0 SQL Server 2016 June 1, 2016 July 14, 2026
10 14.0 SQL Server 2017 September 29, 2017 October 12, 2027
11 15.0 SQL Server 2019 November 4, 2019 January 8, 2030
12 16.0 SQL Server 2022 November 16, 2022 January 11, 2033

چگونه SQL Server را نصب کنیم و از آن استفاده کنیم!؟

برای اینکه بتوانید SQL Server را روی سیستم خود راه‌اندازی کنید باید ابتدا سرویس 2022 SQL Server را نصب کنید سپس SQL Server Management Studio را نصب کرده تا بتوانید با سرویس SQL Server کار کنید.

در فیلم زیر نحوه نصب و راه‌اندازی SQL Server در محیط ویندوز مشاهده خواهید کرد.

 

نصب SQL Server Management Studio یا SSMS

بعد از اینکه SQL Server را نصب کرده‌اید، حال باید از آن استفاده کنید برای دستیابی به SQL Server و کار با آن نیاز به یک محیط کاری دارید، نام این محیط کاری SQL Server Management Studio یا SSMS است. پس باید آنرا نصب کنید. توجه کنید که ابتدا طبق ویدئو بالا SQL Server را نصب سپس SSMS را دانلود و آنرا نصب کنید.

 

نصب SQL Server در Linux (لینوکس)

از سال 2017 مایکروسافت تصمیم گرفت تا SQL Server را روی لینوکس هم بتوانیم نصب و راه اندازی کنیم. اگر به دنبال نصب SQL Server در اوبونتو یا لینوکس هستید پیشنهاد می کنم ویدئو زیر را تماشا کنید.

چرا باید SQL Server را یاد بگیریم؟

در دنیای امروز با ارزش‌ترین دارایی شرکت‌ها و سازمان‌ها بدون شک دیتا می‌باشد. هم اکنون حجم دیتایی تولید شده در دنیا روز به روز در حال افزایش است و استفاده از سیستم‌های ذخیره اطلاعات امری است طبیعی، پس آموزش و یادگیری RDBMSای چون SQL Server هم یک امر طبیعی محسوب می‌گردد.
تصور کنید شما به عنوان یک برنامه‌نویس می‌خواهید یک نرم افزار حسابداری کدنویسی کنید. پس باید یک زبان برنامه نویسی برای اینکار انتخاب کنید، برای مثال شما زبان برنامه نویسی سی شارپ را انتخاب و شروع به کدنویسی می‌کنید. حال تصور کنید نرم افزار آماده است، زمانی که یک فاکتور فروش در نرم افزار ثبت می‌گردد، اطلاعات این فاکتور کجا باید ذخیر گردد؟ پس نیاز داریم از یک RDBMS استفاده کنیم، که به طبع SQL Server انتخاب ما خواهد بود.
حال اینکه بانک اطلاعاتی، جداول، ایندکس‌ها و… در SQL Server را بتوانیم به درستی تعریف کنیم، نیاز به آموزش و یادگیری در حوزه SQL Server داریم.

شغل‌های مرتبط با SQL Server کدام هستند!؟

زمانی که می‌خواهید وارد دنیای SQL Server و دیتا شوید، اگر نگاه تخصصی به این بازار داشته باشید قطعا می‌توانید یک مسیر شغلی مناسب هم برای آینده خود ترسیم کنید. شغل‌های مرتبط با SQL Server را که در ایران و دنیا خواهان زیادی دارند در زیر برای شما لیست کرده‌ام.

پشتیبان بانک اطلاعاتی:

پشتیبان SQL Server در حقیقت فردی است که بیشتر کارهای مربوط به Backup/Restore (البته در حد ساده) و نوشتن کوئری‌های ساده را انجام می‌دهد.

SQL Server Developer

توسعه دهنده SQL Server اصولا شخصی است که به کوئری نویسی تسلط کامل دارد، دستورات T-SQL را به خوبی می‌شناسد و در زمینه نوشتن کوئری‌های پیچیده بسیار حرفه‌ای عمل می‌کند. این شغل بیشتر برای واکشی اطلاعات از دیتابیس‌ها استفاده می‌گردد و خوراک مناسبی را برای برنامه‌نویسان تهیه می‎‌کنند.

SQL Server DB Admin:

مدیر بانک اطلاعاتی در SQL Server در حقیقت شخصی است که کارهای مرتبط به مباحث Administration را انجام می‌دهد. این شغل بیشتر وظبفه نگهداری و بهینه‌سازی بانک‌های اطلاعاتی را بر عهده دارد. مواردی هم چون Performance & Tuning , High Availability و… بر عهده ایشان است.

SQL Server BI Developer:

یکی از جذاب‌ترین شغل‌ها در حوزه دیتا، قطعا کارشناس هوش تجاری می‌باشد. این شغل که به بازی با دیتا هم معروف است به سازمان‌ها کمک می‌کند که تصمیمات را بر اساس داده بگیرند و تصممیات در سازمان از احساس محور به داده محوره تبدیل می‌گردد. برای اینکه در این شغل موفق شوید باید SQL Server و مخصوصا کوئری نویسی را خوب بلد باشید.

چه رتبه ای می‌دهید؟

میانگین 4.6 / 5. از مجموع 11

اولین نفر باش

title sign
برچسب ها
title sign
دانلود مقاله
آموزش SQL Server | مبانی و رایگان
فرمت PDF
صفحه
حجم مگابایت
دانلود مقاله
title sign
معرفی نویسنده
فرید طاهری
مقالات
6 مقاله توسط این نویسنده
محصولات
8 دوره توسط این نویسنده
فرید طاهری

فرید طاهری بنیان‌گذار و مدیرعامل شرکت نیک‌آموز است او همچنین: ایده‌پرداز محصولات آموزشی، آموزش سبک‌های تدریس نوین و جذاب به مدرسین، متخصص دیجیتال مارکتینگ، برنامه‌نویس سی‌شارپ و SQL Server، طراح و تحلیل‌گر سیستم‌های مالی و اداری، مشاور کسب و کارهای اینترنتی نیز می‌باشد.

پروفایل نویسنده
title sign
معرفی محصول
title sign
دیدگاه کاربران

    • باتشکر از زحمات دوستان
      دوره های مفید و کاربردی با رویه کاملا ساده و روان

    • باتشکر از زحمات دوستان
      دوره های مفید و کاربردی با رویه کاملا ساده و روان

    • تبریک میگم بابت این کلاس فوق العاده

    • تبریک میگم بابت این کلاس فوق العاده

    • سلام وقت بخیر.
      یه سوال داشتم نمیدونم جای خوبی برا سوال پرسیدن انتخاب کردم یانه.
      سوال من اینه که چجوری میشه یه تریگر یا تسک یا هرچیزی که امکانش هست، نوشته بشه و تمام دستورات عملیاتی مانند INSERT,UPDATE,DELETE رو ذخیره کرد. یعنی هر درخواستی با این مضامین توسط سرور دیتابیس sql اجرا میشه تو یه جدول ذخیره بشه؟( حتی اگه بشه تو یه دیتابیس دیگه ذخیره کرد که چه عالی)
      این کارو میشه توسط برنامه کاربر انجام داد اما من میخوام ببینم میشه زحمت و بار انجام این کار رو مستقیم سپرد به دیتابیس یا نه(فضای ذخیره سازی و حجیم شدن دیتابیس اصلا مد نظر نیست) ؟

      • درود بر شما
        به نقل از مهندس مسعود طاهری
        به این موضوع Audit دیتا می گویند چندین روش داریم
        Trigger
        CDC
        Temporal Tables
        Audit
        در دوره امنیت (۰۰۷) جزئیات و تکنیک ها و معایب و محاسن این موضوع بررسی شده است
        شما می توانید مباحث دوره امنیت را از لینک زیر بررسی نمایید
        https://nikamooz.com/product/security-course-sql-server/