I en én-til-mange-relation kan hver række i den relaterede til-tabellen relateres til mange rækker i den relaterede tabel. Dette gør det muligt, at hyppigt anvendte oplysninger kun gemmes én gang i en tabel og refereres mange gange i alle andre tabeller. I et one-to-many-forhold mellem tabel A og tabel B er hver række i tabel A knyttet til 0, 1 eller mange rækker i tabel B. Antallet af rækker i tabel A er næsten altid mindre end antallet af rækker i tabel B.
For at illustrere one-to-many-forholdet kan man se på nedenstående eksempel på tabelopbygning og data:
forfattere tabel
spalte |
|
forfatter_id |
primære nøgle |
navne |
|
fornavn |
|
fornavn |
|
bøger tabel
søjle |
|
book_id |
primary key |
title |
|
author_id |
foreign key – link til author_id i forfattertabellen |
author_id |
lastname |
firstname |
0001 |
henry |
john |
0002 |
smith |
smith |
adam |
0003 |
johnson |
mary |
0004 |
bailey |
harry |
book_id |
title |
author_id |
0001 |
En grundbog om databaser |
0001 |
0002 |
Opbygning af et datawarehouse |
0001 |
0003 |
Lær dig selv SQL |
0001 |
0004 |
101 eksotiske opskrifter |
0002 |
0005 |
Visiting europe |
0004 |
Bemærk, at hver række i forfattertabellen er relateret til 0, 1 eller mange rækker i tabellen “bøger”. Dette giver intuitiv mening, fordi en forfatter kan skrive 0, 1 eller flere end 1 bøger. I vores eksempel ovenfor har John Henry skrevet 3 bøger, Adam Smith har skrevet 1 bog, Mary Johnson har ikke skrevet nogen bog, og Harry Bailey har skrevet 1 bog.
Hvis du lægger nøje mærke til det, er ovenstående relation mellem forfattertabellen og tabellen books en one-to-many-relation. Hvis man vender den om, er relationen mellem tabellen bøger og tabellen forfattere en mange-til-en-relation.
Se også: Relationer: En-til-en-relationer og Mange-til-Many-relationer