Ve vztahu one-to-many může každý řádek v tabulce related to souviset s mnoha řádky v tabulce related. To umožňuje, aby často používané informace byly v tabulce uloženy pouze jednou a ve všech ostatních tabulkách na ně bylo mnohokrát odkazováno. Ve vztahu one-to-many mezi tabulkou A a tabulkou B je každý řádek v tabulce A spojen s 0, 1 nebo mnoha řádky v tabulce B. Počet řádků v tabulce A je téměř vždy menší než počet řádků v tabulce B.
Pro ilustraci vztahu one-to-many uvažujme níže uvedený vzorový návrh tabulky a data:
tabulka autoři
sloupec |
|
autor_id |
primární klíč |
jméno |
|
jméno |
|
.
tabulka knihy
sloupec |
|
id_knihy |
primární klíč |
název |
|
id_autora |
cizí klíč -. odkaz na autor_id tabulky autorů |
autor_id |
jméno |
jméno |
0001 |
henry |
john |
0002 |
smith |
.
adam |
0003 |
johnson |
mary |
0004 |
bailey |
harry |
book_id |
title |
author_id |
0001 |
Badázový základ |
0001 |
0002 |
Stavba datového skladu |
0001 |
0003 |
Naučte se SQL |
0001 |
.
0004 |
101 exotických receptů |
0002 |
0005 |
Návštěva Evropy |
0004 |
Všimněte si, že každý řádek v tabulce autorů se vztahuje k 0, 1 nebo mnoha řádkům v tabulce knih. To dává intuitivní smysl, protože autor může napsat 0, 1 nebo více než 1 knih. V našem výše uvedeném příkladu napsal John Henry 3 knihy, Adam Smith napsal 1 knihu, Mary Johnsonová nenapsala žádnou knihu a Harry Bailey napsal 1 knihu.
Pokud si pozorně všimnete, výše uvedený vztah mezi tabulkou autorů a tabulkou knih je vztahem typu one-to-many. Když to otočíme, vztah mezi tabulkou knih a tabulkou autorů je vztah mnoho k jednomu.
Podívejte se také: Vztahy One-to-One a Many-to-Many