دوره غیرحضوری آموزش SQL Server ویژه برنامه نویسان

۴,۶۹۰,۰۰۰ تومان

عنوان دوره: دوره آموزش SQL Server ویژه برنامه نویسان
مخاطبین: برنامه نویسان و مدیران بانک اطلاعاتی است که می‌خواهند از امکانات SQL Server بصورت حرفه‌ای استفاده کنند.
پیش نیاز دوره: کوئری نویسی مقدماتی و حداقل 2 سال سابقه برنامه نویسی
طول دوره: ۳۰ جلسه
تاریخ شروع : ۱۱ مهر ۱۴۰۰
نحوه ارائه: غیرحضوری و دانلودی
پشتیبانی: دارای گروه تلگرامی اختصاصی است
پشتیبانی وبیناری: هر ۸ جلسه یک وبینار پرسش و پاسخ
قیمت: ۴.۶۹۰.۰۰۰ تومان
سال تولید:  ۱۴۰۰
مدرسین دوره: مهدی شیشه بری، مسعود طاهری، علیرضا ارومند، سیاوش گلچوبیان
دریافت کد تخفیف: جهت دریافت تخفیف فرم زیر را تکمیل نمایید.

توضیحات

فرم درخواست مشاوره، خرید اقساطی و تخفیف ویژه

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

  • موضوع: دوره آموزش SQL Server ویژه برنامه نویسان
  • مخاطب: برنامه نویسانی که می‌خواهند بصورت حرفه‌ای با SQL Server کار کنند

مدت زمان باقی مانده به شروع دوره

2021/10/03 14:35:09

سرفصل‌های این دوره آموزشی منحصربفرد را دانلود کنید


سرفصل‌های دوره آموزش

نصب و راه‌اندازی حرفه‌ای نرم‌افزار SQL Server:

  • بررسی پیش‌نیازهای نرم ‌افزاری برای نصب SQL Server بر روی ویندوز‌های Server و Client
  • بررسی پیش‌نیازهای سخت افزاری برای نصب SQL Server
  • بررسی انواع نسخه‌های SQL Server
  • بررسی نحوه نصب SQL Server
  • معرفی تغییرات جدید در روند نصب SQL Server از نسخه‌های 2016 به بعد
  • آشنایی با مفاهیم زیر که در روند نصب و استفاده از SQL Server تاثیرگذار هستند:
    • Instance چیست؟
    • بررسی برخی از Featureهای SQL Server
    • آشنایی با سرویس‌های SQL Server و Accountهای راه‌انداز سرویس‌ها
    • بررسی مفهوم Authentication
    • بررسی Data Directories
    • Tempdb و تغییرات عملکردی در نسخه‌های جدید
    • آشنایی با تنظیمات MaxDOP
    • Filestream و فعال‌سازی آن در هنگام نصب
    • بررسی Collation
  • بررسی چگونگی نصب SQL Server به صورت Silent

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

بررسی SQL Express Edition:

  • آشنایی با SQL Express Edition
  • آشنایی با ویژگی‌های پشتیبانی شده برای SQL Express Edition
  • بررسی استفاده از SQL Express Edition در Setupهای نرم‌افزاری
  • بررسی سناریوهای کاربردی جهت استفاده از SQL Express Edition

 

  1. آیا شما هم از آن دسته افرادی هستید که همواره به مشتریان، پیشنهاد نصب نسخه Enterprise را می‌هید؟
  2. آیا شما هم از آن دسته افرادی هستید که همواره در کنار محصول‌تان یک DVD نصب SQL Server هم به مشتری ارائه می‌کنید؟
  3. آیا شما هم از آن دسته افرادی هستید که همواره بر سر نصب SQL Server بر روی سیستم عملیاتی مشتریان دغدغه دارید؟
  4. آیا می‌دانید گاهی با علم به این‌که نسخه SQL Express Edition می‌تواند تمامی نیازهای شما و مشتریان را فراهم کند، دیگر نگرانی‌ای از بابت رفع مشکلات احتمالی مطرح شده در سوالات بالا نخواهید داشت؟

معرفی و بررسی عملکرد بانک‌های اطلاعاتی سیستمی در SQL Server:

  • بررسی بانک اطلاعاتی Master
  • بررسی بانک اطلاعاتی Msdb
  • بررسی بانک اطلاعاتی Tempdb
  • بررسی بانک اطلاعاتی Model
  • بررسی بانک اطلاعاتی Resource

در هر Instance، دیتابیس‌های سیستمی از اهمیت بسیار بالایی برخوردار هستند و می‌بایست ضمن آگاهی از قابلیت‌های آن‌ها، تمهیدات لازم برای پیکربندی و نگهداری از آن‌ها را نیز در نظر داشته باشید.

ایجاد بانک اطلاعاتی:

  • معرفی فایل‌های تشکیل دهنده یک بانک اطلاعاتی
  • بررسی اولیه معماری Data File
  • بررسی اولیه معماری Log File
  • بررسی تنظیمات اصولی و مناسب برای Data File
  • بررسی تنظیمات اصولی و مناسب برای Log File
  • بررسی مفهوم File Group
  • بررسی نحوه استفاده از File Group در جهت افزایش سرعت بانک‌های اطلاعاتی

 

 

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

  1. هنوز هم بسیاری از طراحان و توسعه‌دهندگان، روحشان از وجود چندین Data File در یک سیستم بانک اطلاعاتی خبردار نیست.
  2. فلسفه وجودی چندین Data File چیست؟
  3. آیا برای هر سیستم بانک اطلاعاتی، وجود چنین قابلیتی می‌تواند کارآمد باشد؟
  4. چگونه می‌توان چندین Data File را به یک بانک اطلاعاتی تخصیص داد؟
  5. تفاوت Data File اصلی با سایر Data Fileها در چیست؟
  6. در صورت وجود چندین Data File می‌بایست در هر یک چه آبجکت‌هایی را ذخیره کرد؟
  7. معماری ذخیره‌سازی داده‌ها در Data File و Log File چگونه است؟

بررسی انواع داده‌های عددی:

  • بررسی مفهوم Fixed Length در انواع داده‌های عددی
  • بررسی مفهوم Variable Length در انواع داده‌های عددی
  • بررسی انواع داده‌های Exact Numeric
  • بررسی انواع داده‌های Approximate Numeric
  • بررسی انواع داده‌های پولی و چالش‌های مربوط به نگهداری داده‌های مالی در ایران
  • بررسی توابع پیشرفته در راستای کار با انواع داده‌های عددی

بررسی انواع داده‌های رشته‌ای:

  • بررسی مفهوم Fixed Length در انواع داده‌های رشته‌ای
  • بررسی مفهوم Variable Length در انواع داده‌های رشته‌ای
  • بررسی تاثیر استفاده از Unicode در انواع داده‌های رشته‌ای
  • بررسی ویژگی‌های جدید برای استفاده از Unicode در SQL Server 2019
  • بررسی مفهوم Collation در SQL Server
    • بررسی چالش وجود حروف «ی و ک» عربی در داده‌ها و بررسی اثرگذاری آن‌ها
    • ارائه راه‌کار مناسب برای چالش حروف «ی و ک» عربی در داده‌ها
  • آشنایی با تکنیک‌های کاربردی در جهت استفاده از انواع داده Varchar(max)
  • آشنایی با تکنیک‌های کاربردی در جهت استفاده از انواع داده NVarchar(max)
  • بررسی توابع پیشرفته در راستای کار با انواع داده‌های رشته‌ای

 بررسی انواع داده‌های‌ تاریخ و زمان:

  • بررسی انواع داده جهت ذخیره‌سازی داده‌هایی از جنس تاریخ و زمان
  • بررسی روش‌های مختلف ذخیره و بازیابی تاریخ شمسی در SQL Server
  • بررسی تکنیک‌های کاربردی در جهت افزایش سرعت کار با تاریخ شمسی
  • بررسی توابع پیشرفته برای کار با انواع داده‌های مرتبط با تاریخ
  • بررسی توابع پیشرفته برای کار با انواع داده‌های مرتبط با زمان

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

یکی از عادات غلط بسیاری از افراد، انتخاب نوع داده INT برای نگهداری مقادیر عددی است. فقط کافی است به دیتابیس‌هایی که می‌شناسید سرک بکشید. طراح دیتابیس یک سیستم بزرگ فروش، برای نگهداری فیلد سن مشتریان از نوع داده INT استفاده کرده است! سن کدام انسان در محدوده 2,147,483,647 تا 2,147,483,648- است؟ آیا حیف نیست برای نگهداری سن افراد به جای 4 بایت فقط از 1 بایت استفاده کنیم؟ اگر چنین روش غلطی را برای جدولی که شامل یک میلیون رکورد است انجام دهیم تا چه میزان در مصرف فضای ذخیره‌سازی بذل و بخشش به خرج داده‌ایم؟ و …

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

بررسی نوع داده‌ Timestamp:

  • بررسی عملکرد نوع داده Timestamp در SQL Server
  • استفاده از Timestamp برای کشف تغییرات
  • استفاده از Timestamp برای جلوگیری از همزمانی تغییرات کاربران در سیستم‌های اطلاعاتی

 

نحوه ایجاد و مدیریت جداول در SQL Server:

  • بررسی نحوه ایجاد جداول
  • بررسی تعیین اصولی File Group برای جداول
  • بررسی ویژگی Computed Column در جداول
  • بررسی ویژگی Sparse Column
  • بررسی ویژگی IDENTITY
    • بررسی استفاده از Last-Page Insert Contention در SQL Server برای فیلدهای IDENTITY
    • بررسی استفاده از ویژگی Identity Cache در SQL Server برای فیلدهای IDENTITY
  • نحوه استفاده از SEQUENCE در SQL Server
  • بررسی مفهوم Data Integrity و روش‌های پیاده‌سازی آن در SQL Server
    • نحوه پیاده‌سازی انواع Constraint در جداول

 

آشنایی با Connection و مباحث مرتبط با اتصال به بانک اطلاعاتی:

  • بررسی مفهوم Connection
  • بررسی اجزاء Connection String
  • بررسی مفهوم Provider و انواع آن
  • بررسی تنظیمات پیشرفته برای Connection String
  • بررسی مفهوم Connection Pooling
  • بررسی MARS و تاثیر استفاده از آن در Connection String
  • بررسی مفهوم Context Info و مباحث مرتبط با آن
  • بررسی سناریو ارسال Business User از سمت Application به سمت SQL Server

معرفی و آشنایی با مفاهیم کاربردی:

  • معرفی Dynamic Management View
  • معرفی Dynamic Management Function
  • معرفی پروسیجرهای سیستمی
  • بررسی مفهوم Execution Plan
  • بررسی  Estimated Execution Plan
  • بررسی Actual Execution Plan
  • بررسی دستور Set Statistics IO
  • بررسی دستور Set Statistics Time

بررسی اجمالی مباحث اولیه T-SQL:

  • معرفی زبان T-SQL
  • آشنایی با ساختار دستورات SQL Server
  • بررسی فرایند اجرای کوئری‌ها
  • بررسی فرایند Logical Order
  • بررسی فرایند Physical Order
  • بررسی اجزای مختلف دستور SELECT
  • بررسی گزاره‌ها و اپراتورهای منطقی و مقایسه‌ای
  • بررسی منطق 3VL
  • بررسی چالش مقادیر NULL با مفهوم 3VL در SQL Server
  • بررسی CASE Expression و حالات مختلف آن
  • بررسی مفهوم GROUP BY
  • آشنایی با انواع Aggregation Function‌ها
  • بررسی انواع ساختار JOIN میان جداول در کوئری‌ها
  • بررسی انواع مختلف Sub Query
  • بررسی انواع Set Operators
  • بررسی انواع مختلف Table Expressionها (Derived Table, CTE, VIEW, Inline TVF)
  • آشنایی با اپراتور APPLY

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

بررسی Window Functionها در SQL Server:

  • آشنایی با Window Functionها در SQL Server
  • بررسی اجزاء مختلف Window Functionها
  • بررسی انواع مختلف Window Functionها
    • Ranking Function
    • Window Aggregate Function
    • Offset Function
    • Distribution Function

 

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

بررسی نحوه استفاده از Viewها:

  • نحوه ایجاد VIEW در SQL Server
  • بررسی مفهوم Materialize View و نحوه ایجاد آن در SQL Server
  • آشنایی با مفاهیم Updateable VIEW
  • بررسی قابلیت SCHEMA BINDING در VIEWها
  • بررسی نحوه Encrypt و Decrypt کردن VIEWها
  • بررسی نحوه ایندکس‌گذاری بر روی Viewها

بررسی نحوه استفاده از انواع User Define Function در SQL Server :

  • نحوه ایجاد Scaler Function
  • نحوه ایجاد Inline Table Value Function
  • نحوه ایجاد Multi-Statement Table Value Function
  • بررسی ویژگی‌های جدید ارائه شده در SQL Server 2019 در راستای افزایش کارآیی Scaler Functionها
  • بررسی نحوه Encrypt و Decrypt کردن Functionها

بررسی تخصصی دستور INSERT:

  • آشنایی با انواع روش‌های درج اطلاعات در جداول
  • آشنایی با مفهوم Bulk Insert
  • بررسی تکنیک‌های پیاده‌سازی Bulk Insert در .NET
  • بررسی تکنیک‌های پیاده‌سازی Bulk Insert در SQL Server
  • آشنایی با کلاس SqlBulkCopy در .NET
  • بررسی سناریوهای کاربردی برای کار با کلاس SqlBulkCopy
  • آشنایی با بخش OUTPUT در دستور INSERT

بررسی تخصصی دستور Update:

  • استفاده از Join در دستور Update
  • بررسی تکنیک‌هایی کاربردی در جهت افزایش سرعت اجرای دستور Update
  • بررسی تکنیک‌هایی کاربردی در راستای اجرای دستور UPDATE بر روی جداول بزرگ
  • بررسی دلایل کُندی دستور Update
  • آشنایی با بخش Output در دستور  UPDATE

آیا تا به حال اتفاق افتاده بر روی جداول بزرگ با انجام دستور Update، اجرای این دستور با تاخیری چندین و چند ساعته انجام شود و سیستم را دچار کُندی شدید کند به گونه‌ای که سایر Sessionهایی که با این جداول می‌خواهند کار کنند نتوانند به راحتی با آن‌ها تعامل داشته باشند؟

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

بررسی تخصصی دستور Delete:

  • استفاده از Join در دستور Delete
  • بررسی تکنیک‌هایی کاربردی در راستای اجرای دستور Delete بر جداول بزرگ
  • بررسی دلایل کُندی دستور Delete
  • آشنایی با بخش Output در دستور  Delete
  • بررسی حذف رکورد از جداول بزرگ و چالش‌های مربوط به آن

آیا شما هم تا به حال برای حذف بیش از 90 درصد رکوردهای یک جدول بزرگ با مشکل کندی و افزایش حجم Log File مواجه شده‌اید؟ آیا بهتر نیست به جای حذف بخش عمده‌ای از رکوردهای این جدول، رویکرد خود را تغییر دهید و تاثیر شگرف آن را احساس کنید؟!

بررسی تخصصی دستور Merege:

  • بررسی دستور Merege
  • آشنایی با بخش Output در دستور  Merege
  • آشنایی با کاربرد Action در دستور Merege
  • بررسی نحوه Synchronization داده‌های دو جدول با استفاده از دستور Merege

ساده‌ترین روش برای Synchronization میان دو جدول چیست؟ در پاسخ به این سوال می‌توان به دستور Merge اشاره کرد. این راه‌حل بسیار ساده است و با کمی ابتکار و ترکیب آن با سایر امکانات موجود در SQL Server می‌توان از آن لذت برد.

بررسی نحوه استفاده از Triggerها:

  • بررسی مفهوم Trigger
  • آشنایی با DML Triggerها
    • بررسی After Trigger و نحوه پیاده‌سازی آن در SQL Server
    • بررسی Instead of Trigger و نحوه پیاده‌سازی آن در SQL Server
    • شبیه‌سازی ارسال پارامتر به تریگرها
  • بررسی استفاده از تریگر جهت کنترل Business و چالش‌های مربوط به آن
  • آشنایی با DDL Triggerها
  • آشنایی با Logon Triggerها
  • بررسی نحوه استفاده از Logon Trigger در SQL Server

 

سال‌ها پیش در جلسه‌ای موضوعی را مطرح کردم و راه‌کارم برای رفع مشکل، استفاده از Triggerها بود. یکی از افراد حاضر در جلسه با این راه‌کار مخالف بود و دلیلش هم عدم امکان استفاده از پارامترها در Triggerها بود! دلیل مخالفتش بی علت نبود و کاملا حق با او بود اما …

اما با کمی تغییر در سطح برنامه کاربردی (در حد دو یا سه خط) می‌توان به سادگی مقادیر دلخواه را به Triggerها تحویل داد و به نوعی عملیات ارسال پارامتر را شبیه‌سازی کرد!

بررسی نحوه استفاده از Stored Procedureها:

  • نحوه ایجاد Stored Procedure در SQL Server
  • بررسی پارامترهای ورودی و خروجی در Stored Procedureها
  • بررسی نحوه Encrypt و Decrypt کردن SPها
  • بررسی نحوه استفاده از ویژگی With Result Set در Stored Procedure
  • بررسی نحوه ارسال عبارات JSON به Stored Procedureها
  • بررسی نحوه ارسال انواع داده XML به Stored Procedureها
  • بررسی نحوه استفاده از Table Value Parameter در Stored Procedureها
  • دلایل استفاده از Stored Procedure و طرح موضوع Plan Cache
  • بررسی مفهوم Parameter Sniffing و مشکلات مربوط به آن در Stored Procedureها
  • بررسی نحوه رفع مشکلات مربوط به Parameter Sniffing در SQL Server

وقتی درباره Stored Procedure صحبت می‌کنیم اغلب افراد به ویژگی منحصر به فرد آن یعنی قابلیت استفاده از پلن اجرایی ذخیره شده یاد می‌کنند چرا که این ویژگی علاوه بر صرفنظر کردن از مراحل پردازش کوئری تا تولید پلن اجرایی، موجب صرفه‌جویی در استفاده از منابع سیستم نیز خواهد شد اما

احتمالا شما هم در محیط کارتان با این چالش مواجه شده‌اید که چرا یک Stored Procedure برای یک کاربر به بهترین شکل ممکن و در کوتاه‌ترین زمان اجرا می‌شود اما برای کاربری دیگر این فرایند با تاخیر همراه خواهد بود.

در این بخش ضمن کالبد شکافی این چالش، راه‌کارهای متنوع، اصولی و منطقی را ارائه خواهیم داد.

بررسی Dynamic T-SQL:

  • بررسی روش‌های کوئری‌نویسی در SQL Server
  • بررسی روند اجرای Dynamic T-SQL
  • بررسی برخی ملاحظات در هنگام کار با Dynamic T-SQL
  • بررسی سناریوهای کاربردی برای کار با Dynamic T-SQL
  1. آیا شما برای ارتباط میان برنامه کاربردی با دیتابیس، از روش Ad-Hoc استفاده می‌کنید؟
  2. برای نوشتن کوئری‌های پیچیده مبتنی بر جستجوهای سلیقه‌ای کاربران چه تمهیداتی را اندیشیده‌اید؟
  3. آیا تا به حال از قابلیت‌های فوق‌العاده Dynamic T-SQL استفاده کرده‌اید؟

در این بخش سناریو جذابی (فرم‌های جستجوی پیچیده) را هم با کمک Dynamic T-SQL مورد بررسی قرار خواهیم داد.

بررسی انواع ایندکس‌های‌ Row Base در SQL Sever

  • معرفی ایندکس و مفاهیم اولیه مربوط به آن
  • بررسی مفهوم Heap
  • بررسی مزایا و معایب  Heap
  • بررسی مفهوم Clustered Index و نحوه ایجاد آن در SQL Server
  • بررسی مفهوم NonClustered Index و نحوه ایجاد آن در  SQL Server
  • بررسی Cover Index و نحوه ساخت آن در SQL Server
  • بررسی Filtered Index و نحوه ساخت آن در SQL Server
  • بررسی پارامترهای مهم برای ساخت ایندکس
  • بررسی نحوه انتخاب کلید مناسب برای ایندکس‌های Clustered  و NonClustered در  SQL Server
  • بررسی تاثیر Primary key بر روی ایندکس‌های جداول در SQL Server
  • بررسی تاثیر Unique Constraint بر روی ایندکس‌های جداول در SQL Server

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

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

نحوه کار با داده‌های Large Object در SQL Server

  • بررسی انواع داده Binary و VarBinary
  • بررسی نکات ویژه هنگام ذخیره و بازیابی انواع داده باینری
  • بررسی چالش‌های ذخیره‌سازی داده‌های Large Object
    • ذخیره‌سازی داخل دیتابیس – بررسی مزایا و معایب
    • ذخیره‌سازی خارج دیتابیس – بررسی مزایا و معایب
  • Filestream چیست؟
  • بررسی مراحل لازم جهت پیکربندی Filestream در SQL Server
  • بررسی نحوه اعمال تنظیمات مناسب جهت کار با Filestream
  • آشنایی با Procedureهای سیستمی و VIEWهای مدیریتی مرتبط با Filestream
  • File Table چیست؟
  • بررسی مراحل لازم جهت پیکربندی File Table در SQL Server

  1. داده‌های حجیم یا Large Objectها را چگونه ذخیره می‌کنید؟ داخل دیتابیس یا خارج از آن؟
  2. آیا از قابلیت‌های ارائه شده برای این کار که توسط مایکروسافت در SQL Server فراهم شده، استفاده کرده‌اید؟

در این بخش، علاوه بر بررسی تمامی حالات مختلف نگهداری Large Objectها، شما را با قابلیت‌های منحصر به فرد Filestraem و File Table هم آشنا خواهیم کرد. به خاطر داشته باشید که چرخ قبلا اختراع شده است!

بررسی Full-text Search در SQL Server

  • آشنایی با معماری Full-text Search
  • بررسی نحوه ساخت ایندکس در Full-text
  • بررسی مفهوم Full-text Catalog و نحوه ایجاد آن در SQL Server
  • بررسی مفهوم Stop Word و Stop List در SQL Server
  • بررسی تکنیک‌هایی کاربردی جهت بهینه‌سازی Full-text Search در زبان فارسی

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

آیا استفاده از LIKE برای چنین شرایطی می‌تواند یک راه‌حل مناسب باشد؟ Full-text Search یکی از قابلیتی‌هایی است که به شما کمک خواهد کرد تا به بهترین شکل ممکن بر این چالش غلبه کنید.

 بررسی ColumnStore Index در SQL Server

  • بررسی اولیه معماری ColumnStore Index
  • بررسی مزایای ذخیره‌سازی داده‌ها به صورت ColumnStore
  • بررسی مفهوم Row Group
  • بررسی مفهوم Segment
  • بررسی نحوه ایجاد Clustered ColumnStore Index
  • بررسی نحوه ایجاد NonClustered ColumnStore Index
  • بررسی مفهوم Batch Processing
  • بررسی تاثیر معماری ColumnStore بر روی Window Functionها در SQL Server
  • بررسی تغییرات اعمال شده بر روی ColumnStore Index از SQL Server 2012 تا به امروز
  • بررسی سناریوهایی که می‌توان از ColumnStore Index در آن‌ها استفاده کرد.

ColumnStore Index از SQL Server 2012 توسط مایکروسافت ارائه شده و امروز به اوج بلوغ رسیده است و بسیاری از مشتریان بزرگ مایکروسافت همچون Nasdaq، bwin و … از این ویژگی منحصر به فرد استفاده می‌کنند.

در این دوره خواهید دید که چگونه با استفاده از این نوع ایندکس‌ها، سرعت اجرای کوئری‌ها بر روی انبوهی از داده‌ها تا چه میزان تاثیرگذار خواهد بود!

با استفاده از تکنولوژی ColumnStore در یکی از جداول انبارداده با حدود 11 میلیارد رکورد توانستیم حجم جدول را تا 8 برابر نسبت به حالت Disk-Based کاهش دهیم و نهایتا سرعت و کارایی کوئری‌های جدول به شدت افزایش یافت. اکنون سرعت اجرای بسیاری از کوئرهای تحلیلی بر روی جدول مورد نظر کمتر از 2 ثانیه (2000 میلی ثانیه) است.

معرفی Memory Optimized Table

  • آشنایی با تکنولوژی Memory Optimizes Table
  • بررسی ویژگی‌های جداول مبتنی بر تکنولوژی Memory Optimized Table
  • بررسی معماری Memory Optimized Table
  • نحوه تنظیمات لازم بر روی دیتابیس جهت کار با Memory Optimized Table
  • بررسی فایل‌های Memory Optimized Table
  • نحوه ایجاد جداول Memory Optimized Table
  • آشنایی با ساختار ذخیره‌سازی داده‌ها در Memory Optimized Table
  • معرفی و بررسی انواع ایندکس‌ها در Memory Optimized Table
  • بررسی نحوه استفاده از Columnstore Index در جداول Memory Optimized
  • بررسی تغییرات اعمال شده بر روی Memory Optimized Table از SQL Server 2014 تا به امروز

مایکروسافت در SQL Server 2014 با ارائه Memory Optimized Table انقلاب عظیمی را در زمینه ساختارهای ذخیره‌سازی جداول در بانک‌های اطلاعاتی رابطه‌ای، ایجاد کرد. اکنون قابلیت ایجاد جداول در Memory فراهم شده است و سرعت پردازش کوئری‌های مبتنی بر چنین جداولی به شکل سرسام آوری (تا 30 برابر) افزایش پیدا کرده است. برای پرواز با سرعت نور، خود را آماده کنید!

معرفی Natively Compiled Module

  • بررسی ویژگی ماژول‌های Natively Compiled
  • بررسی نحوه ایجاد Natively Compiled Stored Procedure
  • بررسی نحوه ایجاد Natively Compiled Function
  • بررسی نحوه ایجاد Natively Compiled Trigger
  • بررسی تکنیک‌های افزایش سرعت برنامه‌های کاربردی با استفاده از Natively Compiled Module

ذخیره‌سازی سوابق تغییرات با استفاده از Change Data Capture در SQL Server

  • بررسی معماری CDC
  • بررسی تکنولوژی CDC و دلایل استفاده از آن در SQL Server
  • بررسی Agentهای مخصوص CDC
  • بررسی توابع مرتبط با CDC
  • بررسی ایجاد بانک اطلاعاتی Auditing برای رکوردها با استفاده از CDC

بررسی Change Tracking در SQL Server

  • آشنایی با معماری Change Tracking
  • نحوه فعال‌سازی ویژگی Change Tracking بر روی بانک اطلاعاتی
  • نحوه فعال‌سازی ویژگی Change Tracking بر روی جداول
  • بررسی توابع مرتبط با Change Tracking در SQL Server
  • بررسی نحوه کشف تغییرات بر روی رکوردها با استفاده از Change Tracking

گاهی لازم است بدانیم که آیا پس از خواندن رکوردها، آیا دستخوش تغییر هم شده‌اند یا خیر و این‌که در صورت تغییر، نوع عملیات انجام شده بر روی آن‌ها چه بوده است. برای این منظور می‌توانیم از ویژگی Change Tracking استفاده کنیم.

بررسی Temporal Table و پیاده‌سازی آن در SQL Server

  • بررسی مفهوم Temporal Table
  • دلایل استفاده از Temporal Table
  • بررسی نحوه پیکربندی و راه‌اندازی Temporal Table
  • بررسی روش‌های واکشی داده از جداول سابقه
  • بررسی نحوه پیاده‌سازی کوئری‌ها به صورت Time Travel
  • بررسی سناریوهای کاربردی با استفاده از Temporal Table در SQL Server

 

مایکروسافت در SQL Server 2016 قابلیتی را با عنوان Temporal Table معرفی کرد که با استفاده از آن می‌توان علاوه بر مشاهده آخرین وضعیت یک رکورد، به تمام تاریخچه آن نیز دسترسی داشت. با استفاده از این قابلیت و بدون نیاز به برنامه‌نویسی و صرفا با انجام برخی تنظیمات می‌توان ضمن نگهداری تاریخچه سوابق داده‌ها، در صورت لزوم با بررسی تغییرات انجام شده اقدامات لازم را انجام داد.

معرفی انواع داده Spatial Data

  • آشنایی با انواع داده Spatial Data
    • معرفی نوع داده Geometry
    • معرفی نوع داده Geography
  • بررسی نحوه کار با انواع داده Geometry و Geography در SQL Server
  • بررسی نحوه کوئری‌نویسی بر روی انواع داده Geometry و Geography
  • نحوه ایجاد Spatial Indexها به منظور افزایش کارآیی

 

مایکروسافت در SQL Server 2008 نوع داده‌ای با عنوان Spatial Data را معرفی کرد تا با کمک آن بتوان موقعیت‌های فیزیکی آبجکت‌ها را ذخیره کرد. این نوع داده شامل دو گونه مختلف می‌باشد:

  • Geometry

مبنای کار بر پایه هندسه دوبعدی یا اقلیدسی است و برای نگهداری مختصات داده‌ها بر روی سطوح مسطح مورد استفاده قرار می‌گیرد.

  • Geography

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

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

معرفی نوع داده HierarchyID در SQL Server

  • آشنایی با مفهوم Hierarchy (سلسله مراتب)
  • بررسی نحوه استفاده از نوع داده HierarchyID در SQL Server
  • بررسی انواع متدهای مربوط به کار با نوع داده HierarchyID (GetAncestor, GetDescendant, GetLevel)
  • بررسی تکنیک‌های ایندکس‌گذاری بر روی نوع داده HierarchyID
  • بررسی روش‌ Parent/Child برای پیاده‌سازی Hierarchy در SQL Server
  • بررسی نحوه نوشتن کوئری‌های بازگشتی با استفاده از CTE جهت پیمایش داده‌های سلسله مراتبی

بسیاری از افراد بدون آگاهی از وجود نوع داده HierarchyID در SQL Server برای پیاده‌سازی ساختار سلسله مراتبی در بانک‌های اطلاعاتی خود از روش Parent/Child استفاده می‌کنند، اما زمانی که بخواهند کوئری‌های پیچیده‌ای مانند بدست آوردن کلیه فرزندان یک گره یا کلیه والدین یک گره را بنویسند متوسل به روش‌هایی مانند ایجاد پروسیجرهای پیچیده، کد نویسی در Application و… می‌شوند. با استفاده از نوع داده HierarchyID که از SQL Server 2008 ارائه شده است می‌توان داده‌های چنین ساختارهایی را با استفاده از آن در جداول خود ذخیره کرده و با استفاده از متدهای موجود، به بهترین شکل ممکن، بر مشکلات غلبه کرد.

آشنایی با XML در SQL Server

  • معرفی و بررسی نوع داده XML
  • بررسی انواع عبارات XML
  • بررسی روش‌های ساخت XML با استفاده از دستور TSQL
  • بررسی استفاده از XSDها
  • بررسی نحوه استفاده از عبارت FOR XML RAW
  • بررسی نحوه استفاده از عبارت FOR XML AUTO
  • بررسی نحوه استفاده از عبارت FOR XML PATH
  • بررسی نحوه استفاده از عبارت FOR XML EXPLCIT
  • بررسی متدهای مربوط به نوع داده XML (Exists , Value ,…)
  • آشنایی با XQuery
  • آشنایی با تابع OpenXML در SQL Server
  • بررسی نحوه اعمال ایندکس بر روی فیلدهای XML
  • بررسی نحوه پیاده‌سازی Primary Index بر روی فیلدهای XML
  • بررسی نحوه پیاده‌سازی Secondary Index بر روی فیلدهای XML
  • بررسی نحوه Import یک فایل XML در SQL Server
  • بررسی ابزارهای کاربردی برای کار با عبارات XML

آشنایی با JSON در SQL Server

  • معرفی و بررسی عبارات JSON
  • بررسی تفاوت JSON و XML
  • بررسی نحوه استفاده از عبارت FOR JSON AUTO
  • بررسی نحوه استفاده از عبارت FOR JSON PATH
  • بررسی نحوه کار با تابع OPENJSON در حالت‌های مختلف
  • بررسی استفاده از تابع ISJSON
  • بررسی استفاده از تابع JSON_VALUE
  • بررسی استفاده از تابع JSON_QUERY
  • بررسی استفاده از تابع JSON_MODIFY
  • بررسی تکنیک‌هایی کاربردی در جهت ایندکس‌گذاری بر روی عبارات JSON
  • بررسی نحوه Import کردن یک فایل JSON در SQL Server
  • بررسی ابزارهای کاربردی برای کار با عبارت‌های JSON

آشنایی با Graph Table در SQL Server

  • بررسی Graph Table و نحوه ایجاد آن در SQL Server
  • بررسی نحوه ساخت جداول Node
  • بررسی نحوه ساخت جداول Edge
  • بررسی نحوه ایندکس‌گذاری بر روی جداول Node و Edge
  • بررسی نحوه اعمال Constraint بر روی Edgeها
  • بررسی نحوه پر کردن داده در Graph Tableها
  • بررسی عبارت‌های CQL (Cypher Query Language)
  • بررسی نحوه استفاده از اپراتور Match جهت استخراج داده از Graph Tableها
  • بررسی استفاده از دستور Merge بر روی Graph Table جهت انجام عملیات DML
  • پیاده‌سازی راه‌حل برای مسئله Shortest Path

آیا هنوز هم برای ایجاد روابط پیچیده میان موجودیت‌ها در SQL Server با مشکل روبرو هستید و برای رفع آن اقدام به کارهای پیچیده‌ای می‌کنید؟ دیگر نگران این موضوع نباشید! از SQL Server 2017 قابلیت Graph Table توسط مایکروسافت ارائه شده است که با استفاده از آن می‌توان روابط پیچیده میان موجودیت‌ها را پیاده‌سازی کرده و با استفاده از متدهای موجود، به سادگی نتایج دلخواه را از چنین جدولی استخراج کرد.

امنیت ویژه برنامه‌نویسان

  • آشنایی با مفهوم Authentication
  • آشنایی با مفهوم Windows Authentication
  • آشنایی با مفهوم SQL Server Authentication
  • آشنایی با مفهوم Login
  • آشنایی با مفهوم Role
  • آشنایی با مفهوم Database Role
  • آشنایی با مفهوم Application Role
  • آشنایی با مفهوم Server Role
  • آشنایی با Database User
  • آشنایی با مفهوم Encryption
  • آشنایی با سلسله مراتب Encryption در SQL Server
  • بررسی مفهوم Hash و نحوه استفاده از آن در SQL Server
  • بررسی سناریوهای کاربردی برای استفاده از Hash در SQL Server
  • بررسی Service Master Key در SQL Server
  • بررسی Database Master Key در SQL Server
  • بررسی مفهوم Certificate
  • بررسی مفهوم Asymmetric Key
  • بررسی مفهوم Symmetric Key
  • بررسی Row Level Security و نحوه پیاده‌سازی آن در SQL Server
  • بررسی Dynamic Data Masking و نحوه پیاده‌سازی آن در SQL Server
  • بررسی Always Encrypt و نحوه پیاده‌سازی آن در SQL Server
  • بررسی TDE و نحوه Encrypt کردن فایل‌های مربوط به بانک اطلاعاتی با استفاده از TDE

  1. تا چه میزان از امنیت نگهداری Data File و Log File دیتابیس‌تان اطمینان خاطر دارید؟
  2. آیا می‌دانید ممکن است دیتابیس سازمان شما در جای دیگری هم مورد استفاده قرار گیرد بدون آن‌که روحتان خبردار این موضوع شده باشد؟!
  3. آیا می‌دانید با Stop کردن سرویس SQL، قابلیت کپی برداری از دیتابیس وجود دارد؟
  4. یکی از راه‌کارهای امن‌سازی دیتابیس و جلوگیری از وقوع چنین مواردی استفاده از تکنولوژی TDE است.

استفاده از سرویس Agent برای برنامه‌نویسان

  • آشنایی با سرویس Agent
  • آشنایی با مفهوم Job و نحوه تعریف آن در SQL Server
  • بررسی مفهوم Task و نحوه تعریف آن در SQL Server
  • بررسی مفهوم Schedule و نحوه تعریف آن در SQL Server
  • بررسی مفهوم Proxy و نحوه تعریف آن در SQL Server
  • بررسی سناریوهای کاربردی برای برنامه‌نویسان جهت استفاده از سرویس Agent

بررسی SQL Server Profiler

  • معرفی برنامه SQL Server Profiler
  • بررسی معماری SQL Server Profiler
  • نحوه تعامل برنامه‌های کاربردی با SQL Server Profiler
  • بررسی سناریوهای کاربردی برای برنامه‌نویسان جهت کار با SQL Server Profiler

معرفی و بررسی Extended Event مخصوص برنامه‌نویسان

  • معرفی اولیه Extended Event
  • بررسی مفهوم Package
  • بررسی مفهوم Event
  • بررسی مفهوم Action
  • بررسی مفهوم Filter
  • بررسی مفهوم Session
  • بررسی مفهوم Target
  • بررسی استفاده از XEvent Profiler
  • بررسی سناریو پیدا کردن کوئری‌های کُند
  • بررسی سناریو ذخیره Execution Plan کوئری‌ها
  • بررسی پیدا کردن Deadlock با استفاده از Extended Event

آشنایی با Lock و Transaction

  • بررسی مفهوم Transaction
  • بررسی ویژگی‌های Transaction (ACID) در هر RDBMS
  • انواع Transaction در SQL Server
  • بررسی مشکلات همزمانی
    • Dirty Read
    • Non-Repeatable Read
    • Phantom Read
    • Lost Update
  • بررسی روش‌های جلوگیری از مشکلات همزمانی
  • بررسی تفاوت‌های میان Lock و Latch
  • بررسی انواع Lock در SQL Server
  • آشنایی با مفهوم Blocking
  • آشنایی با مفهوم Deadlock
  • بررسی مفهوم Isolation Level
  • بررسی انواع Isolation Level در SQL Server

 

  1. آیا در هنگام کار با بسیاری از برنامه‌های کاربردی یا سیستم‌های تحت وب، با کندی شدید مواجه شده‌اید؟
  2. آیا برای ثبت نام در یک وب سایت، خرید از یک فروشگاه آنلاین و … آن قدر منتظر مانده‌اید که از ادامه کار منصرف شده باشید؟
  3. آیا …

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

کلید موفقیت، آگاهی از مفهوم Transaction و ویژگی‌های آن است.

بررسی Defensive Programming در SQL Server

  • برنامه نویسی تدافعی چیست؟
  • بررسی برخی تفکرات غلط در دنیای بانک‌های اطلاعاتی
  • بررسی آسیب‌پذیری کدها به دلیل برداشت‌های غلط
  • بررسی سناریوهای کاربردی و روش‌های مبتنی بر برنامه‌نویسی تدافعی

رویکرد برنامه‌نویسی تدافعی در SQL Server شامل موارد زیر است:

  • شناسایی، تعریف و درک صحیح از پیش‌فرض‌ها
  • تست اسکریپت‌ها
  • نگاه ماژولاریتی به اسکریپت‌ها
  • ایجاد شرایط مناسب جهت استفاده مجدد

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

بررسی نحوه ایجاد روال‌های Error Handling

  • بررسی مفهوم Error Handling در SQL Server
  • بررسی متغییر سیستمی @@Error
  • بررسی استفاده از Try…Catch
  • بررسی نحوه ایجاد Custom Error
  • بررسی نحوه استفاده از Throw برای ایجاد خطا

آشنایی با Linked Server

  • بررسی تکنولوژی Linked Server
  • بررسی نحوه تنظیم Linked Server در SQL Server
  • بررسی تنظیمات امنیتی مربوط به Linked Server
  • بررسی نحوه نوشتن Distribute Query در SQL Server
  • بررسی نحوه استفاده از تابع OpenQuery و ترکیب آن با Linked Server
  • بررسی مفهوم Distributed Transaction
  • بررسی نحوه پیکربندی Microsoft Distributed Transaction Coordinator برای کار با Distributed Transaction
  • بررسی تکنیک‌هایی کاربردی در راستای افزایش سرعت Linked Server

کسانی که با Linked Server کار می‌کنند همواره از کُندی آن در برخی از سناریوها، شکایت دارند. برای افزایش سرعت کار با این تکنولوژی می‌بایست تنظیمات مناسبی را سمت Linked Server را ایجاد کرده و حتی گاهی سبک کوئری‌نویسی خود را نیز عوض کنید. در طی این دوره شما با تکنیک‌های کاربردی در این زمینه آشنا خواهید شد.

تکنولوژی Polybase در SQL Server

  • بررسی تکنولوژی Polybase
  • بررسی مفهوم Data Virtualization در SQL Server
  • بررسی مکانیزم Push Down در Polybase
  • بررسی نحوه نصب و راه‌اندازی تکنولوژی Polybase
  • بررسی مدل‌های پیاده‌سازی Polybase در SQL Server
  • بررسی تنظیمات امنیتی Polybase
  • بررسی مفهوم External Table در SQL Server
  • بررسی نحوه اتصال به بانک‌های اطلاعاتی MongoDB با استفاده از Polybase
  • بررسی نحوه اتصال به بانک‌های اطلاعاتی MySQL با استفاده از Polybase

با استفاده از Linked Server می‌توان ارتباط میان SQL Server با بانک‌های اطلاعاتی دیگری (مثلا اوراکل) را برقرار کرده و داده‌های مورد نیاز را از آن واکشی کرد اما این کار شما را با چالش‌های متعددی روبرو خواهد کرد و …

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

نحوه کار با SMO در SQL Server

  • آشنایی با SMO
  • نصب و راه‌‌اندازی SMO در .NET
  • آشنایی اولیه با برخی از Objectهای موجود در SMO
  • بررسی انواع روش‌های اتصال با SMO به Instanceها
  • بررسی سناریو آشنایی با نحوه به دست آوردن لیست Instanceهای موجود در یک سیستم
  • بررسی سناریو به دست آوردن لیست Databaseهای موجود در یک Instance
  • بررسی سناریو تهیه نسخه پشتیبان با استفاده از SMO

معرفی CLR و کاربرد آن در SQL Server

  • بررسی تنظیمات Instance برای کار با CLR در SQL Server
  • بررسی نحوه ایجاد CLR Stored Procedureها در SLQ Server
  • بررسی نحوه ایجاد CLR User-Defined Functionها در SQL Server
  • بررسی نحوه ایجاد CLR Triggerها در SQL Server
  • بررسی نحوه ایجاد CLR User-Defined Typeها درSQL Server
  • بررسی نحوه ایجاد CLR Aggregateها در SQL Server
  • بررسی نحوه رجیستر کردن اسمبلی‌ها در SQL Server
  • بررسی نکات امنیتی در خصوص رجیستر کردن اسمبلی‌ها در SQL Server

استفاده از SQL Server Service Broker

  • آشنایی با Service Broker
  • آشنایی با مفهوم Deferred Processing
  • بررسی نحوه تنظیم و راه‌اندازی Service Broker در SQL Server
  • بررسی اجزاء Service Broker
    • بررسی مفهوم Message
    • بررسی مفهوم Message Type
    • بررسی مفهوم Contract
    • بررسی مفهوم Queue
    • بررسی مفهوم Dialog
    • بررسی مفهوم Service
    • بررسی مفهوم Activation
  • بررسی نحوه پیاده‌سازی Internal Activation در Service Broker
  • بررسی نحوه پیاده‌سازی External Activation در Service Broker
  • بررسی سناریوی ارسال Message میان دو Instance از SQL Server
  • بررسی سناریوهای کاربردی برای استفاده از Service Broker در بانک‌های اطلاعاتی

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

با شناسایی چنین تراکنش‌هایی و با توجه به مدل کسب و کار، ضمن بازنویسی و تعدیل تراکنش‌ها، حجم زیادی از کارها را به شکل Asynchronous و پس از خاتمه تراکنش، انجام داد. گاهی استفاده از Service Broker برای انجام چنین کارهایی می‌تواند به عنوان یک برگ برنده به حساب آید.

استفاده از Query Notification در .NET و SQL Server

  • بررسی تنظیمات لازم برای راه‌اندازی Query Notification
  • بررسی کلاس SQLDependency در SQL Server
  • پیاده‌سازی یک برنامه ویندوزی ساده و استفاده از کلاس SQLDependency

استفاده از امکانات سایر زبان‌های برنامه‌نویسی در SQL Server

  • مقدمه‌ای بر Machine Learning
  • بررسی و راه‌اندازی سرویس Machine Learning در SQL Server
  • بررسی نحوه استفاده از زبان Python در SQL Server
  • اجرای کدهای Python با استفاده از Procedure
  • بررسی چند سناریوی کاربردی برای استفاده از سایر زبان‌های برنامه‌نویسی در SQL Server

بررسی SQL Linux

  • بررسی معماری SQL Linux
  • بررسی سرویس‌ها و ویژگی‌های قابل استفاده در SQL Linux
  • بررسی نحوه نصب SQL Linux با استفاده از Packageها
  • نحوه نصب Editionهای مختلف Linux در محیط Production
  • بررسی اتصال به SQL Linux
  • بررسی اعمال تنظیمات سطح Instance در SQL Linux
  • تهیه یک نسخه پشتیبان در SQL Server تحت ویندوز و بازیابی آن در SQL Linux
  • تهیه یک نسخه پشتیبان در SQL Linux و بازیابی آن در SQL Server تحت ویندوز
  • بررسی سناریوهای کاربردی برای استفاده از SQL Linux

بررسی Docker و اجرای SQL Server تحت Docker

  • آشنایی با مفهوم Docker
  • بررسی مفهوم Container
  • بررسی مفهوم Image
  • بررسی مفهوم Volume
  • آشنایی با مفهوم Registry
  • بررسی نحوه پیکربندی داکر تحت Windows Server 2019
  • بررسی نحوه نصب Imageهای مربوط به SQL Server 2019
  • بررسی نحوه ساخت Container از Imageهای SLQ Server 2019
  • بررسی نحوه اتصال به Containerهای SQL Server
  • تهیه یک نسخه پشتیبان در SQL Server تحت Docker و بازیابی آن در SQL Server تحت ویندوز
  • تهیه یک نسخه پشتیبان در SQL Server تحت ویندوز و بازیابی آن در SQL Server تحت Docker
  • معرفی اولیه Kubernetes و استفاده از آن جهت مدیریت Containerها در سطح Enterprise

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

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

انباره داده و فلسفه آن برای گزارش‌گیری

  • بررسی مفهوم انباره داده
  • بررسی انواع جداول موجود در انباره داده (جداول Fact و جداول Dimension)
  • بررسی مفهوم ETL و معرفی ابزارهای مربوط به آن
  • بررسی مفهوم OLAP Database
  • بررسی مفهوم Cube و تاثیر آن بر روی روش گزارش‌گیری برنامه‌ها
  • بررسی روش‌های پُر کردن انباره داده
  • بررسی ابزار ایجاد پورتال برای مشاهده گزارش‌ها
  • استفاده از Report Builder
  • استفاده از Mobile Report Publisher
  • استفاده از ابزار Power BI

معرفی ابزارهای جانبی در SQL Server

  • معرفی و بررسی نرم‌افزار Azure Data Studio

ابزار Azure Data Studio یک تجربه جدید برای کسانی است که تا به حال فقط با SQL Server Management Studio کار کرده‌اند. این ابزار به صورت cross-platform است و می‌توان به صورت on-premises  و cloud  و بر روی سیستم عامل‌های مختلفی همچون ویندوز، لینوکس و مکینتاش از آن استفاده کرد.

  • معرفی و بررسی ابزار Entity Framework Profiler

اغلب توسعه دهندگان و برنامه‌نویسانی که با Entity Framework کار می‌کنند تمایل دارند تا بتوانند کوئری‌های T-SQL ارسالی به SQL Server را مشاهده و آن‌ها را آنالیز کنند. ابزار Efprof این ویژگی را در اختیار آن‌ها قرار می‌دهد تا به سادگی بتوانید این کار را انجام دهند.

  • معرفی و بررسی برنامه SQL Query Stress

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

  • معرفی و بررسی ابزار DB Schema

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

  • معرفی و بررسی ابزار Gephi

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

  • بررسی برخی از مجموعه ابزارهای Redgate برای برنامه‌نویسان و توسعه دهندگان بانک‌های اطلاعاتی
  • بررسی برخی از مجموعه ابزارهای Apex برای برنامه‌نویسان و توسعه دهندگان بانک‌های اطلاعاتی

ایجاد نسخه Read-only از بانک اطلاعاتی برای گزارش‌گیری

  • معرفی تکنولوژی Always-ON
  • معرفی روش‌های مختلف راه‌اندازی Always-ON
  • بررسی نحوه راه‌اندازی Always-ON به صورت Read-Scale
  • بررسی مفهوم Availability Group در SQL Server
  • بررسی مفهوم Listener
  • بررسی مفهوم Replica
  • بررسی نحوه اتصال Applicationها برای بانک اطلاعاتی Read-only

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

  • استفاده از تکنیک Backup & Restore
  • استفاده از Log Shipping
  • استفاده از Replication
  • انجام عملیات تغییر داده بر روی دو سرور

همه این روش‌ها برای خود دردسرها و چالش‌هایی خاص دارند که ممکن است شما آنها را تجربه کرده باشید. اما نگران نباشید در SQL Server 2017 به بعد یکی ویژگی به نام Read-Scale Availability Group  برای Always-ON اضافه شده که شما با راه‌اندازی و تنظیم آن می‌توانید به راحتی آب خوردن کپی از بانک اطلاعاتی خود را به صورت Read-only داشته باشید.

بررسی نکات مربوط به افزایش کارایی Entity Framework و SQL Server

  • کار با Memory Optimized Table با استفاده از EF
  • کار با Natively Compiled Module با استفاده از EF
  • بررسی برنامه Entity Framework Profiler برای Trace کردن کوئری‌های EF
  • ذخیره و بازیابی داده باینری در جداول با استفاده از EF
  • ذخیره و بازیابی داده باینری در نوع داده Filestream با استفاده از EF
  • ذخیره و بازیابی داده باینری در File Table با استفاده از EF
  • ترکیب Query Notification و SignalR
  • استفاد از Query Notification در Entity Framework

معرفی و بررسی بانک‌های اطلاعاتی NOSQL برای برنامه‌نویسان

  • بررسی مفهوم NOSQL
  • بررسی نظریه CAP
  • بررسی و معرفی بانک‌های اطلاعاتی NOSQL
  • معرفی و بررسی بانک‌های اطلاعاتی از نوع Document Database
  • معرفی و بررسی بانک‌های اطلاعاتی از نوع Columnar Database
  • معرفی و بررسی بانک‌های اطلاعاتی از نوع Key-value Database
  • معرفی و بررسی بانک‌های اطلاعاتی Graph Database
  • پیاده‌سازی یک Demo ساده با استفاده از Elasticsearch در جهت افزایش سرعت جستجو به صورت Full-text

مدرسین این دوره آموزشی چه کسانی هستند؟

مهدی شیشه‌بری [مدرس و مشاور SQL Server]

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

مدرس دوره های SQL Server در نیک آموز
دارای 10 سال سابقه تدریس در سازمان‌های دولتی
برگزار کننده دوره های مختلف SQLServer در سازمانهای دولتی
مشاور SQLServer در سازمانهای دولتی
متخصص، مدرس و مشاور SQL Server و مباحث فوق پیشرفته دیتابیس

مهندس مهدی شیشه بری

مسعود طاهری [مدرس و مشاور ارشد SQL Server & BI]

مدیر فنی پروژه‌های SQL Server و هوش تجاری در نیک آموز
رئیس واحد دیتابیس شرکت پرداخت الکترونیک سداد
کارشناس ارشد تحلیل و طراحی شرکت تجارت الکترونیک پارسیان (PEC co).
مدرس دوره ۲۵ جلسه ای آموزش Performance Tuning در SQL Server
مدرس دوره ۲۵ جلسه‌ای هوش تجاری در SQL Server
مدرس دوره High Availability در SQL Server
سخنران همایش معرفی قابلیت های جدید SQL Server 2016
سخنران بخش هوش تجاری همایش مورد تایید مایکروسافت در سال ۲۰۱۷ در ایران
مشاور SQL Server در شرکت مهندسی رایورز، سازمان کشتیرانی کل کشور و شرکت توسعه رفاه پردیس (بانک رفاه)
مدرس دوره‌های سازمانی از جمله سازمان بورس، کشتیرانی، شونیز، سازمان زندان‌ها، مرکز آمار ایران، رایورز و…
متخصص، مدرس و مشاور SQL Server و مباحث فوق پیشرفته بانک اطلاعاتی و هوش تجاری

علیرضا ارومند [مدرس و معمار ارشد نرم افزار]

علیرضا ارومند به عنوان Technical Manager شرکت داتین (وابسته به فناپ) در حوزه پروژه‌های بانکی فعال است.

مدرس و Technical Manager پروژه‌های نیک آموز
تولید فریمورک برنامه نویسی فوق العاده حرفه‌ای با مدیریت بیش از 1 میلیون تراکنش در ثانیه
همکاری با تیم توسعه شرکت ارتباط فردا (بانک آینده)
مشاور فنی شرکت توسعه رفاه پردیس (بانک رفاه) و مدیر فنی خبرگزاری نسیم
سخنران تنها همایش مورد تایید مایکروسافت در خاورمیانه در حوزه ASP.NET Core
مدیر فنی خبرگزاری بین المللی پیام‌کوتاه نسیم (برنده جشنواره وب ایران)
مدرس دوره های Dot Net ، ASP.NET در نیک آموز
کارشناس ارشد و معمار نرم افزار شرکت هایپرمدیا
معمار نرم افزار و توسعه دهنده سیستم های اداری مرکزتحقیقات ساختمان و مسکن وزارت مسکن
مشاور IT معاون وزیر مسکن و شهرسازی در مرکزتحقیقات ساختمان و مسکن
برگزاری دوره آموزش برنامه نویسی وب برای تیم فنی خبرگزاری بین المللی نسیم.

سیاوش گلچوبیان [مدرس و مشاور ارشد SQL Server & BI]

متخصص و مشاور در زمینه مدیریت پایگاه داده SQL Server
طراحی و بهینه سازی ساختارهای OLTP و Data Warehouse متخصص و مشاور توسعه BI
– سرویس‌های مایکروسافت SQL Server Integration Services
– سرویس‌های تجزیه و تحلیل و داشبورد [SSRS , SSAS , PowerBI]
رئیس واحد دیتابیس شرکت خودروسازی سایپا
مشاوره و اجرا در حوزه‌های BI و DBA در گروه گلدیران
مشاوره و اجرا در حوزه‌های BI و DBA در گروه صنعتی گلرنگ
مشاوره و اجرا در حوزه‌های BI و DBA در شرکت خدمات فنی رنا
طراح و مجری پروژه پیاده سازی BI در شرکت پتروشیمی امیرکبیر
طراح و مجری پروژه پیاده سازی BI در سازمان هواپیمایی کشوری
مشاور پروژه پیاده سازی نوع خاصی از BI تحت عنوان سیستم های Fraud Detection (کشف تقلبات) در بانک شهر

با ثبت نام در این دوره چه چیزهایی دریافت می‌کنید؟

null

دانلود مثال‌ها

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

null

پشتیبانی تلگرامی

با ثبت در دوره از پشتیبانی تلگرامی برخوردار خواهید بود

null

جزوات دوره

خلاصه مباحث دوره به صورت فایل PDF تقدیم شما می‌گردد

null

فیلم‌ آموزشی

با شرکت در این دوره به فیلم‌های آموزشی دسترسی خواهید داشت

این دوره مناسب چه کسانی است؟

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

 

 

دوره حضوری با دوره غیرحضوری چه فرقی دارد؟

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

 

پشتیبانی بوسیله یک گروه تلگرام اختصاصی

تصور کنید شما جلسه اول را گذارنده‌اید و یا فیلم آنرا تماشا کرده‌اید، حال از جلسه اول یک سوال برای شما پیش آمده است:

 

۱- آیا باید یک هفته صبر کنید تا سوال خود را مطرح کنید؟
۲- آیا باید تلفن کنید و با مدرس صحبت کنید؟
۳- آیا باید ایمیل بزنید؟

تنها با پرسیدن در گروه تلگرامی VIP مشکل شما به راحتی آب خوردن توسط مدرس و سایر دوستان دیگر حل خواهد شد. از دوره لذت ببرید!

دوره در یک نگاه کلی

عنوان دوره: دوره آموزش SQL Server ویژه برنامه نویسان
مخاطبین: برنامه نویسان و مدیران بانک اطلاعاتی است که می‌خواهند از امکانات SQL Server بصورت حرفه‌ای استفاده کنند.
پیش نیاز دوره: کوئری نویسی مقدماتی و حداقل 2 سال سابقه برنامه نویسی
طول دوره: ۳۰ جلسه
تاریخ شروع : ۱۱ مهر ۱۴۰۰
نحوه ارائه: غیرحضوری و دانلودی
پشتیبانی: دارای گروه تلگرامی اختصاصی است
پشتیبانی وبیناری: هر ۸ جلسه یک وبینار پرسش و پاسخ
قیمت: ۴.۶۹۰.۰۰۰ تومان
سال تولید: تابستان ۱۴۰۰
مدرسین دوره: مهدی شیشه بری، مسعود طاهری، علیرضا ارومند، سیاوش گلچوبیان
تخفیف زمان ثبت نام: ۱ میلیون تومان
تخفیف دوره قبلی: ۶۹۰ هزار تومان

مبلغ دوره: 

شرایط غیرحضوری:
محتوای غیرحضوری: ساعت آموزش تصویری (فیلم)، صوت دوره، تمرین‌ها، PDF جزوات، دانلود از طریق پنل کاربری
مبلغ سرمایه گذاری غیرحضوری: چهار میلیون و ششصد و نود هزار تومان است.

آیا مبلغ دوره مناسب است!؟

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

نحوه ثبت‌نام در دوره به چه شکل است

ثبت نام بصورت غیرحضوری:
۱- در ابتدای صفحه فرم درخواست مشاوره را تکمیل نمایید.
۲- کارشناس ما با شما در تماس خواهد بود.

در صورت نیاز به صدور فاکتور رسمی لطفا با شماره ۹۱۰۷۰۰۱۷ – ۰۲۱ داخلی ۱ تماس حاصل نمایید.

پاسخ به سوالات متداول در مورد این دوره

1- روی دکمه دریافت مشاوره در دوره کلیک کنید و شماره تماس خود را وارد نمایید. تا کارشناسان نیک آموز جهت راهنمایی با شما تماس بگیرند.

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

تاریخ شروع دوره ۱۱ مهر ماه ۱۴۰۰می باشد.

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

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

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

فرم درخواست مشاوره و تخفیف ویژه

دیدگاهها

  1. سعید

    :

    با احتساب ۱ میلیون تومن تخفیف میشه جلسه ای ۱۲۳ هزار تومان.
    فکر نمیکنید یه کم زیاده؟؟
    متاسفانه شرایط اقساطی هم ندارید !

    • جواد اسماعیلی

      :

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

  2. سالار طارمی

    (مالک تایید شده):

    دوره ی خوبیه
    ولی با احتساب تخفیف پیش ثبت نام میشه جلسه ای 123 هزار تومان!!
    فکر نمیکنید گرونه؟؟؟
    شرایط اقساط هم که ندارین متاسفانه!!!
    لطفا نظر من رو هم منتشر کنید
    ممنون

    • جواد اسماعیلی

      :

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

  3. سالار طارمی

    (مالک تایید شده):

    سلام.
    لطفا اگه میشه اقساطیش کنید کنید تا همه بتونن توی دوره شرکت کنن.
    ممنون

    • جواد اسماعیلی

      :

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

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

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

ثبت نام دوره آموزشی SQL Server ویژه برنامه نویسان به صورت اقساطی
ثبت نام در دوره
close-image