Konceptuální úroveň - ER diagram
4. Vztahy mezi entitami
4.2. Kardinalita
Kardinalita (angl. cardinality, někdy také násobnost, angl. multiplicity) je vlastnost vztahu mezi entitami, která vypovídá o násobnosti asociace instance jedné entity vůči instancím jiné entity. Může nabývat hodnot jedna (angl. one) nebo více (angl. many). Kardinalita pak díky uvedenému faktu definuje tři typy vztahů
- 1:1, one-to-one
- 1:N, one-to-many
- N:M, many-to-many
Vztah jedna ku jedné (1:1, one-to-one)
Vztah 1:1 se používá pokud záznamu jedné tabulky odpovídá právě jeden záznam v jiné tabulce a naopak. Takový vztah se nepoužívá příliš často, protože takové záznamy lze umístit do jedné databázové tabulky. Jedním z důvodů proč využít takový vztah, je zpřehlednění rozsáhlých tabulek. Jako příklad vztahu lze zmínit vztah student - židle (v diskrétním časovém úseku). Platí, že každá jedna židle je určena pouze pro jednoho studenta, a zároveň platí, že každý jeden student může sedět jen na jedné židli.
Vztah jedna ku více (1:N, one-to-many)
Vztah 1:N přiřazuje jednomu záznamu z jedné tabulky více záznamů z jiné tabulky. Jedná se o
nejpoužívanější typ vztahu, protože odpovídá mnoha situacím v reálném
životě. Příklad může být vztah výrobce - produkt. Platí, že každý jeden výrobce může vyrobit více produktů, a zároveň platí, že více různých produktů má jednoho výrobce.
Vztah více ku více (N:M, many-to-many)
Vztah N:M umožňuje každému záznamu z jedné tabulky přiřadit libovolný počet
záznamů z druhé tabulky a naopak. V praxi je tento vztah realizován
kombinací dvou vztahů 1:N a 1:M, což vyžaduje zavedení třetí (vazebné, pomocné) tabulky, která je složená z kombinací klíčů použitých v obou tabulkách. Příkladem může být vztah student - předmět. Platí, že více studentů navštěvuje více různých předmětů, a zároveň platí, že více předmětů navštěvuje více různých studentů.
