Developing Microsoft
SQL Server 2017
Databases

  • لمن الكورس؟
  • تفاصيل الكورس
  • مميزات الكورس
  • نبذه عن المحاضر
  • معلومات اخرى
  • لو إنت طالب في مجال البرمجة وشايف إن الجزء الخاص بقواعد البيانات مش مفهوم ليك

    أو لو إنت مبرمج، لكن شايف إن قاعدة البيانات ما هي إلا مخزن وبس وشغلك كله على لغة البرمجة، ومحتاج تعرف تقنيات وأدوات أكتر تمكنك من تعظيم الإستفادة بقواعد البيانات في برامجك

    أو لو إنت مبتدئ في المجال .. وحابب تتعرف على قواعد البيانات السيكوال سيرفر من البداية خالص ولغاية لما تتمكن من إستخدامها بالشكل المناسب ليها وللبرنامج اللي هتعمله يبقا الكورس دا موجه ليك إنت

  • Database basics / مقدمة عن قواعد البيانات ومبادئها

    • What is a database / ما هي قواعد البيانات ؟
    • What is a DBMS / ما المقصود بـ DBMS
    • What is a table / ما هو الجدول ؟
    • What is a column / ما هو العمود
    • What is a Row / ما هو الصف
    • SQL Statements (DML, DDL, DCL, TCL & DQL) / نبذة عن SQL Statements وماذا تعني كل من DML, DDL, DCL, TCL & DQL وما هي الأوامر المستخدمة المندرجة لكل منهم مع شرح ماهية كل أمر.

    Getting Started with SELECT / البداية مع الـ SELECT

    • Connecting to a Database. / الإتصال بقاعدة البيانات
    • Retrieving Specific Columns / إستعادة أعمدة محددة
    • Retrieving All Columns / إستعادة كل الأعمدة.
    • Specifying the Rows to Be Returned / إستعادة صفوف معينه
    • Renaming the Output Columns. / تسمية الأعمدة في نتيجة الإستعلام
    • Building a Column from an Expression / إنشاء عمود جديد ناتج من Expression
    • Providing Shorthand Names for Tables / إعطاء أسماء مختصرة للجداول
    • Negating a Search Condition / إهمال البحث
    • Specifying A Range of Values / تحديد نطاق معين من القيم للبحث عنها
    • Checking for NULL Values / البحث عن قيم تحمل قيمة NULL
    • Providing a List of Values / البحث عن قائمة معينة
    • Performing Specific Searches / إجراء عمليات بحث محددة ومتنوعة بإستخدام Wild Card
    • Sorting Your Results / ترتيب النتائج
    • Specifying Sort Order / تحديد طريقة ترتيب النتائج.

    Working with NULLs / كيفية العمل مع الـ NULLs وطرق التعامل معها

    • Replacing NULL with a specified value / إستبدال قيمة تحمل NULL بقيمة محددة أخرى.
    • Returning the First Non-NULL Value from a List / إستعادة القيمة الأولى التي لا تحتوي على NULL من قائمة محددة.
    • Choosing Between ISNULL and COALESCE / الإختيار ما بين ISNULL و COALESCE ولماذا ؟

    Querying from Multiple Tables / الإستعلام من خلال أكثر من جدول.

    • Correlating Parent and Child Rows / ربط جدول الأب مع جدول الإبن.
    • Making One Side of a Join Optional / ربط جدول أو أكثر في إتجاه واحد
    • Making Both Sides of a Join Optional / ربط جدول أو أكثر في كلا الإتجاهيين
    • Generating All Possible Row Combinations / إستدعاء كل الإحتمالات الممكنة من الربط بين جدول أو أكثر
    • Selecting from a Result Set / الإستدعاء من نتيجة إستعلام بدلا من جدول مباشر
    • Stacking Two Row Sets Vertically / إستدعاء نتيجتي إستعلام بشكل عمودي
    • Eliminating Duplicate Values from a Union / إهمال الصفوف المكررة عند إستخدام Union
    • Finding Rows That Are Missing /إيجاد الصفوف المفقودة من إستعلام بمعلومية إستعلام آخر.

    Advanced Select Techniques / تقنيات متقدمة مع إستخدام SELECT

    • Avoiding Duplicate Results / إهمال النتائج المكررة.
    • Returning the Top N Rows / إستعادة عدد معين من الصفوف
    • Retrieving Data Directly into Variables / إستعادة قيمة داخل متغير مباشرة.
    • Creating a New Table with the Results from a Query / إنشاء جدول جديد بمعلومية نتيجة إستعلام.
    • Returning Random Rows from a Table / إستعادة بعض من الصفوف بطريقة عشوائية
    • Hard-Coding the Results from a Query / إنشاء إستعلام عن طريق قيم ثابته
    • Changing Server Authentication Mode / تغيير المصادقة الخاصة بالخادم.

    Inserting, Updating & Deleting / الإدراج والتحديث والحذف

    • Inserting a New Row / إدراج صف جديد
    • Overriding an IDENTITY Column / تجاوز عمود بصفة IDENTITY لمحاولة إدراج صف جديد يدويا
    • Generating a Globally Unique Identifier (GUID) / إنشاء عمود بصفة GUID
    • Inserting Results from a Query / إدراج ناتج إستعلام مرة واحدة.
    • Updating a Single Row or Set of Rows / تحديث صف واحد أو عدة صفوف.
    • Updating with a Second Table as the Data Source / تحديث جدول معين بمعلومية جدول آخر.
    • Updating Large-Value Columns / تحديث حجم كبير من البيانات بشكل إحترافي للمحافظة على الأداء الجيد لقاعدة البيانات.
    • Deleting Rows / حذف الصفوف بالكامل.
    • Deleting Specific Rows / حذف صفوف معينه.
    • Deleting Rows and Returning the Deleted Rows / حذف الصفوف مع إستعادة الصفوف المحذوفة.
    • The difference between truncate and delete / الفرق الكامل بين truncate و delete (10 أوجه إختلاف)
    • Merging Data (Inserting, Updating, or Deleting Values) / التعامل مع Merge عن طريق الإدراج والتحديث والحذف بجمله واحدة.

    Working with Strings / التعامل مع أنواع البيانات - النصوص

    • Concatenating Multiple Strings / ربط عدة نصوص في نص واحد بأكثر من طريقة.
    • Finding a Character’s ASCII Value / البحث عن حرف بقيمة ASCII
    • Returning Integer and Character Unicode Values / البحث عن حرف بقيمة Unicode
    • Locating a Substring / البحث عن نص معين داخل نص أخر.
    • CHARINDEX vs. PATINDEX / الفرق بين CHARINDEX و PATINDEX
    • Determining the Similarity of Strings / تحديد التشابه في الصوت بين عدة نصوص.
    • Returning the Left/Right Portion of a String / إستعادة جزء من نص من يمين النص أو شماله.
    • Returning Part of a String / إستعادة جزء من النص.
    • Counting Characters or Bytes in a String / إحصاء الحروف داخل نص معين
    • Replacing Part of a String / إستبدال نص بنص آخر.
    • Stuffing a String into a String / حشو نص داخل نص آخر.
    • Changing Between Lower- and Uppercase / تغيير الحروف من Lower إلى Upper والعكس.
    • Removing Leading and Trailing Blanks / حذف المسافات الزائدة من نص معين.

    Working with Dates and Times / التعامل مع أنواع البيانات – التواريخ والأوقات.

    • Returning the Current Date and Time / إستعادة التاريخ الحالي بأكثر من طريقة.
    • Converting Between Time Zones / التحويل بين المناطق الزمنية المختلفة
    • Incrementing or Decrementing a Date's Value / كيفية تزايد وتناقص قيمة التاريخ.
    • Finding the Difference between Two Dates / إيحاد الفرق بين تاريخيين.
    • Displaying the String Value for Part of a Date / عرض النص من خلال جزء من التاريخ.
    • Displaying the Integer Representations for Parts of a Date / عرض الأرقام من خلال جزء من التاريخ
    • Determining Whether a String Is a Valid Date / تحديد ما هية القيمة هل تاريخ أم لا ؟
    • Determining the Last Day of the Month / تحديد اليوم الأخير من الشهر.
    • Creating a Date from Numbers / إنشاء تاريخ من الأرقام

    Working with Numbers / التعامل مع أنواع البيانات – الأرقام.

    • Representing Integers / شرح الأرقام من TinyTint و Smallint و Int و BigInt
    • Representing Decimal Amounts / شرح الأرقام العشرية.
    • Representing Monetary Amounts /شرح الأرقام الخاصة بالنقود.
    • Rounding / التقريب.
    • Rounding Always Up or Down / التقريب لأعلى ولأسفل.
    • Converting to absolute values / تحويل قيم مطلقة من قيمة سالب لقيمة موجب.

    Managing Tables / التعرف على الجداول وكيفية التعامل معها.

    • Creating a Table / إنشاء جدول
    • Adding a Column / إضافة عمود
    • Adding a Column That Requires Data / إضافة عمود يتطلب وجود قيم.
    • Changing a Column / تعديل عمود.
    • Creating a Computed Column / إنشاء عمود من نوع Computed
    • Removing a Column / حذف عمود.
    • Removing a Table / حذف جدول.
    • Reporting on a Table’s Definition / إصدار تقرير لجدول معين.
    • Reducing Storage Used by NULL Columns / تقليص المساحة الخاصة بالأعمدة المخزن بها قيم من نوع NULL
    • Adding a Constraint to a Table / إضافة محدد معين داخل الجدول
    • Creating a Recursive Foreign Key / إنشاء مفتاح من نوع Recursive Foreign Key
    • Specifying Default Values for a Column / تحديد قيم إفتراضية.
    • Validating Data as It Is Entered into a Column / التحقق من صحة البيانات المدرجة داخل الجدول
    • Temporarily Turning Off a Constraint /إيقاف محدد بشكل مؤقت.
    • Removing a Constraint /حذف محدد.
    • Creating Auto-incrementing Columns / إنشاء عمود له صفة Auto-incrementing
    • Obtaining the Identity Value Used / الحصول على قيمة من نوع Identity
    • Viewing or Changing the Seed Settings on an Identity Column / فحص وتغيير Seed الخاص بعمود يحمل صفة Identity
    • Inserting Values into an Identity Column / إدراج قيم داخل عمود يحمل صفة Identity
    • Using Unique Identifiers across Multiple Tables / إستخدام Sequence لربطه بين عدة جداول يحمل نفس صفة الـ Identity
    • Using Temporary Storage / إستخدام تخزين مؤقت بأكثر من طريقة

    Managing Views / التعرف على Views وكيفية التعامل معها.

    • Creating a View / إنشاء View
    • Querying a View’s Definition / الإستعلام عن View’s Definition
    • Obtaining a List of All Views in a Database / إستعلام كل الـ Views داخل قاعدة البيانات
    • Obtaining a List of All Columns in a View / إستعلام كل الأعمدة داخل Views
    • Refreshing the Definition of a View / تحديث View
    • Modifying a View / تعديل View
    • Encrypting a View / تشفير View
    • Indexing a View /فهرسة View

    Managing Indexes / التعرف على الفهارس وكيفية التعامل معها.

    • Creating a Table Index / إنشاء فهرس لجدول.
    • Enforcing Uniqueness on Non-key Columns / فرض عدم إدخال قيم مكررة لعمود ليس به أي مفتاح.
    • Creating an Index on Multiple Columns / إنشاء فهرس واحدة لعدة أعمدة.
    • Defining Index Column Sort Direction / تحديد نوع الفهرسة
    • Viewing Index Metadata / الإستعلام عن Metadata للفهرس
    • Disabling an Index / تعطيل الفهرس
    • Dropping Indexes / إلغاء الفهرس
    • Changing an Existing Index / تعديل فهرس
    • User Table Access during Index Creation / السماح للوصول لجدول معين أثناء إنشاء فهرس
    • Indexing a Subset of Rows / فهرسة بعض الصفوف فقط داخل العمود.

    Stored Procedures / التعرف على الإجراءات المخزنة وكيفية التعامل معها.

    • Selling the Benefits / التعرف على مميزات إستخدام الإجراءات المخزنة.
    • Creating a Stored Procedure / إنشاء إجراء مخزن.
    • Generalizing a Stored Procedure / إنشاء إجراء مخزن عام
    • Making Parameters Optional / إنشاء Parameters من نوع إختياري.
    • Returning Output / إستعادة نتائج داخل الإجراء المخزن.
    • Modifying a Stored Procedure /تعديل إجراء مخزن.
    • Removing a Stored Procedure / حذف إجراء مخزن.
    • Automatically Run a Stored Procedure at Start-Up / تشغيل إجراء مخزن بشكل تلقائي بمجرد بدء تشغيل الخادم
    • Viewing a Stored Procedure’s Definition / الإستعلام عن Definition الخاص بالإجراء المخزن.
    • Encrypting a Stored Procedure / تشفير الإجراء المخزن.

    User-Defined Functions and Types / التعرف على الوظائف والأنواع وكيفية التعامل معهم.

    • Creating Scalar Functions / إنشاء وظيفة من نوع Scalar
    • Creating Inline Functions / إنشاء وظيفة من نوع Inline
    • Modifying User-Defined Functions / تعديل الوظيفة
    • Viewing UDF Metadata / إستعلام Metadata للوظيفة
    • Maintaining Reusable Code / المحافظة على إستخدام الإستعلام في أكثر من مكان.
    • Replacing a View with a Function / إستبدال الـ View مع الوظيفة.
    • Dropping a Function / حذف الوظيفة.
    • Creating and Using User-Defined Types /إنشاء وإستخدام نوع البيانات من طريق المستخدم.
    • Identifying Dependencies on User-Defined Types / تحديد كل الـ Objects المرتبطة بنوع البيان للمستخدم.
    • Dropping User-Defined Types /حذف البيان الخاص بالمستخدم

    Error Handling / كيفية معالجة الأخطاء.

    • Handling batch errors / التعامل مع الأخطاء الخاصة بالـ Batch
    • What are the error numbers and messages within SQL Server / ما هي ارقام الأخطاء ورسائل الخطا بداخل الـ SQL Server
    • How can I implement structured error handling in my queries / كيفية معالجة الأخطاء داخل الإستعلامات
    • How can I use structured error handling, but still return an error / كيفية معالجة الأخطاء مع الحفاظ على إسترجاع الخطا
    • Throwing an error / إنشاء خطأ
    • Creating a user defined error / إنشاء خطأ يحدده المستخدم.
    • Removing a user defined error / حذف الخطأ

    Triggers / التعرف على Triggers وكيفية التعامل معها.

    • Creating an AFTER DML Trigger / إنشاء Trigger من نوع AFTER
    • Creating an INSTEAD OF DML Trigger / إنشاء Trigger من نوع INSTEAD OF
    • Handling Transactions in Triggers / التعامل مع Transactions خلال Triggers
    • Linking Trigger Execution to Modified Columns / ربط Triggers مع الأعمدة المعدلة
    • Viewing DML Trigger Metadata /فحص Metadata الخاصة بالـ Triggers من نوع DML
    • Creating a Logon Trigger / إنشاء Triggers من نوع Logon
    • Viewing DDL Trigger Metadata /فحص Metadata الخاصة بالـ Triggers من نوع DDL
    • Modifying a Trigger / تعديل Trigger
    • Enabling and Disabling a Trigger / تشغيل أو تعطيل Trigger
    • Nesting Triggers / كيفية التعامل وتشغيل Nesting Triggers
    • Controlling Recursion / التخكم في Recursion
    • Dropping a Trigger / حذف Trigger

    New Features in SQL Server 2016 for Developers / الميزات الجديدة للـ SQL Server 2016 للمطورين

    • Temporal Tables/ ما هي الـ Temporal Tables مع Demo
    • IFI - Instant File Initialization / ما هو الـ IFI مع شرح الـ Retractions مع Demo
    • STRING_SPLIT
    • CEEATE or ALTER
    • DROP IF EXISTS

    New Features in SQL Server 2017 for Developers / الميزات الجديدة للـ SQL Server 2017 للمطورين

    • CONCAT_WS
    • TRANSLATE
    • TRIM
    • STRING_AGG
  • آخر إصدار

    هنتعرف على الإصدار الأخير من SQL Server 2017

    مهتم بالتفاصيل

    بخلاف أي كورس SQL Server تاني الكورس دا مهتم جداً بالتفاصيل اللي هتأهلك تفهم خبايا وأسرار الـ SQL Server ومعرفة نقاط في منتهى القوة هي اللي هتميزك عن غيرك في المجال

    معاك من الصفر

    مش لازم يكون عندك أي خلفية مسبقة عن الـ SQL Server الكورس دا هيبدأ معاك من الصفر، ولمستوى قريب من الإحتراف

    خبرة المحاضر

    الكورس هيدهولك محاضر قوي في المجال وعنده خبرة في قواعد البيانات أكتر من 10 سنين مش مجرد حد سمع فيديوهات أو قرأ كام مقال وخلاص

  • Microsoft Certified Technology Specialist SQL Server Implementation and Maintenance

    Microsoft Certified Technology Specialist SQL Server Database Development

    Microsoft Certified IT Professional Database Developer

    Microsoft Certified IT Professional Database Administrator

    Microsoft Certified Technology Specialist - MCTS

    Microsoft Certified IT Professional - MCITP

    Current role: Software Specialist

    Instructor at Aldarayn Academy

  • مدة الكورس

    30 ساعة

    المتطلبات الواجب توافرها لدى المتقدم للكورس

    لا يوجد، الكورس سيتم تقديمه من الصفر

    نظام الكورس

    الكورس أونلاين عبر قاعات إفتراضية تسمح بالتواصل المباشر مع المحاضر أثناء الشرح