Autor Zpráva
robbie
Profil
Zdravim, chci se optat, mohu dve a vice tabulek mezi sebou propojit ještě jinak , jak pres Foreign key? Da se taky udelat, ze primary key jedne tabulky odkazuje na primary key v jine tabulce? Ptam se protoze jsem nikde nenasel poradne odpoved. Dekuji moc za radu
Taps
Profil
robbie:
Jednotlivé databázové tabulky lze propojit pomocí relací. Níže uvádím jednoduchý příklad s tabulkou clanky a kategorie. Můžeš si všimnou, že tabulka clanky obsahuje cizí primární klíč (z tabulky kategorie). Na základě této skutečnosti poté lze obě tabulky mezi sebou propojit např. pomocí LEFT JOIN. Tímto způsobem mezi sebou lze propojit i více tabulek

SELECT c.*,k.* FROM clanky c LEFT JOIN kategorie k ON c.id_kategorie = k.id

clanky
=====
id
id_kategorie
nazev
text

kategorie
======
id
nazev
Keeehi
Profil
robbie:
Cizí klíče ani cokoli jiného není potřeba k propojení tabulek. Jediné co ke potřeba, aby ty dvě tabulky měly nějaký sloupec, kde by byla společná data, přes která se dají propojit. Ostatní věci jsou už jen pouhými vylepšeními a k samotnému propojení nejsou potřeba.
Cizí klíče jen hlídají, aby v tom sloupci na který je nastaven byly jen hodnoty které už jsou ve sloupci na který odkazuje. Také dokáže smazat nebo upravit záznamy, pokud se ve sloupci na který odkazuje hodnoty smažou nebo změní. To je vhodné právě pro sloupce přes které se spojuje, ale jak už jsem psal, není to nutnost.
robbie
Profil
Super, diky moc za upresneni syntaxe.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: