Mange-til-mange (datamodellering)

Innen systemanalyse er en mange-til-mange-relasjon en type kardinalitet som viser til at relasjonen mellom to entiteter hvor A kan inneholde en foreldreinstans som har mange barn i B, og omvendt at B kan inneholde en foreldreinstans som har mange barn i A.

Som et eksempel kan man se på A som en mengde forfattere og B som en mengde bøker. Én forfatter kan ha skrevet flere bøker, og én bok kan være skrevet av flere forfattere.

I en relasjonsdatabase blir slike relasjoner vanligvis implementerte ved hjelp av en koblingstabell (associative table, også kjent som en join-tabell) som for eksempel kan hete AB og har en-til-mange-relasjonene A -> AB og B -> AB. I dette tilfellet kan den logiske primærnøkkelen til AB dannes fra de to fremmednøklene (altså kopier av primærnøklene A og B).

I nettvevrammeverk som CakePHP og Ruby on Rails blir mange-til-mange-relasjoner mellom entitetstyper representert ved logisk-modell-databasetabeller noen ganger referert til som HasAndBelongsToMany (HABTM) relasjoner.

Se også 
 Assosiativ entitet
 En-til-en (datamodellering)
 En-til-mange (datamodellering)

Referanser 

Datamodellering