الانتقال إلى المحتوى الرئيسي
eLearner.app

دورة تفاعلية

دورة SQL

تعلم SQL من الصفر، باللغة الإنجليزية، باستخدام Postgres الحقيقي الذي يعمل في متصفحك.

01 · الوحدة 1 - التحديد الأساسي

4 الدروس

الأسس: قراءة البيانات من الجدول وتصفيتها.

  1. 1.1مقدمة إلى SQLما هو SQL ولماذا يتم استخدامه وكيف تبدو قاعدة البيانات.~5 min
  2. 1.2اختر... منأبسط استعلام: قراءة الصفوف من الجدول.~10 min
  3. 1.3التصفية باستخدام أينتحديد الصفوف التي تفي بالشرط فقط.~10 min
  4. 1.4الفرز باستخدام ORDER BY- ترتيب النتائج تصاعديا أو تنازليا.~8 min

02 · الوحدة 2 - تحديد أكثر قوة

4 الدروس

الحد، وإلغاء التكرار، وإعادة التسمية والعد: الأدوات التي تستخدمها كل يوم.

  1. 2.1الحد مع LIMITإرجاع الصفوف N الأولى فقط، على سبيل المثال لإنشاء لوحات الصدارة.~6 min
  2. 2.2قيم فريدة مع DISTINCTإزالة التكرارات من نتيجة SELECT.~6 min
  3. 2.3إعادة التسمية باستخدام ASإعطاء أسماء أكثر قابلية للقراءة للأعمدة والتعبيرات في النتيجة.~6 min
  4. 2.4العد والتلخيص: COUNT، AVG، MAXوظائف التجميع: الحصول على رقم واحد من عدة صفوف.~8 min

03 · الوحدة 3 - الانضمام والتجميع حسب

4 الدروس

الجمع بين جداول متعددة وإنتاج التقارير حسب المجموعة: قلب كل استعلام حقيقي.

  1. 3.1الانضمام إلى جدولين: INNER JOINدمج الصفوف من جداول مختلفة بعد العلاقات بينها.~12 min
  2. 3.2إبقاء كل شيء على اليسار: LEFT JOINبما في ذلك الصفوف التي ليس لها تطابق في الجدول الآخر.~10 min
  3. 3.3التجميع باستخدام GROUP BYحساب إجمالي لكل مجموعة، على سبيل المثال لكل قسم.~10 min
  4. 3.4مجموعات التصفية: تملكالاحتفاظ فقط بالمجموعات التي تحقق شرطًا ما في المجموع.~8 min

04 · الوحدة 4 - SQL العملي

4 الدروس

الأدوات التي تُحدث فرقًا في العمل الحقيقي: القوائم والنطاقات والقيم الخالية والمنطق الشرطي.

  1. 4.1القوائم والنطاقات: في وبينمرشحات مدمجة لـ "أحد هذه" و"بين A وB".~8 min
  2. 4.2التعامل مع القيم الخالية: IS NULL و COALESCEالتعرف على القيم المفقودة والتعامل معها دون مفاجآت.~10 min
  3. 4.3المنطق الشرطي: الحالة متىتحويل القيم إلى فئات مباشرة في SELECT.~10 min
  4. 4.4استعلام داخل آخر: الاستعلامات الفرعيةاستخدام نتيجة SELECT داخل SELECT آخر.~12 min

05 · الوحدة 5 - عمليات الانضمام المتقدمة

4 الدروس

عمليات الانضمام للجداول المتعددة، والانضمامات الذاتية، والعمليات الخارجية، والتقاطعية، والتعيين: دمج البيانات مثل المحترفين.

  1. 5.1الصلات على ثلاثة جداول أو أكثراجتياز سلسلة من العلاقات: الطلبات → العملاء → المنتجات، في استعلام واحد.~12 min
  2. 5.2الانضمام الذاتي: جدول مع نفسهالتسلسلات الهرمية والعلاقات الداخلية: قراءة جدول به دورين (الطفل والوالد).~10 min
  3. 5.3الانضمام الخارجي: العثور على "الثغرات"استخدام LEFT/RIGHT/FULL OUTER JOIN للعثور على صفوف بدون تطابق.~10 min
  4. 5.4اتحاد، تقاطع، باستثناء (وCROSS JOIN)دمج النتائج كمجموعات: الاتحاد والتقاطع والفرق والضرب الديكارتي.~12 min

06 · الوحدة 6 - الوظائف المضمنة

4 الدروس

قم بتحويل البيانات ومعالجتها باستخدام وظائف PostgreSQL الأصلية: السلاسل والتواريخ والأرقام وتحويلات النوع.

  1. 6.1وظائف السلسلةأقل، أعلى، طول، سلسلة، سلسلة فرعية، تقليم، استبدال، مثل وأعجبني.~12 min
  2. 6.2وظائف التاريخ والطابع الزمنيEXTRACT، DATE_TRUNC، الفواصل الزمنية وفروق التاريخ.~12 min
  3. 6.3وظائف رقميةROUND، CEIL، FLOOR، ABS، MOD والعدد الصحيح مقابل القسمة العشرية.~10 min
  4. 6.4CAST واكتب التحويلاتالتحويل بين الأنواع باستخدام `::type` و`CAST(... AS ...)`.~10 min

07 · الوحدة 7 – التحليلات المتقدمة

4 الدروس

الاستعلامات متعددة الخطوات (CTE)، والتصنيفات وإجماليات التشغيل (وظائف النافذة)، والتسلسلات الهرمية غير المحدودة (مع العودية).

  1. 7.1CTE: استعلامات متعددة الخطوات باستخدام NOTتقسيم استعلام معقد إلى خطوات مسماة لسهولة القراءة وإعادة الاستخدام.~12 min
  2. 7.2وظائف النافذة: التصنيف والحسابات لكل مجموعةROW_NUMBER، RANK، DENSE_RANK مع أكثر من (PARTITION BY …) للتصنيفات داخل المجموعة.~14 min
  3. 7.3إجماليات التأخر والرصاص والتشغيلمقارنة كل صف بالصف السابق/التالي وحساب المجاميع التراكمية.~12 min
  4. 7.4CTEs العودية: التسلسلات الهرمية التعسفيةمع تكراري لاجتياز التسلسلات الهرمية مثل الفئات.~14 min

08 · الوحدة 8 - كتابة البيانات وتعديلها

4 الدروس

إدراج وتحديث وحذف وإنشاء جدول مع القيود والمعاملات: إغلاق الحلقة بالكتابة.

  1. 8.1إدخال البيانات: INSERTإدراج مفرد ومتعدد الصفوف، عبارة RETURNING، اختيار الأعمدة بشكل صريح.~10 min
  2. 8.2التحديث والحذف: التحديث والحذفتغييرات انتقائية مع أين، ولماذا يعتبر نسيان أين كارثة.~10 min
  3. 8.3إنشاء الجداول والقيود: DDLإنشاء جدول باستخدام المفتاح الأساسي، وليس فارغًا، وفريدًا، ومفتاحًا خارجيًا، وشيكًا، وافتراضيًا.~12 min
  4. 8.4المعاملات: كل شيء أو لا شيءالبدء، الالتزام، التراجع: جعل مجموعة من العمليات ذرية.~10 min

09 · الوحدة 9 - هياكل البيانات وDDL

4 الدروس

إنشاء وتعديل الجداول والقيود المتقدمة والأنواع وطرق العرض المعقدة.

  1. 9.1أنواع البيانات المتقدمة وENUMsالأنواع الرقمية، TEXT vs VARCHAR، BOOLEAN، UUID وأنواع ENUM المخصصة.~10 min
  2. 9.2قيود متعددة وعلى مستوى الجدولقيود المفاتيح الفريدة والأساسية المركبة والفحص المتقدم والمفاتيح الخارجية (ON DELETE CASCADE).~12 min
  3. 9.3تغيير الهيكل: ALTER TABLEإضافة وتعديل وإزالة الأعمدة أو القيود من الجداول الموجودة.~10 min
  4. 9.4وجهات النظر وتجريد البياناتإنشاء طرق عرض لتبسيط الاستعلامات المعقدة ووجهات نظر مادية للأداء.~12 min

10 · الأمثل والفهارس

4 الدروس

فن جعل الاستعلامات سريعة: الفهارس وخطط التنفيذ وتحسين قاعدة البيانات.

  1. 10.1الفهارس وأشجار Bقم بإنشاء فهارس لتسريع استعلامات البحث بشكل كبير على الجداول الكبيرة.~15 min
  2. 10.2اشرح وحللتعلم كيفية قراءة خطط تنفيذ قاعدة البيانات لتشخيص الاختناقات.~15 min
  3. 10.3الفهارس المركبة والجزئيةاستخدم الفهارس على أعمدة متعددة مرة واحدة أو على شريحة معينة من البيانات فقط.~12 min
  4. 10.4مشكلة N+1مشكلة أداء ORM سيئة السمعة وطرق SQL الأصلية للتغلب عليها في استعلام واحد.~12 min

11 · المعاملات والتزامن

4 الدروس

إدارة تعديلات البيانات المتزامنة بأمان: معاملات ACID والأقفال ومستويات العزل.

  1. 11.1معاملات ACID (البدء/الالتزام)حافظ على اتساق البيانات مع BEGIN وCOMMIT وROLLBACK، وقم بتجميع الاستعلامات في كتلة واحدة غير مرئية للآخرين.~15 min
  2. 11.2ظروف السباقسيناريوهات الحافة: ماذا يحدث عندما يعمل موظفان متوازيان في قاعدة البيانات على نفس عربة المستخدم.~10 min
  3. 11.3القفل والاختيار للتحديثقفل الصفوف بشكل نشط أثناء القراءة، مما يجبر المواضيع المتغيرة الأخرى على انتظار دورها.~15 min
  4. 11.4مستويات العزلةادفع إلى أقصى الحدود من خلال تطبيق Serializable، أو قم بالهبوط إلى القراءة الملتزم بها للحصول على أداء غير آمن ولكن سريع.~12 min

12 · الوظائف والمشغلات

4 الدروس

أتمتة منطق الأعمال داخل قاعدة البيانات: كتابة وظائف قابلة لإعادة الاستخدام والتفاعل مع الأحداث باستخدام المشغلات.

  1. 12.1UDFs وSQL الأساسيةقم بإنشاء وظائف محددة من قبل المستخدم لتغليف الحسابات المعقدة وإعادة استخدامها مثل وحدات الماكرو في كل استعلام.~15 min
  2. 12.2المنطق المتقدم مع PL/pgSQLامنح وظائفك قوى خارقة: المتغيرات وفروع if-else والحلقات بأسلوب إجرائي خالص داخل قاعدة البيانات.~15 min
  3. 12.3مقدمة للمحفزاتحدد وظائف خاصة يمكنها فحص السجل الصادر (القديم) أو الوارد (الجديد) على الفور.~15 min
  4. 12.4المحفزات العملية والتدقيقأتمتة الأمان: التحديث التلقائي لتاريخ "updated_at" وأرشفة الصفوف المحذوفة بطريقة سحرية لضمان الامتثال.~12 min

13 · وظائف النافذة

4 الدروس

تحليل البيانات المتقدم دون طي الصفوف: اكتشف OVER() وPARTITION BY والوظائف التحليلية.

  1. 13.1المقدمة والجملة OVERقم بتشغيل الحسابات المجمعة (مثل SUM أو AVG) مع الحفاظ على الصفوف الفردية الأصلية.~15 min
  2. 13.2التجميع باستخدام PARTITION BYقم بإنشاء مجموعات منطقية (نوافذ) داخل البيانات التي سيتم تطبيق الوظائف عليها، دون استخدام GROUP BY.~15 min
  3. 13.3التصنيفات: ROW_NUMBER وRANK وDENSE_RANKقم بتعيين أرقام الصفوف والرتب التسلسلية للنتائج، والتعامل مع الروابط بشكل صحيح.~15 min
  4. 13.4التحولات: التأخر والرصاصقم بالوصول إلى القيم من الصف السابق أو التالي مباشرةً من الصف الحالي لحساب الدلتا والتباينات.~12 min

14 · CTEs والاستعلامات الهرمية (WITH)

3 الدروس

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

  1. 14.1مقدمة إلى CTEs (مع)استبدل الاستعلامات الفرعية المتداخلة غير القابلة للقراءة بتنسيق إجرائي نظيف من خلال الإعلان عن "جداول افتراضية" مؤقتة.~12 min
  2. 14.2CTEs متعددة ومتسلسلةيمكنك ترويض التعقيد عن طريق تقسيم المعالجة إلى خطوات متسلسلة متعددة داخل عبارة "With" واحدة.~15 min
  3. 14.3CTEs العودية: بيانات على شكل شجرةالتنقل بلا حدود في التسلسلات الهرمية للمدير وفئات الوالدين والطفل عن طريق استدعاء CTE من نفسه.~18 min

15 · PostgreSQL JSON وNoSQL

2 الدروس

استفد من القوة العلائقية الممزوجة بدعم المستندات المرن عبر JSON وJSONB دون استخدام قواعد بيانات خارجية.

  1. 15.1التكامل بين JSON وJSONBقم بتخزين المستندات المعقدة داخل عمود واستعلام عن حقولها باستخدام عوامل تشغيل الأسهم.~15 min
  2. 15.2وظائف تجميع JSONقم بإنشاء ملفات JSON أو صفائف كائنات بشكل سريع في SQL باستخدام json_build_object() وjson_agg().~15 min