# مقدمة إلى قواعد البيانات العلاقية (Relational Databases)
لماذا نحتاج قواعد البيانات؟
نحتاج قواعد البيانات لتنظيم كميات كبيرة من المعلومات بطريقة:
- سهلة التخزين. - سهلة البحث. - سهلة التعديل. - تمنع تكرار البيانات. - تسمح بربط المعلومات ببعضها.
---
مثال: قاعدة بيانات للطلاب
لنفترض أننا نريد تخزين معلومات طلاب الجامعة.
لكل طالب نخزن:
- الاسم الأول. - الاسم الأخير. - العمر. - مدينة الميلاد. - المدرسة الثانوية. - التخصص الحالي.
بدلاً من الاعتماد على الاسم، نعطي كل طالب رقمًا فريدًا يسمى:
**Primary Key (المعرف الأساسي)**
مثال:
| Student ID | الاسم الأول | الاسم الأخير | العمر | التخصص | |------------|------------|--------------|--------|---------| | 101 | أحمد | محمد | 20 | هندسة | | 102 | خالد | علي | 21 | حاسب |
كل طالب يملك معرفًا (ID) لا يتكرر.
---
جدول المواد
بنفس الطريقة ننشئ جدولًا آخر خاصًا بالمواد.
لكل مادة:
- معرف المادة (Course ID). - اسم المادة. - الدكتور. - القسم. - مستوى الصعوبة.
مثال:
| Course ID | اسم المادة | الدكتور | |-----------|------------|----------| | 201 | قواعد البيانات | د. أحمد | | 202 | البرمجة | د. خالد |
---
ربط الجدولين
نفترض أننا نريد معرفة:
- أي طالب درس أي مادة. - تاريخ التسجيل. - الدرجة النهائية.
بدلاً من تكرار جميع بيانات الطالب وجميع بيانات المادة، ننشئ جدولًا ثالثًا يحتوي فقط على:
- Student ID - Course ID - تاريخ التسجيل - الدرجة النهائية
مثال:
| Student ID | Course ID | تاريخ التسجيل | الدرجة | |------------|-----------|---------------|---------| | 101 | 201 | 2025-09-01 | A | | 101 | 202 | 2025-09-01 | B+ | | 102 | 201 | 2025-09-01 | A- |
---
لماذا لا نكرر البيانات؟
لأننا نستطيع:
- استخدام **Student ID** للرجوع إلى جدول الطلاب واستخراج جميع بيانات الطالب. - استخدام **Course ID** للرجوع إلى جدول المواد واستخراج جميع بيانات المادة.
وبذلك نقلل تكرار البيانات ونحافظ على تنظيمها.
---
# Primary Key و Foreign Key
Primary Key
هو معرف فريد داخل الجدول نفسه.
مثال:
- Student ID في جدول الطلاب. - Course ID في جدول المواد.
لا يتكرر داخل الجدول.
---
Foreign Key
عندما نستخدم الـ Primary Key داخل جدول آخر للربط بين الجداول فإنه يسمى:
**Foreign Key (المفتاح الخارجي)**
في جدول تسجيل المواد:
- Student ID يعتبر Foreign Key لأنه يشير إلى جدول الطلاب. - Course ID يعتبر Foreign Key لأنه يشير إلى جدول المواد.
---
لماذا تسمى قواعد بيانات علائقية؟
سميت **Relational Databases** لأنها تعتمد على إنشاء **علاقات (Relationships)** بين الجداول باستخدام المفاتيح (Keys)، بدلاً من تكرار المعلومات في كل جدول.
---
# ملخص
- كل سجل يمتلك معرفًا فريدًا يسمى **Primary Key**. - يمكن ربط الجداول باستخدام هذه المعرفات. - عند استخدام معرف جدول داخل جدول آخر يسمى **Foreign Key**. - العلاقات بين الجداول تقلل تكرار البيانات وتجعل قاعدة البيانات أكثر تنظيمًا وكفاءة.
عن هذا الدرس
مقدمة إلى قواعد البيانات العلاقية (Relational Databases) لماذا نحتاج قواعد البيانات؟ نحتاج قواعد البيانات لتنظيم كميات كبيرة من المعلومات بطريقة: - سهلة… هذا الدرس ضمن مقدمة لمنهج هندسة الكمبيوتر أساسيات الكمبيوتر في أكاديمية موسى.