قواعد البيانات
تعلم كيفية تصميم وإدارة قواعد البيانات بكفاءة. هذا المسار يغطي SQL، تصميم قواعد البيانات، Normalization، الفهارس، المعاملات، وتحسين الأداء. من الأساسيات إلى الاحتراف.
Database Foundations
ما هذا؟
قاعدة البيانات (Database) هي مجموعة منظمة من البيانات المخزنة إلكترونياً. نظام إدارة قواعد البيانات (DBMS) هو البرنامج الذي يتفاعل مع المستخدمين والتطبيقات لاسترداد وتحليل البيانات.
المواضيع المغطاة
• ما هي قاعدة البيانات؟
• DBMS vs File System (الفرق بين نظام الملفات وقواعد البيانات)
• لماذا نحتاج قواعد البيانات؟
• Data Models (Relational Basics)
• High-Level Architecture (المعمارية العامة)
مصادر التعلم
DBMS Fundamentals
ما هذا؟
DBMS (نظام إدارة قواعد البيانات) هو برنامج يسمح بإنشاء وإدارة قواعد البيانات. يتكون من عدة مكونات تعمل معاً لتخزين واسترجاع البيانات بكفاءة.
المواضيع المغطاة
• DBMS Components (مكونات نظام إدارة قواعد البيانات)
→ Storage Engine (محرك التخزين)
→ Query Processor (معالج الاستعلامات)
• Data Storage Concept (مفهوم تخزين البيانات)
• Abstraction Levels (مستويات التجريد)
→ Physical / Logical / View
مصادر التعلم
SQL Basics
ما هذا؟
SQL (Structured Query Language) هي لغة تستخدم للتواصل مع قواعد البيانات. تسمح بإدراج واسترجاع وتحديث وحذف البيانات.
المواضيع المغطاة
• SELECT (استرجاع البيانات)
• INSERT (إدراج بيانات جديدة)
• UPDATE (تحديث البيانات)
• DELETE (حذف البيانات)
• WHERE (تصفية النتائج)
• ORDER BY (ترتيب النتائج)
• LIMIT (تحديد عدد النتائج)
• Basic Joins (INNER JOIN)
الهدف
🎯 التعامل مع البيانات بثقة
مصادر التعلم
SQL Advanced
ما هذا؟
SQL المتقدم يسمح بكتابة استعلامات أكثر تعقيداً لتحليل البيانات وتجميعها.
المواضيع المغطاة
• Joins (LEFT / RIGHT / FULL OUTER JOIN)
• GROUP BY + Aggregation (COUNT, SUM, AVG, MAX, MIN)
• HAVING (تصفية بعد التجميع)
• Subqueries (استعلامات متداخلة)
• CTE (Common Table Expressions - WITH)
الهدف
🎯 تفكير منطقي بالـ Queries
مصادر التعلم
Database Design (تصميم قواعد البيانات) 🔥🔥
ما هذا؟
تصميم قاعدة البيانات هو عملية تحديد هيكل البيانات وكيفية تنظيمها وربطها. التصميم الجيد يضمن أداءً عالياً وسهولة في الصيانة.
المواضيع المغطاة
• ERD (Entity Relationship Diagram - مخطط الكيانات والعلاقات)
• Relationships (العلاقات: 1-1، 1-M، M-M)
• Keys (المفاتيح: Primary Key, Foreign Key)
• ERD to Tables Mapping (تحويل المخطط إلى جداول)
مصادر التعلم
الهدف
🎯 تصميم Database صح
Normalization (تطبيع قواعد البيانات)
ما هذا؟
التطبيع (Normalization) هو عملية تنظيم البيانات في قواعد البيانات لتقليل التكرار (Redundancy) وتجنب الشذوذ (Anomalies) عند إدخال أو تحديث أو حذف البيانات. تم تطويره بواسطة Edgar F. Codd في السبعينيات.
لماذا هو مهم؟
بدون تطبيع، قد تواجه مشاكل:
• Insertion Anomaly: عدم القدرة على إدخال بيانات دون وجود بيانات أخرى
• Update Anomaly: تحديث نفس البيانات في عدة أماكن
• Deletion Anomaly: فقدان بيانات عند حذف سجلات أخرى
Project 1: Full Database 🔥
فكرة المشروع
بناء قاعدة بيانات كاملة
اختر أحد الأنظمة التالية:
• نظام متجر (Store)
• نظام عيادة (Clinic)
• نظام طلاب (Student System)
المتطلبات
• تطبيق Design (ERD + Normalization)
• تطبيق SQL (إنشاء الجداول، العلاقات، القيود)
• إدراج بيانات تجريبية (Sample Data)
• كتابة استعلامات متنوعة
• إنشاء Views و Indexes
Indexing (الفهارس) 🚀
ما هذا؟
الفهرس (Index) هو هيكل بيانات يحسن سرعة استرجاع البيانات. يعمل مثل فهرس الكتاب، يسمح بالوصول السريع إلى الصفوف دون مسح الجدول بالكامل.
المواضيع المغطاة
• ما هو Index؟
• B-Tree Concept (مفهوم شجرة B-Tree)
• Clustered vs Non-Clustered Index
• متى نستخدم Index؟
• مشاكل الفهارس (Overhead - تكلفة إضافية على الكتابة)
الهدف
🎯 تسريع الاستعلامات بوعي
مصادر التعلم
Query Processing (Behind the Scenes) 🧠
ما هذا؟
فهم كيفية تنفيذ DBMS للاستعلامات يساعدك في تحسين أداء قاعدة البيانات ومعرفة سبب بطء بعض الاستعلامات.
المواضيع المغطاة
• كيف DBMS ينفذ Query
• Parsing → Optimization → Execution
• Execution Plan (Concept - خطة التنفيذ)
• Full Table Scan vs Index Scan
الهدف
🎯 تفهم "ليش الاستعلام بطيء"
مصادر التعلم
Transactions & Concurrency ⚙️
ما هذا؟
المعاملة (Transaction) هي مجموعة من العمليات التي تنفذ كوحدة واحدة. إما أن تنجح كلها أو تفشل كلها. هذا يضمن سلامة البيانات.
المواضيع المغطاة
• Transaction Concept (مفهوم المعاملة)
• ACID Properties (Atomicity, Consistency, Isolation, Durability)
• BEGIN / COMMIT / ROLLBACK
• مشاكل التزامن (Concurrency Problems):
→ Dirty Read (قراءة بيانات غير ملتزمة)
→ Lost Update (فقدان التحديث)
• Isolation Levels (مستويات العزل) - Concept
الهدف
🎯 ضمان صحة البيانات