🎯 أهداف التعلم
- أن يتعرف المتعلم على مفهوم لغة SQL وأنواع أوامرها.
- أن يكتب استعلامات SQL لاستخراج البيانات من قاعدة بيانات.
- أن يستخدم دوال التجميع والانضمام (JOIN) في الاستعلامات.
📝 تمهيد
قواعد البيانات العلائقية هي العمود الفقري لمعظم التطبيقات الحديثة — من المواقع الإلكترونية إلى أنظمة إدارة المؤسسات. اللغة الموحدة للتعامل مع هذه القواعد هي SQL (Structured Query Language). تعلم SQL يسمح لك بإجراء عمليات البحث والإدراج والتحديث والحذف على البيانات بكفاءة. هذا الموضوع أساسي لشعبة تقني رياضي في البكالوريا.
أولاً: مقدمة عن لغة SQL
SQL هي لغة استعلامات قياسية تستخدم للتعامل مع قواعد البيانات العلائقية. تنقسم أوامر SQL إلى عدة تصنيفات:
| التصنيف | الوظيفة | أمثلة أوامر |
|---|---|---|
| DDL | تعريف بنية البيانات | CREATE, ALTER, DROP |
| DML | التعامل مع البيانات | SELECT, INSERT, UPDATE, DELETE |
| DCL | التحكم في الصلاحيات | GRANT, REVOKE |
ثانياً: أوامر DDL — إنشاء الجداول
CREATE TABLE Etudiant ( Num_Etu INT PRIMARY KEY, Nom VARCHAR(50) NOT NULL, Prenom VARCHAR(50) NOT NULL, Date_Naiss DATE, Moyenne DECIMAL(4,2), ID_Classe INT, FOREIGN KEY (ID_Classe) REFERENCES Classe(ID_Classe) );
ثالثاً: أوامر DML — أساسيات الاستعلام
1. أمر SELECT — استرجاع البيانات
-- استعلام بسيط: كل الطلاب SELECT * FROM Etudiant; -- استعلام مع شرط SELECT Nom, Prenom FROM Etudiant WHERE Moyenne >= 10; -- استعلام مع ترتيب SELECT * FROM Etudiant ORDER BY Moyenne DESC; -- استعلام مع تحديد عدد SELECT TOP 5 * FROM Etudiant ORDER BY Moyenne DESC;
2. دوال التجميع (Aggregation Functions)
| الدالة | الوظيفة | مثال |
|---|---|---|
| COUNT() | حساب عدد الأسطر | SELECT COUNT(*) FROM Etudiant; |
| SUM() | حساب المجموع | SELECT SUM(Moyenne) FROM Etudiant; |
| AVG() | حساب المتوسط | SELECT AVG(Moyenne) FROM Etudiant; |
| MAX() / MIN() | أقصى / أدنى قيمة | SELECT MAX(Moyenne) FROM Etudiant; |
3. المجموعات (GROUP BY) والشرط (HAVING)
-- متوسط العلامات لكل قسم SELECT ID_Classe, AVG(Moyenne) as Moy_Classe FROM Etudiant GROUP BY ID_Classe HAVING AVG(Moyenne) >= 12;
4. الانضمام (JOIN) — ربط الجداول
-- ربط جدول الطلاب بجدول الأقسام SELECT e.Nom, e.Prenom, c.Nom_Classe FROM Etudiant e INNER JOIN Classe c ON e.ID_Classe = c.ID_Classe WHERE c.Nom_Classe = '3ème AS'; -- LEFT JOIN: كل الطلاب حتى لو لم يسجلوا في أي قسم SELECT e.Nom, c.Nom_Classe FROM Etudiant e LEFT JOIN Classe c ON e.ID_Classe = c.ID_Classe;
رابعاً: إدراج وتحديث وحذف البيانات
-- INSERT: إدراج طالب جديد INSERT INTO Etudiant VALUES (101, 'بن أحمد', 'خالد', '2007-05-12', 15.5, 1); -- UPDATE: تحديث علامة UPDATE Etudiant SET Moyenne = 16.0 WHERE Num_Etu = 101; -- DELETE: حذف طالب DELETE FROM Etudiant WHERE Num_Etu = 101;
🏆 تمرين بكالوريا محلول
المعطيات: جدولان: Produit(ID_Prod, Nom, Prix, Quantite, ID_Cat) و Categorie(ID_Cat, Nom_Cat).
المطلوب: اكتب استعلام SQL لاستخراج اسم المنتج، سعره، واسم الصنف لكل المنتجات التي سعرها أكبر من 1000 د.ج، مرتبة حسب السعر تنازلياً.
الحل:
SELECT p.Nom, p.Prix, c.Nom_Cat FROM Produit p INNER JOIN Categorie c ON p.ID_Cat = c.ID_Cat WHERE p.Prix > 1000 ORDER BY p.Prix DESC;
📌 خلاصة الدرس
SQL هي اللغة القياسية للتعامل مع قواعد البيانات العلائقية. تنقسم أوامرها إلى DDL (إنشاء الجداول)، DML (استعلام وتعديل البيانات)، و DCL (التحكم بالصلاحيات). أوامر SELECT مع WHERE و GROUP BY و JOIN تسمح باستخراج البيانات بمرونة. دوال التجميع (COUNT, SUM, AVG, MAX, MIN) تمكن من إجراء تحليلات إحصائية على البيانات. إتقان SQL أساسي لشعبة تقني رياضي في البكالوريا.
📍 دروس مشابهة:
- قواعد البيانات — النموذج العلائقي والمفاتيح (Primary Key, Foreign Key) — الثانية ثانوي (شعبة تقني رياضي) — الإعلام الآلي
- خوارزميات الفرز: Bubble Sort و Selection Sort و Insertion Sort – الثالثة ثانوي (بكالوريا) إعلام آلي
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.