يصف مصطلح قاعدة البيانات "العلائقية" أو "العلاقة" طريقة ربط البيانات في الجداول.
غالبًا ما يواجه القادمون الجدد إلى عالم قواعد البيانات صعوبة في مشاهدة الفرق بين قاعدة البيانات وجدول البيانات. يرون جداول البيانات ويتعرفون على أن قواعد البيانات تسمح لك بتنظيم واستعلام البيانات بطرق جديدة ، ولكنك تفشل في فهم أهمية العلاقات بين البيانات التي تعطي تكنولوجيا قواعد البيانات العلائقية اسمها.
تتيح لك العلاقات وصف الارتباطات بين جداول قاعدة البيانات المختلفة بطرق فعالة. ويمكن بعد ذلك الاستفادة من هذه العلاقات لتنفيذ طلبات البحث المتقاطعة القوية المعروفة باسم الصلات.
أنواع علاقات قواعد البيانات
هناك ثلاثة أنواع مختلفة من علاقات قاعدة البيانات ، يتم تسميتها حسب عدد صفوف الجدول التي قد تكون متضمنة في العلاقة. يوجد كل نوع من أنواع العلاقات الثلاثة هذه بين جدولين.
- علاقات واحد لواحد تحدث عندما يكون لكل إدخال في الجدول الأول نظير واحد ، واحد فقط ، في الجدول الثاني. نادراً ما يتم استخدام علاقات رأس برأس لأنه غالباً ما يكون أكثر فعالية ببساطة لوضع كافة المعلومات في جدول واحد. يستفيد بعض مصممي قواعد البيانات من هذه العلاقة عن طريق إنشاء جداول تحتوي على مجموعة فرعية من البيانات من جدول آخر.
- علاقات رأس بأطراف هي النوع الأكثر شيوعًا من علاقة قاعدة البيانات. تحدث عندما يتطابق كل سجل في الجدول A مع سجل أو أكثر في الجدول B ، لكن كل سجل في الجدول B يقابل سجل واحد فقط في الجدول A. على سبيل المثال ، العلاقة بين جدول المعلمين وجدول الطلاب في مدرسة ابتدائية من المحتمل أن تكون قاعدة البيانات علاقة رأس بأطراف ، لأن كل طالب لديه معلم واحد فقط ، ولكن لكل معلم عددًا من الطلاب. يساعد هذا التصميم من شخص إلى عدة على التخلص من البيانات المكررة.
- العلاقات بين كثير إلى كثير تحدث عندما يقابل كل سجل في الجدول A سجل واحد أو أكثر في الجدول B ، ويتطابق كل سجل في الجدول B مع واحد أو أكثر من السجلات في الجدول A. على سبيل المثال ، من المرجح أن تكون العلاقة بين المعلمين وجدول الدورات التدريبية كثيرة كثيرًا لأن كل معلم قد يرشد أكثر من دورة واحدة ، وقد يكون لكل دورة أكثر من مدرب واحد.
العلاقات ذات المرجعية الذاتية: حالة خاصة
تحدث العلاقات الذاتية المرجعية عندما يكون هناك جدول واحد فقط المعنية. أحد الأمثلة الشائعة هو جدول "الموظفين" الذي يحتوي على معلومات حول المشرف لكل موظف. كل مشرف هو أيضا موظف ولديه مشرفه الخاص. في هذه الحالة ، هناك علاقة واحدة إلى العديد من المراجع الذاتي ، حيث أن كل موظف لديه مشرف واحد ، ولكن قد يكون لكل مشرف أكثر من موظف واحد.
خلق علاقات مع مفاتيح خارجية
يمكنك إنشاء علاقات بين الجداول عن طريق تحديد مفتاح خارجي. يخبر هذا المفتاح قاعدة البيانات العلائقية كيف ترتبط الجداول. في العديد من الحالات ، يحتوي عمود في جدول A على مفاتيح أساسية يتم الرجوع إليها من الجدول ب.
النظر مرة أخرى على سبيل المثال من جداول المعلمين والطلاب. يحتوي جدول المدرسين على معرّف ، واسم ، وعمود دورة تدريبية:
InstructorID | TEACHER_NAME | دورة |
---|---|---|
001 | فلان الفلاني | الإنجليزية |
002 | جين شمو | الرياضيات |
يتضمن جدول "الطلاب" معرفًا واسمًا وعمود مفتاح خارجي:
هوية الطالب | أسم الطالب | Teacher_FK |
---|---|---|
0200 | لويل سميث | 001 |
0201 | بريان شورت | 001 |
0202 | كوركى مينديز | 002 |
0203 | مونيكا جونز | 001 |
العمود Teacher_FK في جدول "الطلاب" مراجع قيمة المفتاح الأساسي لـ مدرب في جدول المعلمين.
في كثير من الأحيان ، سيستخدم مصممي قواعد البيانات "PK" أو "FK" في اسم العمود لتعريف مفتاح المفتاح الأساسي أو المفتاح الخارجي بسهولة.
لاحظ أن هذين الجدولين يوضحان علاقة رأس بأطراف بين المعلمين والطلاب.
العلاقات والنزاهة المرجعية
بمجرد إضافة مفتاح خارجي إلى جدول ، يمكنك عندئذ إنشاء قيد قاعدة بيانات يفرض التكامل المرجعي بين الجدولين. هذا يضمن أن تظل العلاقات بين الجداول متسقة. عندما يحتوي أحد الجداول على مفتاح خارجي لجدول آخر ، ينص مفهوم التكامل المرجعي على أن أي قيمة مفتاح خارجية في جدول B يجب أن تشير إلى سجل موجود في جدول A.
العلاقات التنفيذية
اعتمادا على قاعدة البيانات الخاصة بك ، تقوم بتنفيذ العلاقات بين الجداول بطرق مختلفة. يوفر Microsoft Access معالج يسمح لك بسهولة بربط الجداول وكذلك فرض التكامل المرجعي.
إذا كنت تقوم بكتابة SQL مباشرةً ، فعليك أولاً إنشاء الجدول Teachers ، معلنين أن عمود المعرف هو المفتاح الأساسي:
إنشاء المعلمين TABLE (
InstructorID INT AUTO_INCREMENT PRIMARY KEY، Teacher_Name VARCHAR (100)، دورة VARCHAR (100));
عند إنشاء جدول "الطلاب" ، تقوم بتعريف عمود Teacher_FK ليكون مفتاحًا خارجيًا يشير إلى عمود InstructorID في جدول المعلمين:
إنشاء الطلاب TABLE ( StudentID INT AUTO_INCREMENT PRIMARY KEY، Student_Name VARCHAR (100)، Teacher_FK INT، مفتاح خارجي (Teacher_FK) مراجع معلمات (مدرس))
;
استخدام العلاقات للانضمام إلى الجداول
بمجرد إنشاء علاقة واحدة أو أكثر في قاعدة البيانات ، يمكنك الاستفادة من الطاقة الخاصة بهم باستخدام استعلامات SQL JOIN لدمج المعلومات من جداول متعددة. النوع الأكثر شيوعًا للانضمام هو SQL INNER JOIN ، أو صلة بسيطة. هذا النوع من الصلة بإرجاع كافة السجلات التي تفي شرط الصلة من جداول متعددة.على سبيل المثال ، سيؤدي شرط JOIN هذا إلى إرجاع Student_Name و Teacher_Name و Course حيث يتطابق المفتاح الخارجي في جدول الطلاب مع المفتاح الأساسي في جدول المعلمين:
SELECT Students.Student_Name، Teachers.Teacher_Name، Teachers.Courseمن الطلابINNER JOIN المعلمونON Students.Teacher_FK = Teachers.InstructorID؛
ينتج هذا البيان جدولاً مثل هذا:
جدول المرتجعات من SQL الانضمام بيان
Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish