Mange-til-mange (datamodellering)
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å
redigerReferanser
rediger- ^ Se også entitet–relasjonsmodell.
- ^ 3.7.6.5 hasAndBelongsToMany (HABTM) Arkivert 15. august 2012 hos Wayback Machine. Arkivert 2012-08-15 hos Wayback Machine. Cakephp.org