Багато-до-багатьох

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Автор може написати багато книг, і книгу можуть написати багато авторів
Відношення багато-до-багатьох Книга-Автор як пара відношень один-до-багатьох з junction таблицею

У системному аналізі, відношення багато-до-багатьох — тип кардинальності[en], який стосується відношення між двома сутностями[ru][1], скажімо, А і Б, де А може містити батьківський примірник із багатьма дітьми в Б, і навпаки.

Подумаймо, наприклад, про А як про авторів, а Б — як про книги. Автор може написати багато книг, а книгу можуть написати багато авторів.

У системах керування реляційними базами даних, такі відношення, як правило, реалізуються за допомогою асоціативної таблиці[en] (також відомої, як таблиця з'єднання, сполучення чи перехресних посилань), скажімо, АБ, із двома відношеннями один-до-багатьох А → АБ та Б → АБ. У такому випадку, логічний первинний ключ для АБ утворюється з двох зовнішніх ключів (тобто, копій первинних ключів А і Б).

У таких каркасах вебзастосунків, як CakePHP і Ruby on Rails, відношення багато-до-багатьох між типами сутностей, представленими таблицями логічної моделі баз даних, іноді називається відношенням МаєТаНалежитьБагатьом (МТНБ; англ. HasAndBelongsToMany, HABTM)[2].

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Див. також модель «сутність — зв'язок».
  2. 3.7.6.5 hasAndBelongsToMany (HABTM). CakePHP. Архів оригіналу за 15 серпня 2012.