Inhoudsopgave:
Definitie - Wat betekent een-op-veel-relatie?
In relationele databases treedt een één-op-veel-relatie op wanneer een bovenliggend record in een tabel mogelijk kan verwijzen naar meerdere onderliggende records in een andere tabel. In een één-op-veel-relatie hoeft de ouder geen kindrecords te hebben; daarom maakt de één-op-veel-relatie nul kindrecords, één kindrecord of meerdere kindrecords mogelijk. Het belangrijkste is dat het kind niet meer dan één ouderrecord kan hebben.
Het tegenovergestelde van een één-op-veel-relatie is een veel-op-veel-relatie, waarin een kindrecord terug kan linken naar verschillende ouderrecords.
Techopedia verklaart een-op-veel-relatie
Overweeg een database voor het opnemen van verkoopinformatie in een winkel. Er zijn twee tabellen in deze database:
- De CUSTOMER-tabel: deze wordt gebruikt voor het opslaan van klantstamgegevens. De primaire sleutel is de kolom CUST_ID.
- De SALES-tabel: deze wordt gebruikt om individuele verkooptransacties bij te houden.
De SALES-tabel bevat de CUST_ID externe sleutel, die verwijst naar de kolom met dezelfde naam in de CUSTOMER-tabel om de klant te volgen aan wie de verkoop is gedaan. Een enkele verkooptransactie kan slechts op één klant van toepassing zijn, maar één klant kan in de loop van de tijd veel verkooptransacties hebben. Deze logica wordt bepaald door de één-op-veel-relatie. Eén, in dit voorbeeld, is één klant voor veel verkooptransacties.
De één-op-veel-relatie is alleen een principe van databaseontwerp, dat niet expliciet in de database-structuur kan worden gedefinieerd. In plaats daarvan wordt het impliciet gecreëerd en afgedwongen door het gebruik van relaties tussen tabellen, met name de relatie tussen een primaire sleutel en een externe sleutel.