تعلم قواعد بيانات SQL Database
1.79K subscribers
84 photos
3 videos
26 files
38 links
📘 تعلم قواعد بيانات SQL بأسلوب مبسط
🛠 شرح عملي + أمثلة وتمارين
🎯 للمبتدئين وطلاب IT
📅 دروس منتظمة
تعلم اليوم وطبّق غداً
Download Telegram
قبل أن تتعلم SQL
تعلّم كيف تسأل السؤال الصحيح
“تصحيح طريقة التفكير قبل تعلم SQL”
📘 الدرس الأول

قبل أن تتعلم SQL…

تعلّم شيئاً أهم:
كيف تفكّر في البيانات.

أغلب المبتدئين يتعلمون الأوامر:
SELECT
WHERE
JOIN

لكن القليل فقط يتعلم:
متى ولماذا يستخدمها.

هذه القناة لن تعطيك أوامر فقط،
بل ستعلّمك طريقة تفكير.

سؤال اليوم:
عندما يُطلب منك تقرير، ما أول خطوة تفعلها؟
📘 الدرس الثاني

ما الفرق بين:
البيانات – Data
والمعلومات – Information ؟

البيانات:
أرقام وجداول وسجلات خام.

المعلومات:
معنى مفيد مستخرج من البيانات.

وظيفة SQL ليست إظهار البيانات،
بل تحويلها إلى معلومات مفيدة.

تذكّر:
ليس كل استعلام يعرض بيانات
يعطي معلومات حقيقية.

سؤال:
هل تكتب SQL لعرض البيانات أم لفهمها؟
📘 الدرس الثالث

قاعدة مهمة:

كل استعلام SQL
هو ترجمة لسؤال بشري.

إذا كان السؤال ضعيفاً،
فالاستعلام سيكون ضعيفاً.

المشكلة غالباً لا تبدأ في الكود،
بل في فهم المطلوب.

قبل أن تكتب:
SELECT

اسأل:
ماذا أريد فعلاً؟

سؤال اليوم:
هل تكتب الكود قبل فهم السؤال؟
📘 الدرس الرابع

ليس كل طلب من الإدارة
يجب تنفيذه حرفياً.
جملة مثل:
"أعطني كل البيانات من بداية النظام"

قد تبدو بسيطة،
لكنها أخطر جملة في قواعد البيانات.

أحياناً المطلوب الحقيقي
جزء صغير جداً من البيانات.

المحترف لا ينفّذ الطلب،
بل يفهمه أولاً.

سؤال:
هل سبق ونفذت طلباً ثم اكتشفت أنه غير منطقي؟
1
📘 الدرس الخامس

مفهوم مهم:

الاستعلام قد يكون:
✔️ صحيح تقنياً
سيئ عملياً

ليس كل كود يعمل
يعتبر كوداً جيداً.

الجودة في SQL
لا تُقاس بعدد السطور،
بل بمدى مناسبته للمطلوب.

سؤال :
كيف تعرف أن الاستعلام “جيد”؟
تعلم قواعد بيانات SQL Database

معك خطوة بخطوة من الصفر حتى الاحتراف

🔹 SQL Server
🔹 أمثلة عملية
🔹 تمارين حقيقية
🔹 أخطاء شائعة
🔹 محتوى مستمر
📘 الدرس السادس
البطء في النظام
لا يعني دائماً مشكلة في SQL.
أحياناً يكون السبب:
- طلب غير منطقي
- تقرير غير ضروري
- فهم خاطئ للمطلوب
قبل أن تحسّن الكود،
اسأل:
هل المطلوب نفسه صحيح؟
سؤال:
كم مرة حسّنت استعلاماً كان يجب إلغاءه؟
اجابه الدرس الخامس
كيف تعرف أن الاستعلام “جيد”؟
قلنا سابقاً:
الاستعلام قد يكون صحيحاً تقنياً
لكنه سيئ عملياً.
لكن كيف نقيس الجودة؟
الاستعلام الجيد يحقق 4 شروط:
1️⃣ يعيد البيانات الصحيحة فقط
2️⃣ لا يعيد بيانات زائدة
3️⃣ يعمل بكفاءة مناسبة
4️⃣ سهل الفهم والتعديل لاحقاً

مثال:
SELECT * FROM orders;
هل هو صحيح؟
نعم.
هل هو جيد دائماً؟ لا.
لأنه: - يعيد كل الأعمدة حتى غير المطلوبة
- قد يستهلك ذاكرة بلا داعي
- قد يُستخدم في غير سياقه
النسخة الأفضل غالباً تكون:
SELECT order_id, total, order_date
FROM orders
WHERE order_date >= '2025-01-01';
الجودة ليست في أن الكود يعمل،
بل في أنه مناسب للهدف بدقة.
إجابة سؤال اليوم:

الاستعلام الجيد هو الذي
يحقق المطلوب بدقة،
بأقل موارد ممكنة،
وبأبسط منطق واضح.
إجابة الدرس السادس
متى لا تكون المشكلة في SQL؟
في الدرس السابق تعلّمنا كيف نقيس جودة الاستعلام.
اليوم ننتقل خطوة أعمق:
أحياناً يكون الاستعلام جيداً،
لكن النظام بطيء.
كيف؟
لأن المشكلة لم تكن في الكود،
بل في الطلب نفسه.
مثال:
الإدارة تطلب:
“تقرير بكل العمليات منذ بداية النظام”
المبرمج يكتب استعلاماً منظماً،
يحدد الأعمدة،
يستخدم WHERE مناسب.
ومع ذلك:
التقرير يستغرق 40 ثانية.
هل الخطأ في SQL؟
غالباً لا.
الخطأ في السؤال.

السؤال الصحيح كان:
“نريد تقرير آخر 3 أشهر”
عندما يكون السؤال غير منطقي،
لن ينقذك أي تحسين أداء.

إجابة سؤال اليوم:

كثيراً ما نحسّن استعلاماً
كان يجب أن نعيد التفكير في هدفه من البداية.
1
فهم المطلوب (60% من الوقت) ← تصميم الاستعلام (30%) ← الكتابة (10%)
📘 الدرس السابع
ماذا تفعل قبل أن تكتب أول SELECT؟
بعد أن فهمنا أن:
- ليس كل استعلام يعمل هو جيد
- وأحياناً المشكلة ليست في SQL

السؤال الآن:
كيف نمنع الخطأ من البداية؟

قبل كتابة أي استعلام اسأل نفسك 4 أسئلة:

1️⃣ ما النتيجة النهائية المطلوبة؟
2️⃣ من سيستخدم هذا التقرير؟
3️⃣ ما القرار الذي سيُبنى عليه؟
4️⃣ ما أقل كمية بيانات تحقق الهدف؟

مثال:
طلب منك : "أعطني تقرير المبيعات"
هل المطلوب:
- كل المبيعات؟
- مبيعات شهر؟
- أعلى المنتجات؟
- مبيعات فرع معين؟
كل سؤال ينتج استعلاماً مختلفاً.

إجابة السؤال:
لا تبدأ بالكود.
ابدأ بتحديد شكل النتيجة النهائية بدقة.
الدرس القادم:
كيف تحدد الجداول الصحيحة قبل أن تبدأ الربط بينها؟
1
من التفكير إلى أول JOIN صحيح
📘 لماذا SELECT ليس مجرد عرض بيانات؟

SELECT هي أداة استخراج معلومة،
وليست مجرد إظهار جدول.

قبل كتابة SELECT اسأل:
ما المعلومة التي أريدها تحديداً؟

مثال عملي:
نريد معرفة عدد الطلبات في شهر معين.

هل نعرض كل الطلبات؟
أم نحسب العدد فقط؟

الفكرة أهم من الكود.
📘 التطبيق العملي

لنفترض لدينا جدول orders:

SELECT order_id, total
FROM orders
WHERE order_date >= '2025-01-01';

لاحظ:
- حددنا الأعمدة
- حددنا شرطاً واضحاً

هذا استعلام بسيط،
لكن مبني على هدف واضح.
📝 تمرين اليوم:

لديك جدول customers
يحتوي على:
id, name, city, created_at

المطلوب:
عرض أسماء العملاء من مدينة Riyadh فقط.
اكتب الاستعلام.
1
📘 حل التمرين + تحليل

الحل:

SELECT name
FROM customers
WHERE city = 'Riyadh';
لكن السؤال الأهم:
لماذا لم نستخدم SELECT * ؟
لأننا لا نحتاج كل الأعمدة.
المحترف يحدد ما يحتاجه فقط.
1
مفهوم JOIN (فهم عميق)
1
📘 ما هو JOIN فعلاً؟
JOIN ليس مجرد ربط جدولين.
JOIN هو:
إعادة بناء صورة كاملة من بيانات موزعة.

عندما تفصل البيانات في جداول،
أنت تحتاج وسيلة لإعادة جمعها.

JOIN هو هذه الوسيلة.
1