مطالب آموزشی در این جلسه:
جلسه اول: مبانی دیتابیس و SQL Server
- مفهوم دیتابیس
- RDBMS
- عملکرد SQL Server
- بررسی تفاوتهای ویرایش های مختلف نرم افزار
- مولفه ها و سرویس های SQL Server
- آشنایی با ابزارهای مدیریتی SQL Server
- ملزومات نرم افزاری و سخت افزاری نصب نرم افزار
- ملزومات نصب نرم افزار در محیط پروداکشن
جلسه دوم: نصب نرم افزار SQL Server
- آموزش کامل نصب Database Engine با تمام جزئیات
- بررسی مفهوم instance
- نصب Management Studio
- رفع Errorهای احتمالی در هنگام نصب نرم افزار
- نکاتی درباره Upgrade کردن SQL Server
- بررسی زبان SQL
جلسه سوم: محیط SSMS
- بررسی گزینه های موجود در SSMS
- بررسی Object Explorer
- نحوه اتصال به انجین instanceها و سرورهای دیگر
- بررسی زبان SQL
- بررسی دستورات کاربردی درباره محیط SSMS و Engine و Instance و سیستم عامل
- معرفی متغیرهای سیستمی VERSION@@ و SERVICENAME@@ و SERVERNAME@@
- ایجاد فایل UDL و نحوه ارتباط توسط آن
- رفع errorهای احتمالی در هنگام اتصال به SQL Server
جلسه چهارم: اصول تحلیل و طراحی پایگاه داده
- مبانی تحلیل و طراحی پایگاه داده
- توضیحات جامع درباره انواع روابط بین موجودیت ها
- مدل سازی و طراحی منطقی
- نحوه نگاشت مدل به اشیاء دیتابیس
- پیاده سازی مدل ساده سیستم فروش
- پیاده سازی سیستم رسیدگی به پیشنهادات و شکایات
- قواعد جامعیت و نرمال سازی
جلسه پنجم: ایجاد و تغییر ساختار دیتابیس
- ایجاد دیتابیس و بررسی انواع حالات آن [CREATE DATABASE]
- حذف دیتابیس و بررسی انواع حالات آن [DROP DATABASE]
- تغییرات روی دیتابیس [ALTER DATABASE]
- ایجاد و حذف تغییر دیتا فایل ها و لاگ فایل ها [ADD - MODIFY - REMOVE]
- تغییرات ویژگی های دیتا فایل ها و لاگ فایل ها
- کاربردهای Filegroup
- بررسی پراپرتی های دیتابیس و تابع DATABASEPROPERTYEX
- پروسیجرها و ویوهای سیستمی sp_help, sp_helpfile, sys.databases, sys.database_files, sys.sysfiles, sp_renamedb, sys.master_files, sp_MSforeachdb, sp_DATABASES
جلسه ششم: ایجاد و تغییر ساختار جداول
- بررسی دقیق انواع data type های عددی، رشته ای، تاریخ، باینری و سایر انواع داده
- بررسی مقایسه ای بین انواع datatypeهای رشته ای از نظر میزان اشغال فضا و کارکترهای یونیکدی
- مقایسه ضمنی بین datatypeهای از نوع تاریخ
- User Defined Data Types
- ایجاد جداول [CREATE TABLE]
- اعمال تغییرات ساختاری در جداول (تغییر فیلد، تغییر نوع داده فیلد، حذف و اضافه کردن فیلد در جدول) [ALTER TABLE]
- حذف جداول [DROP TABLE]
- بررسی مقدماتی ویژگی Identity
- بررسی توابع TYPE_ID, TYPE_NAME, TYPEPROPERTY
- پروسیجرها و جداول و ویوهای سیستمی sys.types, sp_datatype_info, INFORMATION_SCHEMA.COLUMNS, SP_HELP, INFORMATION_SCHEMA.TABLES, sys.columns, sp_rename, sys.tables, sp_columns, sp_tables, sp_msforeachdb, sp_msforeachtable
جلسه هفتم: SELECT..FROM..WHERE
- ساختار کلی دستورات پرس و جو و اولویت اجرای دستورات در آن
- بررسی دستور SELECT
- انجام محاسبات ریاضی برای واکشی اطلاعات در SELECT
- استفاده از Alias
- بررسی دستورات وقفه [WAIT FOR DELAY]
- ایجاد جداول لحظه ای در SELECT
- دلایل پرفورمنسی عدم استفاده از SELECT * FROM
- بررسی فیلترینگ رکوردها توسط WHERE در دستور پرس و جوی SELECT
- بررسی انواع اپراتورهای مقایسه ای و محاسباتی
- بررسی انواع اپراتورهای منطقی: AND, OR, NOT, BETWEEN
- بررسی موشکافانه اپراتور منطقی LIKE
- بررسی گزاره منطقی IN, NOT IN
- بررسی اپراتورهای منطقی دیگر: ALL, SOME, ANY, EXISTS
- اولویت اجرای اپراتورها
- WHERE و فیلدهای با نوع داده تاریخ
- مفهوم NULL - استفاده از عبارت IS NULL و IS NOT NUL در WHERE
- مقایسه ستونهای جداول با یکدیگر
- جداول و ویوهای سیستمی sys.dm_os_windows_info, sys.dm_os_host_info, INFORMATION_SCHEMA_COLUMNS و تابع سیستمی SERVERPROPRTY
جلسه هشتم: GROUP BY - HAVING
- کار با Aggregate Functionها
- معرفی توابع تجمعی AVG, COUNT, SUM, MAX,MIN و برخی توابع دیگر
- استفاده از GROUP BY در دستور پرس و جو برای گروهبندی اطلاعات
- GROUP BY و DISTINCT
- WHERE و GROUP BY
- اعمال فیلتر بر روی توابع تجمعی توسط HAVING
- GROUP BY ALL
جلسه نهم: ORDER BY (TOP - DISTINCT - OFFSET FETCH)
- مرتب سازی نتایج رکوردها توسط ORDER BY و بررسی قوانین آن در دستورات پرس و جو
- ORDER BY و CASE
- واکشی رکوردهای یکتا توسط DISTINCT
- انتخاب تعداد (مقادیر بیشینه و کمینه) رکوردها توسط عملگر TOP
- انتخاب برخی رکوردها و نادیده گرفتن برخی دیگر از جدول توسط OFFSET-FETCH
- بررسی عمل Pagination (صفحه بندی)
جلسه دهم: مقدمات معماری دیتابیس
- بررسی معماری پایگاه داده
- مفهوم Page و بررسی ساختار آن
- بررسی ساختار Extent
- داده ها و تراکنش ها
- بررسی برخی دستورات مرتبط با ذخیره سازی اطلاعات در Page و نحوه مشاهده محتوای صفحه
- دستور Checkpoint
- معرفی رویه های کاربردی درون SQL SERVER مانند: DMV - DMF - SSP - DBCC
- روش ذخیره شدن یک رکورد در data row
- بررسی مختصر دستورات DBCC IND, DBCC PAGE
- دستور DBCC LOG جهت مشاهده محتوای لاگ فایل
- DBCC HELP
جلسه یازدهم: انواع محدودیت کلید (Key Constraint)
- کلید اصلی (PRIMARY KEY)
- کلید یکتا (UNIQUE KEY)
- کلید خارجی (FOREIGN KEY)
- کلیدهای ترکیبی
- کلید SELF REFERENCING
- RELATIONS (ارتباطات بین جداول)
- بررسی درج و حذف و بروزرسانی اطلاعات در جداول هنگام ارتباط داشتن جداول توسط کلید خارجی
- غیرفعال کردن موقت Constraintها
- آموزش مبحث Database Diagrams
- پروسیجرها و جداول و ویوهای سیستمی sp_helpconstraint, sys.key_constraints, INFORMATION_SCHEMA.Table_Constraints, sys.foreign_key_columns, sys.foreign_keys, sp_fkeys, sp_pkeys, sp_demands, sys.dm_sql_referencing_entities و تابع سیستمی OBJECTPROPERTY
جلسه دوازدهم: محدودیت ها (Constraints)
- بررسی محدودیت ها در سطح فیلد و جدول
- محدودیت CHECK
- فعال و غیرفعال کردن محدودیت CHECK
- بررسی مفهوم trusted, not trusted
- محدودیت DEFAULT
- NOT NULL
- تابع ISNULL
- بررسی پروسیجر سیستمی sp_helpconstraint و جداول سیستمی sys.check_constraints, sys.default_constraints و دستور DBCC CHECKCONSTRAINTS و INFORMATION_SCHEMA.TABLE_CONSTR, INFORMATION_SCHEMA.CHECK_CONSTRAINTSAINTS
جلسه سیزدهم: انواع JOIN
- بررسی مفهوم JOIN
- CROSS JOIN
- INNER JOIN
- Composite JOIN
- NON-Equi JOIN (Theta Join)
- Multi-JOIN
- LEFT OUTER JOIN
- RIGHT OUTER JOIN
- FULL OUTER JOIN
- انواع دیگر OUTER JOIN
- SELF JOIN
جلسه چهاردهم: ویژگی IDENTITY
- بررسی تغییرات در رکوردها روی Identity
- بدست آوردن آخرین Identity در یک سژن (معرفی متغیر IDENTITY@@ و تابع SCOPE_IDENTITY)
- بدست آوردن آخرین Identity در مبان تمام سژنها در یک جدول (تابع IDENT_CURRENT)
- بررسی Identity$
- از بین بردن گپ به وجود آمده در Identity و یا ایجاد گپ در Identity
- بررسی تاثیرات Trigger بر روی Identity
- توابع IDENT_SEED و IDENT_INCR
- بررسی دستور DBCC CHECKIDENT
- ویو سیستمی sys.identity_columns و sys.database_scoped_configurations
- تنظیمات IDENTITY_CACHE
جلسه پانزدهم: انواع INSERT
- درج توسط دستور INSERT INTO...VALUES
- بررسی مقادیر Null و Default در هنگام درج
- درج و Identity و استفاده از دستور INSERT_IDENTITY
- درج داده در فیلد از نوع شناسه یکتا توسط ()NEWID
- درج توسط دستور INSERT INTO SELECT
- درج توسط دستور SELECT..INTO
- کارکرد تابع ()IDENTITY
- کپی ساختار و مقادیر جداول
- مختصری در مورد نوع داده unique_identifier و تابع NEWID
- درج توسط دستور INSERT..EXEC
- درج انبوه توسط دستور BULK INSERT
- بررسی مفصل همراه با جزئیات option های موجود در BULK INSERT
- تحلیل دقیق چند مثال (کوئری) در BULK INSERT
جلسه شانزدهم: UPDATE
- به روز رسانی رکوردها توسط دستور UPDATE
- UPDATE روی نتیجه حاصل از JOIN
- جابجایی مقادیر ستونها با یکدیگر توسط UPDATE
- ذخیره ستونهای محاسباتی از مقادیر دیگر ستونها
جلسه هفدهم: DELETE - TRUNCATE
- بررسی دستور DELETE برای حذف رکوردها یا برخی مقادیر فیلدها در رکوردها
- بررسی مزایا و ایرادات دستور DELETE
- انجام برخی عملیات با کمک روشهای دیگر برای DELETE منتخب از رکوردها
- بررسی دستور TRUNCATE برای حذف تمامی رکوردهای جدول
- مقایسه دستورات DELETE و TRUNCATE
- بررسی دستور DROP
جلسه هجدهم: مدیریت سرویس ها
- آشنایی با سرویس های SQL Server و روش های مدیریت آنها
- مدیریت سرویس ها با استفاده از Service Manager
- مدیریت سرویس ها با استفاده از محیط Command Prompt
- مدیریت سرویس ها با استفاده از برنامه PowerShell
- مدیریت سرویس ها با استفاده از SQL Server Configuration Manager
- بررسی برخی از دستورات مرتبط با سرویسها در PowerShell
- بررسی برنامه PowerShell ISE
- بررسی برخی از دستورات مرتبط با سرویسها در Command Prompt
- اتصال به Instanceهای دیگر
- مدیریت ریموت سرویس های دیگر سرورها
- تنظیمات Service Startup و Service Status
- بررسی مسایل پرفورمنسی مربوط به سرویس ها
- ویوی سیستمی sys.dm_server_services
جلسه نوزدهم: Configuration Manager
- تنظیم پروتکلهای ارتباطی کلاینت و سرور
- تنظیمات Network Configuration
- تنظیمات سرویس ها در Configuration Manager
- تک کاربره و چندکاربره کردن سرویس ها
- بررسی زبان SQL
- بررسی مباحث مرتبط با سژن ها و کانکشن های متصل به SQL Server Engine همراه با جزئیات
- بازیابی آخرین دستورات اجرا شده در هر سژن
- رفع errorهای احتمالی در هنگام اتصال به SQL Server Configuration Manager
- معرفی تابع SERVERPROPERTY
- معرفی متغیر سیستمی SPID@@ و دستور KILL
- بررسی پروسیجرهای سیستمی sp_who, sp_who2 و دستور DBCC INPUTBUFFER
- بررسی جداول و ویوهای سیستمی SYS.SYSPROCESSES, SYS.dm_exec_connections , sys.dm_exec_sessions, sys.dm_tran_locks, sys.logins, SYS.dm_exec_sql_text, sys.dm_exec_requests
- توابع HOST_NAME و PROGRAM_NAME
جلسه بیستم: Collations
- ایجاد Collation در سطح Instance
- ایجاد Collation درسطح دیتابیس
- ایجاد Collation در سطح فیلد
- بررسی تفاوت های SQL Collations و Window Collations
- کاهش فضای ذخیره سازی اطلاعات توسط اتخاذ Collation مناسب
- بررسی Collationهای UTF-8
- نکاتی درباره زبان SQL Server و معرفی متغیرهای سیستمی LANGUAGE@@ و LANGID@@
- تابع COLLATIONPROPERTY و تابع TERTIARY_WEIGHTS
- بررسی SYS.fn_helpcollations, sys.syslanguages, sp_helplanguage
جلسه بیست و یکم: دستورات شرطی و تکرار
- بررسی دستور شرطی CASE و انواع آن
- استفاده از CASE در SELECT، در محدودیت CHECK، در WHERE، در ORDER BY(نقش آن برای مرتب سازی رکوردها) و توابع تجمعی
- Nested CASE
- دستور شرطی IF..THEN و انواع آن
- بررسی تابع IIF
- حلقه WHILE و بررسی دستورات BREAK و CONTINUE
- دستور پرش GOTO و برچسب
جلسه بیست و دوم: ارتباط سخت افزار با SQL Server و ساختار Log File
- معرفی اجزاء سخت افزاری دخیل در ذخیره اطلااعات در SQL Server
- Buffer pool و دیسک و Dirty page ها
- محاسبه تعداد pageها و فضای اشغال شده در بافرپول
- معرفی مکاننیزم WAL و شرح مراحل آن
- بررسی همراه با جزئیات ساختار و معماری Log File
- بررسی دستورات مرتبط با Log Record ها و تحلیل تراکنش های Log
- اعمال تنظیمات مناسب برای اندازه Log File (اندازه و تعداد VLF) (بررسی تغییرات در ورژن 2022)
- معماری فیزیکی لاگ فایل
- مدیریت رویداد های ثبت شده در تراکنش های لاگ
- بررسی ویژگی Buffer Pool Extension و استفاده از هارد SSD
- بررسی جداول و ویوها و توابع سیستمی sp_configure, sys.fn_dblog, fn_dump_dblog, sys.configurations, sys.dm_os_buffer_descriptors, sys.dm_db_log_info, sys.dm_db_log_space_usage, sys.dm_db_log_stats, sys.dm_os_buffer_pool_extension_configuration, sys.sysperfinfo
- دستورات DBCC MEMORYSTATUS, DBCC LOGINFO, DBCC DROPCLEANBUFFERS
جلسه بیست و سوم: بررسی آماری عملکرد (Set Statistics Time/IO)
- مقدمات Performance & Tuning
- آمار مربوط به زمان اجرای عملیات و CPU
- آمار مربوط به تعداد I/O صورت گرفته
- معرفی متغیرهای سیستمی IO_BUSY@@ و CPU_BUSY@@ و TOTAL_READ@@ و TOTAL_WRITE@@ و TOTAL_ERRORS@@ و PACK_SENT@@ و PACK_RECEIVED@@ و PACKET_ERRORS@@ و CONNECTIONS@@ و IDLE@@ و TIMETICKS@@
- DBCC FREEPROCCACHE و sp_monitor
جلسه بیست و چهارم: توابع کاربردی رشته ای (1)
- تابع REPLACE
- تابع CHARINDEX
- توابع LEFT, RIGHT
- توابع LEN, DATALENGTH
- توابع TRIM, LTRIM, RTRIM (همراه با توضیحات آپشن های اختیاری اضافه شده در ورژن SQL Server 2022)
- توابع ASCII, CHAR, UNICODE, NCHAR
- تابع CONCAT
- تابع COALESCE
- توابع CAST, TRY_CAST, CONVERT, TRY_CONVERT, PARSE, TRY_PARSE
جلسه بیست و پنجم: MERGE - OUTPUT
- بررسی دستور MERGE جهت مقایسه جداول source و target و یکسان سازی جدول target با source
- بررسی دستور OUTPUT جهت واکشی تغییرات صورت گرفته به خروجی (برای دستورات DML)
- بررسی دستور OUTPUT INTO جهت ذخیره سوابق تغییرات رکوردها (برای دستورات DML)
- OUTPUT و داده های LOB
- OUTPUT و MERGE
- قوانین جانبی مربوط به MERGE و OUTPUT
- معرفی ACTION$
جلسه بیست و ششم: Filegroups
- مفاهیم مربوط به filegroupها و کاربرد آنها
- طراحی فایل گروپ ها
- ایجاد فایل گروپ و تغییرات آنها
- انتقال جداول از یک فایل گروپ به فایل گروپ دیگر
- مفاهیم پرفورمنسی مربوط به filegroup
- ساختار ایجاد یک فایل گروپ و پخش شدن داده
- زمانهای لازم برای ایجاد فایل گروپ
- تنظیمات دیتافایل ها و اندازه رشد متناسب آنها در فایل گروپ (Autogrow_All_Files)
- فایل گروپ ها و داده های LOB
- توابع FILE_NAME و FILEPROPERTY
- توابع FILEGROUP_NAME و FILEGROUP_ID و FILEGROUPPROPERTY
- جداول و ویوها وپروسیجرهای سیستمی sys.sysfiles, sp_helpfile, sys.database_files, sys.filegroups, SP_HELPFILEGROUP, sys.sysaltfiles و دستور DBCC SHOWFILESTATS
جلسه بیست و هفتم: Computed and Sparse Column
- بررسی (ستون های محاسباتی) Computed Columns
- عملیات DML برروی ستون های محاسباتی
- بررسی (ستون های با مقادیر پراکنده) Sparse Columns
- مباحث مربوط به میزان فضای اشغال شده به ازای ستون های اسپارس
- Column Set
- ویوی سیستمی sys.computed_columns
جلسه بیست و هشتم: Variables - Batches
- ذخیره سازی موقت اطلاعات در متغیرها و استفاده از این اطلاعات در کوئری
- آشنایی با متغیر جدولی (Table Variable)
- متغیرها و نوع داده ها
- مفهوم Batch یا ارسال گروهی دستورات
- قوانین مربوط به Batch
- Dynamic SQL
- اجرای دستورات درون متغیرها و پروسیجر sp_executesql
جلسه بیست و نهم: انواع Sub Query
- بررسی Self-Contained Scalar-Valued Sub Query
- بررسی Self-Contained Multi-Valued Sub Query
- بررسی Correlated Sub Query
- استفاده از گزاره های IN و EXISTS در ساب کوئری ها
- ساب کوئری های تو در تو
- بررسی اپراتورهای ALL, SOME, ANY
- عملیات DML همراه با ساب کوئری ها
- حذف رکوردهای تکراری
- بررسی Table expression – Derived Table در بخش FROM
- بررسی Table expression – Derived Table در بخش JOIN
- بررسی نکات پرفورمنسی مربوط به ساب کوئری ها
جلسه سی ام: SCHEMA
- ایجاد و حذف اسکیما
- انتقال آبجکتها از یک اسکیما به اسکیمای دیگر
- مقایسه اجرای آبجکتها در دو اسکیمای مختلف
- توابع SCHEMA_NAME و SCHEMA_ID و OBJECT_SCHEMA_NAME و ویوی سیستمی sys.schemas
فایل های موجود در این آموزش: ویدیوهای آموزش – کدهای آموزش – فایل های PDF جزوه
حجم فایل: ۶.۵۲ گیگابایت
نقد و بررسیها
هنوز بررسیای ثبت نشده است.