Mange-til-mange (datamodellering)

Fra Wikipedia, den frie encyklopedi
En forfatter kan skrive flere bøker, og en bok kan skrives av flere forfattere.
Mange-til-mange-relasjonen «forfatter-bok» som et par av to en-til-mange-relasjoner med en koblingstabell.

Innen systemanalyse er en mange-til-mange-relasjon en type kardinalitet som viser til at relasjonen mellom to entiteter[1] 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.[2]

Se også[rediger | rediger kilde]

Referanser[rediger | rediger kilde]