[Poradna] - Dobrý den, slyšel jsem, že prý se relace liší z pohledu klíčů, že prý má vždy primární klíč. Jak to je?
Relace skutečně není totéž co tabulka, relace na doménách D1, D2, ..., Dn je dvojice R = (R, R*), kde R = R(A1:D1, A2:D2, ..., An:Dn) je schéma relace a R* ⊂ D1 x D2 x ... x Dn je tělo relace, A1, A2, ..., An jsou názvy atributů. Schéma relace zapisujeme často zjednodušeně ve tvaru R(A1, A2, ..., An). Relace nad množinami D1, D2, ..., Dn je tedy libovolná podmnožina kartézského součinu D1 x D2 x ... x Dn.
Z toho plynou i jisté odlišnosti od tabulky, jak ji běžně chápeme v databázích. Jednou z odlišností jsou i klíče. Vzhledem k tomu, že v relaci se "záznamy" nemohou opakovat, lze vždy – na rozdíl od tabulky – určit klíč jednoznačně identifikující "záznam". Tento klíč je v nejhorším (nejširším) možném případě tvořen všemi atributy.
Jsou-li v tabulce duplicity, jednoznačný identifikátor záznamu pomocí všech atributů ale stejně nezískáme.