Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Vazby mezi tabulkami (získávání dat z více tabulek, druhy spojení)

PDF
Stáhnout kompletní materiál zdarma (339.25 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

N:M 

N:M je méně častým typem relace, ovšem v určitých případech jediným, který může danou situaci 
řešit. Tato relace umožňuje, aby několika záznamům v první tabulce odpovídalo několik záznamů 
v tabulce druhé. Na rozdíl od předchozích dvou typů relací je u této nutné vytvořit tzv. spojovací 
tabulku. Jedná se o tabulku, díky níž je relaci vůbec možné uskutečnit. Této relace se dosahuje právě 
pomocí spojovací tabulky, která spojuje dvě relace typu 1:N. 

Příklad:  pacienti  přišli  v určité  dny  k lékaři,  který  jim  každý  den  předepsal  nějaký  lék.  Dvěma  různým 
pacientům však mohl předepsat lék se stejným ID. Informace o takovém léku jsou pak uloženy v další tabulce.  

Získávání dat z více tabulek 

Chceme-li získat data z více tabulek a obdržet výsledek jako jeden řetězec díky jedinému dorazu, 
je nutné využít funkci spojování tabulek. Existuje několik druhů spojení, ty jsou uvedeny dále.  

PAD Programování a databáze 

Téma 6 

Školní rok 2017/2018 

2/2 

Jan Švábík, V4D 

Druhy spojení 

Klauzule WHERE 

Jde o nejjednodušší způsob propojení (avšak nejvýše dvou) tabulek. Tabulky jsou propojeny na 
základě jedné společné hodnoty. Viz následující příklad. 

SELECT z.id_zakaznika, z.jmeno, o.id_objednavky, o.cena FROM zakaznici z, 
objednavky o WHERE z.id_zakaznika = o.id_zakaznika;

JOIN obecně 

Umožňuje více způsobů spojení. Obecně vypadá jeho klauzle následovně. 

SELECT [*] [seznam_polozek_vystupni_sestavy] FROM prvni_tabulka DRUH_SPOJENI 
druha_tabulka [ON podminka_spojeni];

V podmínce spojení musí být slučovaná pole (primární klíč & cizí klíč) stejného datového typu, 
musí obsahovat stejný druh dat, nemusí však mít stejný název. 

INNER JOIN 

Viz příklad u klauzule WHERE (výlučné spojení) – spojení je provedeno na základě shody jednoho 
nebo více společných atributů; změnou pořadí tabulek dostaneme stejný výběr, jen se změněným 
pořadím. 

Témata, do kterých materiál patří