Egy-sok kapcsolat esetén a kapcsolódó tábla minden egyes sora a kapcsolódó tábla több sorához is kapcsolódhat. Ez lehetővé teszi, hogy a gyakran használt információk csak egyszer legyenek elmentve egy táblában, és az összes többi táblában sokszor hivatkozzanak rájuk. Az A és a B táblázat közötti egy-sok kapcsolatban az A táblázat minden sora 0, 1 vagy sok sorhoz kapcsolódik a B táblázatban. Az A táblázat sorainak száma szinte mindig kevesebb, mint a B táblázat sorainak száma.
Az egy-sok kapcsolat szemléltetésére tekintsük az alábbi mintatábla kialakítását és adatait:
szerzők tábla
oszlop |
|
szerző_id |
primary key |
név |
|
keresztnév |
|
|
könyvek tábla
oszlop |
|
könyv_id |
primary key |
title |
|
author_id |
foreign key – hivatkozás a szerzők tábla szerzői azonosítójára |
szerzői azonosító |
név |
keresztnév |
0001 |
henry |
john |
0002 |
smith |
adam |
0003 |
johnson |
mary |
0004 |
bailey |
harry |
book_id |
title |
author_id |
0001 |
Az adatbázis alapozó |
0001 |
0002 |
Adattárház építése |
0001 |
0003 |
Tanuld meg magad SQL |
0001 |
0001 |
0004 |
101 egzotikus recept |
0002 |
0005 |
Visiting europe |
0004 |
Megjegyezzük, hogy a szerzők táblázat minden sora 0-hoz kapcsolódik, 1 vagy több sorhoz is a könyvek táblázatban. Ennek intuitív értelme van, mivel egy szerző 0, 1 vagy 1-nél több könyvet is írhat. A fenti példánkban John Henry 3 könyvet írt, Adam Smith 1 könyvet írt, Mary Johnson nem írt egyetlen könyvet sem, Harry Bailey pedig 1 könyvet írt.
Ha figyelmesen megfigyeljük, a szerzők tábla és a könyvek tábla közötti fenti kapcsolat egy-sok kapcsolat. Megfordítva, a könyvek tábla és a szerzők tábla közötti kapcsolat egy sok-az-egyhez kapcsolat.
Lásd még: Egy-az-egyhez kapcsolatok és Sok-sok kapcsolat