Tabulka (databáze)
Tabulka (anglicky table) je jedním ze základních databázových objektů, který slouží k přímému uložení dat do paměťového prostoru relační databáze. Databázovou tabulku si lze představit jako běžnou dvourozměrnou tabulku, která má pevně daný počet a význam jednotlivých položek, které tvoří sloupce tabulky. Do tabulky jsou ukládány záznamy ve formě řádků. Každý záznam tak tvoří stejný počet položek stejného datového typu. Není proto možné, aby dva různé záznamy ve stejné tabulce měly rozdílný počet položek nebo obsahovaly ve stejné položce rozdílné datové typy. Počet záznamů (řádků) v tabulce je obvykle omezen jen technickými možnostmi použité databáze.
Definice tabulky
Tabulka je (obecně) definována seznamem omezení, která jsou kladena na její jednotlivé sloupce.
Konkrétně v případě použití SQL obsahuje definice tabulky:
- údaje o názvu, typu (datum - číslo - slovo) a velikosti jednotlivých polí
- údaje o tom, který sloupec musí být povinně vyplněn nějakou hodnotou, a který nikoliv
- údaje o cizích klíčích a pravidla referenční integrity
- údaj o primárním klíči
- podle použité konkrétní technologie nepovinně další údaje o paměťových nárocích tabulky a způsobu uložení (Partitioning, velikost segmentu)
Definice tabulky je (v konkrétním případě jazyka SQL) vytvářena a modifikována pomocí příkazů DDL SQL: CREATE,ALTER,DROP.
Operace nad tabulkou
Nad tabulkou jsou v rámci práce s databází prováděny následující operace:
- vkládání nových řádků (INSERT)
- změny hodnot jednotlivých sloupců v existujících řádcích (UPDATE)
- mazání řádků (DELETE)
- získávání dat z tabulky (ať již všech, nebo pouze omezené části - pouze některé vybrané sloupce, pouze některé vybrané řádky - pomocí příkazu SELECT nebo pomocí použití pohledu)
- smazání celé tabulky (TRUNCATE), odstranění tabulky včetně její struktury (DROP)
Omezení tabulky
Tabulka může mít několik omezení, jež lze definovat v SQL při jejím vytváření. Tato omezení lze v některých případech pojmenovat a následně s nimi manipulovat (vytvářet nová, mazat je, editovat je) jako ostatní nedatové objekty tabulky. Mezi omezení se dá počítat:
- omezení pro indexy (klíče) tabulky
- unikátní klíč
- primární klíč
- cizí klíč
- NOT NULL – DEFAULT NULL pro hodnoty vynechaných sloupců v příkazu INSERT a REPLACE nebo specifické nastavení NULL v příkazu UPDATE
- CHECK
Úkolem SŘBD je jednak pohlídat dodržení všech omezení, která jsou obsažena v definici tabulky, při realizaci operací 1. až 3., jednak poskytování dat při operacích typu 4. v co možná nejkratším čase. Proto jsou na tabulku obvykle „navěšeny“ i další pomocné databázové objekty: triggery a indexy.