ماهي قواعد البيانات العلائقية SQL

قواعد البيانات العلاقية: مقدمة في SQL (Relational Databases & SQL)

في هذا الدرس سنتعلم عن الحاجة إلى قواعد البيانات وكيف استحدثنا قواعد البيانات العلاقية التي تستخدم لغة SQL.

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

1. مثال عملي: معلومات الطلاب في الجامعة

لنفرض أننا نجمع معلومات عن طلاب في الجامعة. نحتاج إلى المعلومات الشخصية للطلاب:

المعلومات المطلوبة عن كل طالب:

  • الاسم الأول
  • الاسم الأخير
  • العمر
  • مدينة الميلاد
  • اسم المدرسة الثانوية
  • التخصص الحالي

الملاحظة: الآن أصبح عندنا مجموعة معلومات عن شخص معين. إذا جمعنا هذه البيانات بشكل عشوائي، سنلاحظ أننا نقدر نربط كل شخص بمعلومات معينة، والمعلومات هذه متكررة على كل الأشخاص.

2. إنشاء الجدول الأول: جدول الطلاب

يمكننا إنشاء جدول بسيط ونضع فيه في البداية معرف خاص نعرفه داخلياً.

المعرف الرئيسي (Primary Key)

بدلاً من استخدام الأسماء، يمكننا استخدام الأرقام. هذه الأرقام خاصة مثل المعرف أو رقم البطاقة لكل شخص، وهذا ما يُسمى Primary ID.

مثال: جدول الطلاب

Student ID الاسم الأول الاسم الأخير العمر مدينة الميلاد التخصص
101 أحمد محمد 20 الرياض هندسة
102 فاطمة علي 19 جدة طب
103 خالد سعد 21 الدمام حاسوب

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

3. إنشاء الجدول الثاني: جدول المواد

بعد ذلك قررنا جمع معلومات عن المواد في الجامعة وحفظناها بأرقام نفس الطريقة. كل مادة لها ID خاص بها.

مثال: جدول المواد

Subject ID اسم المادة المدرس مستوى الصعوبة التخصص
201 الرياضيات د. سالم متوسط هندسة
202 الفيزياء د. نورا صعب طب
203 البرمجة د. أحمد سهل حاسوب

المعلومات المحفوظة: من يدرسها من الدكاترة، ومدى صعوبتها، وتتبع لأي تخصص، وأي معلومة نعرفها عن كل مادة.

4. إنشاء الجدول الثالث: جدول التسجيلات

انتقلنا إلى مرحلة ثالثة حيث احتجنا لجدول ثالث. هذا الجدول يحتوي على معلومات تجمع ما بين الجدولين السابقين.

ما نريد حفظه في الجدول الثالث:

  • كل طالب والمواد التي درسها
  • التاريخ الذي أخذ فيه المادة
  • النتيجة النهائية

الطريقة الذكية:

في الجدول الثالث، بدلاً من أخذ كل معلومات الطالب الأول وكل معلومات المادة، نقدر فقط نأخذ المعرف للطالب الذي هو الـ Primary Key، وكذلك المعرف للمادة الذي هو الـ Primary Key في جدول المواد.

مثال: جدول التسجيلات

Student ID Subject ID تاريخ التسجيل الدرجة النهائية
101 201 2023-09-01 85
101 203 2023-09-01 92
102 202 2023-09-01 78

هذا يكفينا عن معلومات الطالب ويكفينا أيضاً عن معلومات المادة، لأننا الآن نقدر نأخذ الـ ID تبع الطالب ونرجع إلى جدول الطلاب ونطلع كل معلوماته، وكذلك نقدر نأخذ الـ ID تبع المادة ونروح إلى جدول المواد ونطلع كل معلوماتها.

5. مفهوم قواعد البيانات العلاقية

المقصود بقواعد البيانات العلاقية

هذا هو المقصود بقواعد البيانات العلاقية - نرى كيف أن تنظيمنا يعتمد على العلاقات بشكل أساسي. نحن لا نكرر المعلومات، بل نربط الجداول ببعضها باستخدام المعرفات.

6. المفاتيح الأساسية والأجنبية

المفاتيح الأساسية (Primary Keys)

الـ Primary Keys هي معرفات الطلاب تكون Primary فقط في جدولها الأصلي. مثل Student ID في جدول الطلاب، و Subject ID في جدول المواد.

المفاتيح الأجنبية (Foreign Keys)

عندما نستخدم المعرفات في جدول غير جدولها نسميها Foreign Keys. مثل Student ID و Subject ID في جدول التسجيلات.

مثال توضيحي:

  • في جدول الطلاب: Student ID هو Primary Key
  • في جدول المواد: Subject ID هو Primary Key
  • في جدول التسجيلات: Student ID و Subject ID هما Foreign Keys

7. مزايا قواعد البيانات العلاقية

تجنب التكرار

لا نحتاج لتكرار معلومات الطالب أو المادة في كل سجل. نحفظها مرة واحدة ونشير إليها بالمعرف.

سهولة التحديث

إذا تغيرت معلومات طالب، نحدثها في مكان واحد فقط وتنعكس على جميع الجداول المرتبطة.

المرونة في الاستعلام

يمكننا ربط الجداول بطرق مختلفة للحصول على معلومات مفصلة حسب الحاجة.

8. أمثلة على الاستعلامات البسيطة

مثال 1: الحصول على معلومات طالب معين

SELECT * FROM Students WHERE Student_ID = 101;

سيعرض: أحمد محمد، 20 سنة، من الرياض، تخصص هندسة

مثال 2: الحصول على درجات طالب معين

SELECT * FROM Enrollments WHERE Student_ID = 101;

سيعرض: المواد 201 و 203 بدرجات 85 و 92

مثال 3: ربط المعلومات من عدة جداول

SELECT s.FirstName, s.LastName, sub.SubjectName, e.Grade
FROM Students s, Subjects sub, Enrollments e
WHERE s.Student_ID = e.Student_ID AND sub.Subject_ID = e.Subject_ID;

سيعرض: أسماء الطلاب مع المواد ودرجاتهم

9. تطبيقات قواعد البيانات العلاقية

في التعليم

  • إدارة معلومات الطلاب والمدرسين
  • تسجيل الدرجات والحضور
  • جدولة المواد والقاعات

في التجارة

  • إدارة المخزون والمنتجات
  • معلومات العملاء والطلبات
  • المحاسبة والفواتير

⚠️ نقاط مهمة للتذكر

  • Primary Key يجب أن يكون فريد لكل سجل في الجدول
  • Foreign Key يجب أن يطابق Primary Key في الجدول المرجعي
  • العلاقات تقلل من تكرار البيانات وتحسن الكفاءة
  • SQL هي اللغة المعيارية للتعامل مع قواعد البيانات العلاقية

الخلاصة المهمة

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

انضم لعائلة الهندسة و الرياضيات

سجل معنا
👨‍💻
جاري تحميل التعليقات...