لماذا نستخدم عمليات الربط (مراجعة النموذج العلائقي)
راجع النموذج العلائقي، والجداول المطبّعة، والمفاتيح الخارجية، ولماذا يُعد JOIN الجسر الذي يعيد تجميع البيانات عبر الجداول.
لماذا نستخدم عمليات الربط (مراجعة النموذج العلائقي) درس مجاني في SQL Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SQL Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SQL Academy 4 دروس في المجموع.
التطبيع في صورة واحدة
بدلًا من تكرار البيانات، تقسمونها على عدة جداول:
users— المعرّف والاسم والبريد الإلكترونيorders— المعرّف ومعرّف المستخدم والإجمالي
يشير كل طلب إلى مستخدم باستخدام المعرّف، بدلًا من تخزين اسم المستخدم وبريده الإلكتروني مرة أخرى.
لماذا نستخدم التطبيع؟
الفوائد:
- لا يوجد تكرار — غيّروا البريد الإلكتروني للمستخدم في مكان واحد
- جداول أصغر — معدل إصابة أفضل لذاكرة التخزين المؤقت
- تفرض القيود العلاقات
المفاتيح الخارجية تحدد الرابط
يُعلَن الرابط باستخدام FOREIGN KEY:
CREATE TABLE orders (
id BIGSERIAL PRIMARY KEY,
user_id BIGINT NOT NULL REFERENCES users(id),
total NUMERIC(10,2) NOT NULL
);إعادة تجميع البيانات باستخدام JOIN
لعرض «اسم المستخدم في كل طلب»، أجروا JOIN بين الجدولين لإعادة جمعهما:
SELECT o.id, o.total, u.full_name, u.email
FROM orders o
JOIN users u ON u.id = o.user_id
ORDER BY o.id;النموذج الذهني: حاصل الضرب الديكارتي المصفّى
مفهوميًا، يعمل JOIN كما يلي:
- ينشئ حاصل الضرب الديكارتي لجدولين، بحيث يقترن كل صف من A بكل صف من B
- يُبقي الأزواج التي يكون فيها شرط ON صحيحًا فقط
عمليًا، تستخدم قاعدة البيانات ربط التجزئة أو ربط الدمج أو ربط الحلقات المتداخلة، لكن النتيجة واحدة.
واحد إلى متعدد
يمكن أن يكون لدى مستخدم واحد عدة طلبات. ويحمل جانب «المتعدد» المفتاح الخارجي.
-- Each order row points back to its user:
SELECT u.email, COUNT(o.id) AS order_count
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id, u.email;متعدد إلى متعدد عبر جدول ربط
الوسوم ↔ المنشورات: أضيفوا جدولًا ثالثًا:
CREATE TABLE posts (id BIGSERIAL PRIMARY KEY, title TEXT);
CREATE TABLE tags (id BIGSERIAL PRIMARY KEY, name TEXT);
CREATE TABLE post_tags (
post_id BIGINT REFERENCES posts(id),
tag_id BIGINT REFERENCES tags(id),
PRIMARY KEY (post_id, tag_id)
);الاستعلام عن علاقة متعدد إلى متعدد
استخدموا عمليتي ربط لجمع كل شيء معًا:
SELECT p.title, t.name
FROM posts p
JOIN post_tags pt ON pt.post_id = p.id
JOIN tags t ON t.id = pt.tag_id
WHERE t.name = 'sql';متى نستخدم إلغاء التطبيع؟
يُستخدم إلغاء التطبيع، أي تكرار البيانات، أحيانًا لتحسين الأداء، مثل تخزين الإجماليات المحسوبة مؤقتًا، أو أعمدة البحث في النص الكامل، أو العروض المادية. ابدأوا بالتطبيع، ثم ألغوا التطبيع بعد قياس الحاجة.
عمليات الربط مقابل الاستعلامات الفرعية
يمكن كتابة كثير من استعلامات JOIN باستخدام الاستعلامات الفرعية، والعكس صحيح. استخدموا الصيغة الأسهل قراءة؛ فكثيرًا ما تنتج المُخطِّطات الحديثة خطة التنفيذ نفسها.
لا تُفرَض المفاتيح الخارجية تلقائيًا
يجب التصريح بها باستخدام REFERENCES. وحتى مع وجود قيود FK، تقع مسؤولية فهرسة عمود FK عليكم — صرّحوا بفهرس له صراحةً لتحسين أداء عمليات الربط.
مراجعة
تعيد عمليات الربط تجميع البيانات التي قُسّمت على عدة جداول للحفاظ على سلامتها.
- تصرّح المفاتيح الخارجية بالرابط
- يعكس JOIN عملية التطبيع وقت تنفيذ الاستعلام
- تُنفّذ علاقة واحد إلى متعدد باستخدام FK في جانب «المتعدد»، وعلاقة متعدد إلى متعدد باستخدام جدول ربط
تحقق سريع
في علاقة واحد إلى متعدد بين users وorders، أي جدول يحمل عمود المفتاح الخارجي؟
الأسئلة الشائعة
هل درس «لماذا نستخدم عمليات الربط (مراجعة النموذج العلائقي)» مجاني؟
نعم — نص درس «لماذا نستخدم عمليات الربط (مراجعة النموذج العلائقي)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SQL Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SQL Academy 4 دروس في المجموع.
ماذا ستتعلم في «لماذا نستخدم عمليات الربط (مراجعة النموذج العلائقي)»؟
راجع النموذج العلائقي، والجداول المطبّعة، والمفاتيح الخارجية، ولماذا يُعد JOIN الجسر الذي يعيد تجميع البيانات عبر الجداول. تتمرن على SQL Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ SQL Academy؟
لا تُشترط خبرة سابقة. SQL Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «لماذا نستخدم عمليات الربط (مراجعة النموذج العلائقي)»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس SQL Academy هذا؟
نعم. كل درس في SQL Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- لماذا نستخدم عمليات الربط (مراجعة النموذج العلائقي)
- آلية INNER JOIN
- LEFT JOIN وRIGHT JOIN وعمليات الربط الخارجية
- الربط الذاتي والأسماء المستعارة