در این دوره به آموزش مایکروسافت اس کیو ال سرور برای توسعه دهندگان (Developer) میپردازیم و به مباحث مدیریتی (Administration) در این دوره پرداخته نخواهد شد.
پیشنیازهای آموزش SQL Server چیست؟
برای یادگیری این دوره باید نسخه 2016 یا 2019 از MS SQL Server رو بر روی Windows 10 یا Windows Server داشته باشید. همچنین برای کار با دستورات SQL و کوئریها به Microsoft SQL Server Management Studio نیاز دارید. به ابزار جانبی SQL Server Data Tools در این محیط و sqlcmd.exe نیاز خواهیم داشت.
در این دوره چه چیزهایی میآموزیم؟
آشنایی با مفهوم بانکهای اطلاعاتی
در ابتدای این دوره به مفاهیم اولیه بانکهای اطلاعاتی میپردازیم و این که چرا از MS SQL Server استفاده میکنیم. با ابزارهای مختلف SQL Server و همچنین با محیط Management Studio آشنا میشوید.
ایجاد بانک اطلاعاتی در SQL Server
در ادامه بانکهای اطلاعاتی را تعریف میکنیم. سپس با بانکهای اطلاعاتی پیشفرض msdb و model و tempdb و master آشنا خواهید شد، با روش تحلیل بانک اطلاعاتی (Gathering Requirements)، کلیدها (Keys) و رابطهها (Relationships) و نرمال سازی (Normalization) خواهیم پرداخت. در انتها اقدام به ایجاد بانک اطلاعاتی به دو روش Designer و T-SQL یا کوئری نویسی در SQL خواهیم پرداخت.
آشنایی با جدولها TABLE در SQL Server
در این مرحله با نحوه ایجاد جدول در SQL Server و آشنایی با روش ذخیره سازی اطلاعات در آن و انواع داده میپردازیم. با مفهوم Column و ذخیره سازی داده در جداول آشنا میشویم. با کلیدها (Primary Keys)، مقادیر پیشفرض IDENTITY و Unique Identifier، ایجاد (CREATE TABLE) و تغییر (ALTER TABLE) جداول ایجاد شده به روش Designer و T-SQL، آشنایی با روابط بین جداول (Foreign Keys) و معرفی انواع روابط بین جداول (One to One و One to Many و Many to Many) و نحوه ایجاد جداول آشنا میشویم.
درج، حذف و به روز رسانی داده، Transaction ها و Exceptionها
در این قسمت با دستور INSERT برای درج اطلاعات و داده در جداول دیتابیس، دو دستور DELETE و TRUNCATE برای حذف اطلاعات درون جداول و دستور UPDATE برای به روز رسانی اطلاعات ذخیره شده داخل جدول آشنا خواهید شد. سپس با Transactionها آشنا میشوید که کار انجام چندین عملیات را با هم نشان میدهد و در نهایت با Exceptionها و مدیریت خطاها (Error Handling) آشنا خواهیم شد.
آشنایی با مفاهیم اولیه امنیت در SQL Server
در این بخش با سه سطح امنیتی در SQL Server شامل سطح سرور (Server Security) و سطح دیتابیس (Database Security) و سطح موضوع یا آبجکتها (Object Security) و در نهایت با کاربرد اسکیما (Schema) آشنا خواهیم شد.
آشنایی با ایندکسها (Indexes)
ابتدا با مفهوم ایندکس در دیتابیس و کاربرد و انواع آن (Clustered و None Clustered) آشنا میشویم. سپس با Unique Index و نکاتی که باید برای طراحی ایندکس بدانید آشنا خواهیم شد. در نهایت با ایجاد، تغییر، حذف و مدیریت و نگهداری indexها آشنا میشویم.
نحوه کوئری نویسی برای خواندن اطلاعات از جداول
خواندن اطلاعات در SQL با دستور SELECT انجام میشود با این دستور و دستورات کمکی آن شامل WHERE و LIKE و ORDER و SELECT INTO و همجنین توابع کار با رشتهها آشنا میشویم.
آشنایی با دستورات کوئری پیشرفته T-SQL
در این بخش با متغیرها، جداول موقت (Temp Table) ها و اگریگیتها (Agreegate)، دستور JOIN و انواع آن، دستهبندی اطلاعات (Grouping)، دستور HAVING و کار با تاریخ و زمان و آشنایی با توابع سیستم (System Functions) را خواهید آموخت. سپس با SEQUENCE و Sub Query و APPLY آشنا خواهید شد. در ادامه با Commin Table Expression و تبدیل دیتا یا Pivoting Data و مفهوم و کاربرد Ranking و Cursor و امکان Debug دستورات SQL آشنا میشوید.
آشنایی با View ها
در ادامه با مفهوم View و کاربرد آن آشنا میشوید. مبحثی مهم که به افزایش سرعت گرفتن نتایج شما از دیتابیس کمک شایانی میکند. ایجاد و ایندکس گذاری روی View ها را یاد میگیریم و با دو مفهوم Updatable Views و Partitioned Views آشنا خواهیم شد.
استفاده از Stored Procedure ها
با مفهوم و کاربرد و مزیت و انواع Stored Procedure ها آشنا میشویم. با نحوه ایجاد Stored Procedureها و ساختار و نحوه استفاده از آن و پارامترهای آن و نکاتی که باید هنگام استفاده از SPها بدانید آشنا خواهیم شد.
آشنایی با Trigger ها
با دو نوع تریگر DML Trigger و DDL Trriger آشنا میشوید
معرفی توابع تعریف شده توسط کاربر یا (UDF (User Defined Functions
در این قسمت به معرفی امکان UDF و نحوه ایجاد و استفاده از این قابلیت میپردازیم. همچنین با دو نوع Sacalar و Table Valued آن آشنا میشویم.
مفهوم In Memory در SQL Server
در این بخش با مفهوم پایه In Memory و Buffer Pool Extension و نحوه پیکیربندی آن آشنا میشویم. قابلیت In Memory OLTP را بررسی میکنیم و جداول In Momery و SPهای آن را میآموزیم.
آشنایی با Data Fileها و نحوه استفاده از آن
در این بخش میآموزیم که Data File چیست و چگونه میتوان از FILESTREAM در SQL Server استفاده کرد. با مفهوم و قابلیت File Table و Table Partition آشنا میشویم.
آشنایی با XML Data
در واقع XML Data ها یکی از پر استفاده ترین روشهای انتقال اطلاعات محسوب میشوند. ذخیره این اطلاعات، خواندن اطلاعات و Import و Export کردن اطلاعات XML Data از طریق SQL Server بخشهای آموزشی مختلفی است که در این قسمت به آن میپردازیم.
آموزش نحوه بهینه سازی Query ها در SQL Server
در این بخش از اهمیت و چرایی بهینه سازی کوئریهای SQL میگوییم و شما را با Execution Plan آشنا میکنیم.
آشنایی با مفهومی به نام Concurrency در SQL Server
در این بخش با مفهوم Concurrency و ارتباط آن با Transaction آشنا میشوید. همچنین به بررسی مفهوم Isolation Level و Locking میپردازیم که برای کار با دادههایی با ترافیک بالا بسیار کاربرد دارد.
تهیه نسخه پشتیبان از دیتابیس در SQL Server
در این قسمت بررسی میکنیم که در چه زمانی و به چه شکلی و چرا باید از بانک داده خود در SQL Server نسخه پشتیبان تهیه کنیم. با Transaction Log ها و نحوه پشتیبان گیری از In-Memory Table ها آشنا میشویم. نحوه پشتیبانگیری از دیتابیس و همچنین بازیابی دیتا از نسخه پشتیبانی را به دو روش Designer و T-SQL از طریق کدهای کوئری آموزش خواهیم داد. با مفهوم Attach و Detach کردن دیتابیس آشنا میشویم و همچنین به بررسی نحوه تهیه Script برای انتقال دیتابیس میپردازیم. در پایان این بخش با سرویس Agent و تنظیم اسکجوال برای پشتیبانگیری زمان بندی شده و خودکار از دیتابیس میپردازیم.