Podmínky relačnosti

Relace je tabulka, která splňuje podmínky relačnosti:

  1. Relace má 1 až N atributů, přičemž nezáleží na pořadí.
  2. Relace má 0 až M záznamů, přičemž nezáleží na pořadí.
  3. Všechny hodnoty v relaci jsou elementární (tj. dále nedělitelné na další údaje).
  4. Každý atribut je pojmenovaný.
  5. V každém atributu jsou data stejného druhu.
  6. Každý záznam musí být rozlišitelný.

Představte si, že relaci (entitu) Users máme definovanou jako soubor atributů FirstName, LastName, Email. Není důležité, zda-li je první atribut FirstName a druhý LastName nebo první atribut LastName a druhý FirstName.

Relace musí mít alespoň jeden atribut, jinak by nebylo data kam ukládat. Relace s jedním atributem je například MachineStatus, jestliže máme v databázovém modelu pouze jeden stroj a ten může v jednom čase mít pouze jeden status.

Představte si, že do relace (entity) Users postupně plníme uživatele podle toho, jak se uživatelé registrují. Je jedno, jestli je v relaci nejprve uveden Jan Novák a poté Jaroslava Novotná nebo nejprve Jaroslava Novotná a teprve potom Jan Novák.

Nedělitelné hodnoty znamená, že není možné použít jako atribut například Adresa. Asi tušíme, že adresa se skládá z ulice, čísla domu, města nebo sídla, atd., tj. je dělitelná. Jiný příklad si představte atribut Telefon a chtěli byste tam uložit obě svoje telefonní čísla – to ovšem nelze, protože dvě čísla můžeme oddělit, tj. nemůžeme je uložit v rámci jedné buňky.

Pojmenovaný atribut znamená, že každý atribut by měl mít jasně určený obsah, aby se s ním dalo správně pracovat. Není možné používat „čtvrtý atribut“, protože jsme si říkali, že na pořadí nezáleží, tj. „čtvrtý atribut“ může být pokaždé jiný.

V každém atributu musejí být data stejného druhu znamená, že například ve sloupci City nemůžete mít jednou Rakovník, podruhé 45 a potřetí TRUE.

Každý záznam rozlišitelný znamená, že v relaci nemohou existovat dva záznamy s naprosto stejnými hodnotami ve všech atributech. Budeme si povídat o primárním klíči, který tuto podmínku pomůže správně realizovat.

Jednoznačná identifikovatelnost atributu

Každý atribut musí být pojmenovaný.

Základní vlastnost každé hodnoty v relaci

Všechny hodnoty v relaci jsou elementární, což znamená, že jsou dále nedělitelné na další údaje.

Řádky v relaci

Relace má 0 až M záznamů (řádků), přičemž na jejich pořadí nezáleží.

Sloupce v relaci

Relace má 1 až N atributů (sloupců), přičemž na jejich pořadí nezáleží.

Jednoznačná identifikovatelnost záznamu

Každý záznam musí být rozlišitelný. Toto se obvykle zajišťuje pomocí primárního klíče, který zaručuje jedinečnost.

Pravidlo pro data v rámci sloupce

V každém atributu (sloupci) jsou data stejného druhu.