3.4
Relační databázové systémy
Popis relační datové struktury se poprvé objevil v článku jednoho vědeckého pracovníka firmy IBM E. F. Codda v roce 1970. Nepoužil jako jeho předchůdci poznatky z teorie grafů, ale z teorie množin. Výsledkem byla jednoduchá forma relací a exaktně formulovaných pravidel pro operace s nimi. Od té chvíle se několik softwarových firem snaží implementovat tato pravidla. V roce 1985 píše Codd článek ve kterém publikoval dvanáct pravidel, která musí splňovat „opravdu“ relační systém.
Tabulka 2. Tabulka v relačním modelu databáze
Jmeno | Prijmeni | Bydl_Mesto | PSC | Profese |
Jan | Novák | Praha 4 | 140 00 | Zedník |
Zdeněk | Lysý | Vimperk | 385 01 | Zahradník |
František | Tichý | Varnsdorf | 407 47 | Topenář |
Relační model je postaven na faktu, že sebekomplikovanější vztahy mezi objekty lze reprezentovat pomocí několika dvourozměrných tabulek. V relačním modelu existuje pouze jediná datová struktura – tabulka. Data jsou organizována do uspořádaných „n-tic“, jež se znázorňují jako řádky tabulky.
Různé množiny z komplexního síťového modelu se transformují do jednotlivých tabulek (relací, entit). Jednotlivé položky každého řádku (původně záznamu) jsou definovány názvem sloupců (atributy relace). Každý řádek je definován jednoznačně unikátní kombinací vybraných sloupců (primary key, primární klíč). Vztahy mezi relacemi (tabulkami) jsou implicitní – zajištěné společnými sloupci v různých tabulkách (foreign key, cizí klíč).
Pomocí jazyka SQL lze tvořit nové tabulky, s nimiž lze provádět stejné operace jako s jinými tabulkami. Tomuto přístupu se říká set-at-a-time, tedy jedním příkazem lze dostat, vymazat nebo aktualizovat celou sadu záznamů v databázi. A co je nejdůležitější, v příkazu se uvádí, co se má udělat a ne jak se to má udělat.
Relační model má oproti předchozím modelům řadu výhod. Zásadní je naprostá flexibilita v popisu vztahů mezi položkami. Změna struktury databáze spočívá v pouhém přidání nebo zrušení, případně úpravě sloupce v tabulce, což nijak neovlivňuje ostatní tabulky. Kdykoliv lze vytvořit novou tabulku jako podmnožinu existujících tabulek a staré lze zrušit. Nikdy není potřeba starou strukturu databáze rušit a vytvářet novou.
Posledním vývojovým článkem v oblasti databází jsou objektově-relační databáze, které částečně vycházejí z relačního databázového modelu a dají se dobře integrovat do moderních aplikací. V současné době je totiž zapotřebí pracovat nejen s klasickými daty, ale také se speciálními objekty, jako jsou časové řady, audio, video, obrázky nebo applety.