Багато-до-багатьох
У системному аналізі, відношення багато-до-багатьох — тип кардинальності[en], який стосується відношення між двома сутностями[1], скажімо, А і Б, де А може містити батьківський примірник із багатьма дітьми в Б, і навпаки.
Подумаймо, наприклад, про А як про авторів, а Б — як про книги. Автор може написати багато книг, а книгу можуть написати багато авторів.
У системах керування реляційними базами даних, такі відношення, як правило, реалізуються за допомогою асоціативної таблиці[en] (також відомої, як таблиця з'єднання, сполучення чи перехресних посилань), скажімо, АБ, із двома відношеннями один-до-багатьох А → АБ та Б → АБ. У такому випадку, логічний первинний ключ для АБ утворюється з двох зовнішніх ключів (тобто, копій первинних ключів А і Б).
У таких каркасах вебзастосунків, як CakePHP і Ruby on Rails, відношення багато-до-багатьох між типами сутностей, представленими таблицями логічної моделі баз даних, іноді називається відношенням МаєТаНалежитьБагатьом (МТНБ; англ. HasAndBelongsToMany, HABTM)[2].
- ↑ Див. також модель «сутність — зв'язок».
- ↑ 3.7.6.5 hasAndBelongsToMany (HABTM). CakePHP. Архів оригіналу за 15 серпня 2012. [Архівовано 2012-08-15 у Wayback Machine.]