في التمرين السابق أوضحنا أن أسماء الشخصيات لا تتكرّر، فلو تغيّر اسم شخصية لما احتجت إلى تغييره إلا في صف واحد.
غير أن المثال السابق كان مصطنعًا بعض الشيء، لأن أسماء المسلسلات وأسماء الممثّلين كانت مكرّرة.
ولكي لا يتكرّر أي اسم، نحتاج إلى جداول أكثر وإلى استخدام أكثر من ربط.
لدينا جداول للشخصيات والمسلسلات والممثّلين. وهذه الجداول تمثّل أشياء (تُسمّى أيضًا كيانات).
وإلى جانبها لدينا جدولا العلاقات character_tv_show وcharacter_actor، وهما يلتقطان العلاقة بين كيانين.
وهذه طريقة مرنة لتمثيل العلاقات بين الكيانات المختلفة، إذ قد تظهر بعض الشخصيات في أكثر من مسلسل، وقد يشتهر بعض الممثّلين بأداء أكثر من شخصية.
وللحصول على اسم كل شخصية مع اسم مسلسلها يمكننا كتابة
SELECT character.name, tv_show.name
FROM character
INNER JOIN character_tv_show
ON character.id = character_tv_show.character_id
INNER JOIN tv_show
ON character_tv_show.tv_show_id = tv_show.id;
هل يمكنك استخدام ربطَين لمطابقة اسم كل شخصية بالممثّل الذي يؤدّيها؟ اختر الأعمدة: character.name وactor.name