Databázové modely

Z hlediska způsobu ukládání dat a vazeb mezi nimi dělíme databáze do základních typů:

Hierarchický model dat

Data jsou organizována do stromové struktury. Každý záznam představuje uzel ve stromové struktuře, vzájemný vztah mezi záznamy je typu rodič/potomek. Nalezení dat v hierarchické databázi vyžaduje navigaci přes záznamy směrem na potomka, zpět na rodiče nebo do strany na dalšího potomka. Největšími nevýhodami hierarchického uspořádání je složitá operace vkládání a rušení záznamů a v některých případech i nepřirozená organizace dat.

Hierarchický model
Obr. 1 - Hierarchický model

Síťový model dat

Síťový model dat je v podstatě zobecněním hierarchického modelu, který doplňuje o mnohonásobné vztahy (sety). Tyto sety propojují záznamy různého či stejného typu, přičemž spojení může být realizováno na jeden nebo více záznamů. Přístup k propojeným záznamům je přímý bez dalšího vyhledávání, k dispozici jsou operace: nalezení záznamu podle klíče, posun na prvního potomka v dílčím setu, posun stranou na dalšího potomka v setu, posun nahoru z potomka na jeho rodiče v jiném setu. Nevýhodou síťové databáze je zejména nepružnost a obtížná změna její struktury.

Síťový model
Obr. 2 - Síťový model

Relační model dat

Relační databázový model je z uvedených nejmladší a zároveň nejpoužívanější. V roce 1970 byl popsán Dr. Coddem. V současnosti je nejčastěji využíván u komerčních SŘBD. Model má jednoduchou strukturu, data jsou organizována v tabulkách, které se skládají z řádků a sloupců. V těchto tabulkách jsou prováděny všechny databázové operace.

Relační model
Obr. 3 - Relační model

Databáze dle relačního modelu musí splňovat tyto dvě vlastnosti:

Dále definoval Dr. Codd dalších 12 pravidel pro relační SŘBD:

1. Informační pravidlo:
Všechny informace v relační databázi jsou vyjádřeny explicitně na logické úrovni jediným způsobem - hodnotami v tabulkách.
2. Pravidlo jistoty:
Všechna data v relační databázi jsou zaručeně přístupná kombinací jména tabulky s hodnotami primárního klíče a jménem sloupce.
3. Systematické zpracování nulových hodnot:
Nulové hodnoty jsou plně podporovány relačním SŘBD pro reprezentaci informace, která není definována a to nezávisle na datovém typu.
4. Dynamický on-line katalog založený na relačním modelu:
Popis databáze je vyjádřen na logické úrovni stejným způsobem jako zákaznická data, takže autorizovaný uživatel může aplikovat stejný relační jazyk ke svému dotazu jako uživatel při práci s daty.
5. Obsáhlý datový podjazyk:
Relační systém může podporovat několik jazyků a různých módů použitých při provozu terminálu. Nicméně musí být nejméně jeden příkazový jazyk s dobře definovanou syntaxí, který obsáhle podporuje definici dat, definici pohledů, manipulaci s daty jak interaktivně, tak programem, integritní omezení, autorizovaný přístup k databázi, transakční příkazy apod.
6. Pravidlo vytvoření pohledů:
Všechny pohledy, které jsou teoreticky možné, jsou také systémem vytvořitelné.
7. Schopnost vkládání, vytvoření a mazání:
Schopnost zachování relačních pravidel u základních i odvozených relací je zachována nejen při pohledu na data, ale i při operacích průniku, přidání a mazání dat.
8. Fyzická datová nezávislost:
Aplikační programy jsou nezávislé na fyzické datové struktuře.
9. Logická datová nezávislost:
Aplikační programy jsou nezávislé na změnách v logické struktuře databázového souboru.
10. Integritní nezávislost:
Integritní omezení se musí dát definovat prostředky relační databáze nebo jejím jazykem a musí být schopna uložení v katalogu a nikoliv v aplikačním programu.
11. Nezávislost distribuce:
Relační SŘBD musí být schopny implementace na jiných počítačových architekturách.
12. Pravidlo přístupu do databáze:
Jestliže má relační systém jazyk nízké úrovně, pak tato úroveň nemůže být použita k vytváření integritních omezení a je nutno vyjádřit se v relačním jazyce vyšší úrovně.