الوحدة 5: نموذج البيانات العلائقية

تُعرف هذه الوحدة الطلاب بنموذج البيانات العلائقية (Relational Data Model)، مع شرح الخصائص الأساسية للجداول، المفاهيم المرتبطة بالعلاقات بين البيانات، والمصطلحات الأساسية، مع تقديم أمثلة عملية وتمارين تطبيقية.

الهدف من الوحدة

تُعرف هذه الوحدة الطلاب بنموذج البيانات العلائقية (Relational Data Model)، مع شرح الخصائص الأساسية للجداول، المفاهيم المرتبطة بالعلاقات بين البيانات، والمصطلحات الأساسية، مع تقديم أمثلة عملية وتمارين تطبيقية.

5.1 المفاهيم الأساسية في نماذج البيانات العلائقية (Core Concepts in Relational Data Models)

يُعد نموذج البيانات العلائقية (Relational Data Model) حجر الزاوية في تصميم معظم قواعد البيانات الحديثة، وقد تم تقديمه لأول مرة بواسطة إدجار كود (E.F. Codd) في عام 1970. يعتمد هذا النموذج على مفهوم بسيط ولكنه قوي: تنظيم البيانات في جداول (Tables). كل جدول يمثل كيانًا (Entity) في العالم الحقيقي (مثل طالب، منتج، موظف) أو علاقة (Relationship) بين كيانات متعددة.

المكونات الأساسية للنموذج العلائقي هي:

  • الجداول (Tables / Relations):

    هي البنية الرئيسية لتخزين البيانات. يتكون كل جدول من مجموعة من الصفوف والأعمدة. يُشار إلى الجدول أحيانًا بـ "العلاقة" (Relation) في سياق النموذج العلائقي.

  • الصفوف (Rows / Records / Tuples):

    كل صف في الجدول يمثل سجلاً فرديًا (Record) أو كيانًا واحدًا (Entity). على سبيل المثال، في جدول "الطلاب"، كل صف يمثل طالبًا واحدًا بكل بياناته.

  • الأعمدة (Columns / Fields / Attributes):

    كل عمود في الجدول يمثل خاصية (Property) أو سمة (Attribute) للكيان الذي يمثله الجدول. على سبيل المثال، في جدول "الطلاب"، قد تكون "اسم الطالب" أو "تاريخ الميلاد" أعمدة.

  • العلاقات بين الجداول (Relationships between Tables):

    لا تكون الجداول معزولة؛ بل ترتبط ببعضها البعض منطقياً لتمثيل العلاقات في العالم الحقيقي. تُحدد هذه العلاقات بشكل أساسي عبر المفاتيح الرئيسية (Primary Keys - PK) والمفاتيح الخارجية (Foreign Keys - FK)، مما يضمن التكامل المرجعي (Referential Integrity).

مثال تطبيقي: قاعدة بيانات إدارة الطلاب

تخيل نظامًا لإدارة الطلاب في جامعة. يمكن أن تُنظّم البيانات في الجداول التالية:

جدول الطلاب (Students) جدول المقررات (Courses) جدول التسجيل (Enrollment)
StudentID (PK) Name CourseID (PK) CourseName EnrollmentID (PK) StudentID (FK) CourseID (FK)
101 أحمد CS101 مقدمة في البرمجة 1 101 CS101
102 سارة DB201 تصميم قواعد البيانات 2 101 DB201
3 102 CS101

العلاقة هنا هي: كل طالب يمكن أن يسجل في عدة مقررات، وكل مقرر يمكن أن يسجله عدة طلاب. هذه تُعرف بعلاقة "متعدد إلى متعدد" (Many-to-Many)، والتي يتم تمثيلها في النموذج العلائقي عادةً بجدول وسيط (هنا جدول `Enrollment`) يحتوي على المفاتيح الخارجية من الجدولين الأساسيين.

5.2 خصائص الجدول (Properties of a Table / Relation)

لكي يكون الجدول جزءًا صالحًا من النموذج العلائقي، يجب أن يلتزم بخصائص محددة تضمن سلامة البيانات واتساقها:

  • ترتيب الصفوف غير مهم (Order of Rows is Immaterial):

    لا يهم الترتيب الذي تُخزن به الصفوف داخل الجدول. ترتيب إدخال البيانات أو عرضها لا يؤثر على المعنى المنطقي للبيانات المخزنة. يمكن لـ DBMS عرض الصفوف بأي ترتيب (مثل الترتيب الأبجدي حسب الاسم، أو حسب التاريخ) دون تغيير البيانات نفسها.

  • الأعمدة محددة بشكل فريد (Columns are Uniquely Identified):

    لكل عمود في الجدول اسم فريد داخل ذلك الجدول، ونوع بيانات محدد (مثل نص، رقم، تاريخ، منطقي). هذا يضمن أن البيانات في كل عمود متجانسة ومتسقة.

  • المفتاح الرئيسي (Primary Key - PK):

    يجب أن يحتوي كل جدول على مفتاح رئيسي (Primary Key) أو مجموعة من الأعمدة التي تضمن أن كل صف مميز وفريد ولا يتكرر في الجدول. قيمة المفتاح الرئيسي لا يمكن أن تكون فارغة (`NULL`).

  • عدم تكرار الصفوف (No Duplicate Rows):

    نتيجة لوجود المفتاح الرئيسي، لا يُسمح بوجود صفين متماثلين تمامًا في نفس الجدول. هذا يضمن عدم تكرار البيانات ويحافظ على سلامتها.

  • العلاقات باستخدام المفاتيح الخارجية (Relationships using Foreign Keys):

    يتم إنشاء العلاقات بين الجداول باستخدام المفاتيح الخارجية (Foreign Key). هذا يضمن التكامل المرجعي، أي أن أي قيمة في المفتاح الخارجي يجب أن تتطابق مع قيمة موجودة في المفتاح الرئيسي للجدول المرتبط، أو أن تكون قيمة فارغة (إذا سُمح بذلك).

  • القيم الذرية (Atomic Values):

    يجب أن تحتوي كل خلية (تقاطع الصف والعمود) في الجدول على قيمة واحدة فقط وغير قابلة للتجزئة (Atomic Value). على سبيل المثال، لا يجب أن يحتوي عمود "رقم الهاتف" على رقمين هاتف في خلية واحدة.

  • ترتيب الأعمدة غير مهم (Order of Columns is Immaterial):

    على غرار الصفوف، لا يؤثر ترتيب الأعمدة في الجدول على المعنى المنطقي للبيانات المخزنة. يمكن تغيير ترتيب عرض الأعمدة دون التأثير على بنية أو سلامة البيانات.

5.3 المفاهيم الأساسية (Core Concepts)

لفهم النموذج العلائقي بعمق، يجب استيعاب المصطلحات والمفاهيم الأساسية التالية:

  • المفتاح الرئيسي (Primary Key – PK):

    هو عمود أو مجموعة من الأعمدة في الجدول يُعرّف كل سجل (صف) بشكل فريد. لا يمكن أن يحتوي على قيم مكررة أو قيم فارغة (NULL). يُستخدم لضمان هوية فريدة لكل سجل وكمفتاح لربط الجداول الأخرى به.

    مثال: في جدول "الموظفين"، EmployeeID (معرف الموظف) هو مفتاح رئيسي مثالي.
  • المفتاح الخارجي (Foreign Key – FK):

    هو عمود أو مجموعة من الأعمدة في جدول ما (يُعرف بـ "الجدول الفرعي" أو "جدول الابن") يشير إلى المفتاح الرئيسي في جدول آخر (يُعرف بـ "الجدول الرئيسي" أو "جدول الأب"). وظيفته الأساسية هي ربط الجدولين معًا وضمان التكامل المرجعي (Referential Integrity).

    مثال توضيحي: المفتاح الرئيسي والمفتاح الخارجي
    جدول الأقسام (Departments) جدول الموظفين (Employees)
    DeptID (PK) DeptName EmpID (PK) EmpName DeptID (FK)
    D01 الموارد البشرية 101 علي D01
    D02 التسويق 102 سارة D02
    103 فهد D01

    هنا، DeptID في جدول الأقسام هو المفتاح الرئيسي (PK). بينما DeptID في جدول الموظفين هو المفتاح الخارجي (FK) الذي يربط كل موظف بالقسم الذي ينتمي إليه. لا يمكن لموظف أن ينتمي لقسم غير موجود في جدول الأقسام.

  • الاعتمادية (Dependency):

    تشير إلى العلاقة بين الأعمدة داخل الجدول، حيث تُحدد قيمة عمود واحد أو أكثر قيمة عمود آخر. تُستخدم لضمان تناسق البيانات وهي أساس لعملية التوحيد (Normalization) التي ستتعلمها لاحقًا.

  • العلاقة (Relation):

    في سياق النموذج العلائقي، مصطلح "العلاقة" يُستخدم للإشارة إلى الجدول (Table) نفسه. يُطلق عليه "علاقة" لأنه يمثل مجموعة من الكائنات (الصفوف) التي ترتبط بسمات (الأعمدة).

  • العمود (Attribute):

    هو مصطلح بديل لـ "العمود" أو "الحقل". يمثل خاصية محددة أو وصفًا لكل سجل (كيان) في الجدول.

  • السجل (Tuple / Row):

    هو مصطلح بديل لـ "الصف" أو "السجل". يمثل كيانًا فرديًا كاملاً أو "مجموعة من الحقائق المترابطة" داخل الجدول.

5.4 المصطلحات الأساسية (Key Terms)

المصطلح (الإنجليزية) المصطلح (العربية) التعريف
Relational Data Model (RDM) نموذج البيانات العلائقية نموذج لتنظيم البيانات في جداول مترابطة.
Relation / Table علاقة / جدول تمثيل منطقي لمجموعة سجلات متشابهة الخصائص (الهيكل الأساسي لتخزين البيانات).
Tuple / Row / Record صف / سجل سجل فردي كامل في الجدول يمثل كيانًا واحدًا (مثل بيانات موظف واحد).
Attribute / Column / Field عمود / سمة / حقل خاصية واحدة لكل سجل (مثل الاسم، العمر، الراتب).
Primary Key (PK) المفتاح الرئيسي عمود أو مجموعة أعمدة تُعرف كل سجل بشكل فريد داخل الجدول، ولا يمكن أن تكون فارغة أو مكررة.
Foreign Key (FK) المفتاح الخارجي عمود في جدول ما يشير إلى المفتاح الرئيسي في جدول آخر، لربط الجدولين وضمان التكامل المرجعي.
Referential Integrity التكامل المرجعي قاعدة تضمن أن القيم في المفتاح الخارجي يجب أن تتطابق مع قيمة موجودة في المفتاح الرئيسي المرتبط، أو تكون قيمة فارغة.
Dependency الاعتمادية العلاقة التي تُحدد فيها قيمة عمود (أو مجموعة أعمدة) قيمة عمود آخر.
Candidate Key مفتاح محتمل أي عمود أو مجموعة أعمدة يمكن أن تكون مفتاحًا رئيسيًا (تُعرف السجلات بشكل فريد ولا تحتوي على تكرار).
Composite Key مفتاح مركب مفتاح يتكون من أكثر من عمود واحد معًا لتمييز السجلات بشكل فريد.
Domain نطاق مجموعة جميع القيم الممكنة التي يمكن أن يأخذها عمود معين.
Schema (Relational) تخطيط (علائقي) وصف هيكلي للجدول في النموذج العلائقي، يتضمن اسم الجدول، أسماء الأعمدة، ونوع بياناتها.

ملخص الوحدة

  • نموذج البيانات العلائقية (RDM) يُنظم البيانات في جداول (تُسمى علاقات)، تتكون من صفوف (سجلات) وأعمدة (سمات).
  • المفتاح الرئيسي (PK) يُعرف السجل بشكل فريد، والمفتاح الخارجي (FK) يربط الجداول ويضمن التكامل المرجعي.
  • الجداول العلائقية لها خصائص مثل عدم أهمية ترتيب الصفوف/الأعمدة، فرادة الأعمدة، وعدم تكرار الصفوف.
  • فهم المفاهيم مثل الاعتمادية، العمود، والسجل ضروري للتعامل مع النموذج العلائقي.

5.5 تمارين مقترحة (Suggested Exercises)

اختبر فهمك لمفاهيم هذه الوحدة بالإجابة على الأسئلة التالية:

  1. صمم جدولين بسيطين: "الطلاب" و"المشرفون الأكاديميون". حدد الأعمدة الرئيسية لكل جدول، وقم بتحديد المفتاح الرئيسي (PK) والمفتاح الخارجي (FK) الذي يربط بين الجدولين.
  2. اشرح الفرق الجوهري بين المفتاح الرئيسي (Primary Key) والمفتاح الخارجي (Foreign Key) مع تقديم مثال عملي يوضح كيفية استخدامهما لربط البيانات.
  3. اذكر ثلاثة من الخصائص الأساسية للجدول في النموذج العلائقي، واشرح بإيجاز أهمية كل خاصية.
  4. قدم مثالًا على علاقة "واحد إلى متعدد" (One-to-Many) بين كيانين (جداول) في سياق حقيقي، وكيف يمكن تمثيلها باستخدام المفاتيح في النموذج العلائقي.
  5. اذكر بعض الفوائد الرئيسية لاستخدام النموذج العلائقي في تصميم قواعد البيانات مقارنةً بالنظام القائم على الملفات.
  6. اكتب استعلام SQL بسيط (لا تقلق بشأن الدقة الكاملة الآن، ركز على الفكرة) يعرض أسماء الموظفين مع اسم القسم المرتبط بهم، بافتراض وجود جدولي `Employees` و`Departments` بينهما مفتاح خارجي.