چند به چند (مدل داده)

رابطه چند به چند (به انگلیسی: Many-to-Many) در تحلیل سامانه‌ها نوعی از کاردینالیتی است که به رابطه بین دو موجودیت [۱] اشاره دارد؛ مثلاً A و B، که در آن A ممکن است شامل یک نمونه والد باشد که برای آن فرزندان زیادی در B وجود دارد و برعکس.

یک نویسنده می تواند چندین کتاب بنویسد و یک کتاب می تواند توسط چندین نویسنده نوشته شود.
رابطه نویسنده-کتاب چند به چند به عنوان یک جفت رابطه یک به چند با جدول اتصال

به عنوان مثال، A را به عنوان نویسنده و B را به عنوان کتاب در نظر بگیرید. یک نویسنده می‌تواند چندین کتاب بنویسد و یک کتاب می‌تواند توسط چندین نویسنده نوشته‌شود.

در پایگاه داده رابطه‌ای، چنین روابطی معمولاً با استفاده از یک جدول پیوندی پیاده‌سازی می‌شوند، مثلاً AB با دو رابطه یک به چند A -> AB و B -> AB. در این حالت کلید اصلی منطقی برای AB از دو کلید خارجی (یعنی کپی از کلیدهای اولیه A و B) تشکیل می شود.

در چارچوب نرم‌افزاری تحت وب مانند کیک پی‌اچ‌پی و روبی آن ریلز، رابطه چند به چند بین انواع موجودیت که با جداول پایگاه داده مدل منطقی نشان داده می‌شوند، گاهی اوقات به عنوان یک رابطه HasAndBelongsToMany (HABTM) نامیده می‌شود.[۲]

جستارهای وابستهویرایش

منابعویرایش

  1. Also see entity–relationship model.
  2. 3.7.6.5 hasAndBelongsToMany (HABTM) بایگانی‌شده در ۲۰۱۲-۰۸-۱۵ توسط Wayback Machine. Cakephp.org