Databáze je uspořádaná množina informací informace (dat), uložená na paměťovém médiu. Dle pojetí textu se pojmem databáze myslí jak uložená data tak i systém řízení databáze. Nejmladším a nejpoužívanějším databázovým modelem je databázový model relační.

Historie

Předchůdcem databází byly papírové kartotéky. Umožňovaly uspořádání dat podle různých kritérií a zatřiďování nových položek. Veškeré operace s nimi prováděl přímo člověk. Správa takových kartoték byla v mnohém podobná správě dnešních databází. Dalším krokem bylo převedení zpracování dat na stroje. Za první velké strojové zpracování dat lze asi považovat sčítání lidu ve Spojených státech v roce 1890. Paměťovým médiem byl děrný štítek[1] a zpracování sebraných informací probíhalo na elektromechanických strojích. Elektromechanické stroje se využívaly pro účely zpracování dat další půlstoletí. Velkým impulsem pro další rozvoj databází byl překotný vývoj počítačů v padesátých letech 20. století. V roce 1959 se konala konference zástupců firem, uživatelů a amerického ministerstva obrany, jejímž záměrem byl požadavek na univerzální databázový jazyk. Výsledkem byla o rok později na konferenci CODASYL publikovaná první verze jazyka COBOL[2], který byl po mnoho dalších let nejrozšířenějším jazykem pro hromadné zpracování dat.

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á databáze

Data jsou organizována do stromové struktury[3]. 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.

Síťová databáze

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.

Relační databáze

Relační databázový model je z uvedených nejmladší a zároveň nejpoužívanější. V roce 1970 byl popsán Dr. Coddem[4]. V současnosti je nejčastěji využíván u komerčních SŘBD Systém řízení báze dat. 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.

Objektová databáze

Hitem posledních let jsou tzv. NoSQL databáze, tedy databáze, které nejsou relační. Zastánci NoSQL databází vyzdvihují jejich škálovatelnost. Pro obrovské objemy dat je využívají společnosti jako Google, Amazon apod. Podtypem NoSQL databází jsou databáze objektové. Mají rozhraní pro objektově orientované jazyky a ukládají transparentně celé hierarchie objektů. Objektově orientované systémy databází

Databázové objekty

Tabulky jsou jen jedny z mnoha databázových objektů (entit). Pokročilejší databázové systémy dále obsahují:

Pohled/View

Objekt, který uživatlei poskytuje data ve stejné podobě jako tabulka, ale na rozdíl od tabulky neobsahuje data, ale pouze předpis pro získání dat z tabulek jiných pohledů.

Indexy/Klíče

Definovány nad jednotlivými sloupci tabulek. Jejich funkce je vést si v tabulkách rychlé LUT [5]na sloupce, nad nimiž byly definovány, vyloučit duplicitu v záznamech nebo zajišťovat fulltextové vyhledávání.

Triggery/Spouště

Mechanismus mezi řádky dvou tabulek.

Uživatelem definované procedury a funkce

Ukládání pojmenovaných kusů kódu, které provedou v databázi nad danými tabulkami určitou sekvenci příkazů nebo navíc vrátí nějaký výsledek.

Události/Events

Procedury spouštěné v určitý datum a čas nebo opakovaně s definovatelnou periodou.

Formuláře

Některé databázové systémy umožňují uživatelům vytvářet vstupní formuláře pro vizuálně přívětivé zadávání hodnot.

Sestavy/Reporty

Umožňují uživateli definovat layout[6] s políčky dané tabulky, do kterého se při použití doplní aktuální hodnoty.

Uživatelská oprávnění

U lepších databázových systémů je možnost oddělit jednotlivé úrovně přístupu uživatelů k databázi.

Partitioning

Způsob, jak rozdělit data v tabulce na více pevných disků.

Procesy

Databázové stroje umí podat přehled o procesech, které jejich služeb aktuálně využívají.

Vizuální E-R schéma

Vizuální reprezentace vztahů (relací) na sobě závislých polí mezi tabulkami.

Databázová integrita

Integrita databáze znamená, že databáze vyhovuje zadaným pravidlům - integritním omezením. Tato integritní omezení jsou součástí definice databáze, a za jejich splnění zodpovídá systém řazení báze dat. Integritní omezení se mohou týkat jednotlivých hodnot vkládaných do polí databáze, či může jít o podmínku na kombinaci hodnot v některých polích jednoho záznamu. Integritní omezení se může týkat i celé množiny záznamů daného typu. [7]

Odkazy

Reference

  1. Děrný štítek je médium pro záznam dat pro pozdější zpracování automaty nebo počítač.
  2. COBOL je programovací jazyk vyvinutý v 60. letech 20. století zejména pro obchodní a později i databázové aplikace.
  3. Struktura označuje způsob složení, vnitřního uspořádání nějakého objektu, zejména pokud vykazuje nějaké pravidelnosti a zákonitosti.
  4. Dostupné také z: https://en.wikipedia.org/wiki/Edgar_F._Codd
  5. LUT = look-up tables - "pořadníky"
  6. Layout znamená grafické rozvržení tiskové nebo elektronické stránky, případně i jiné plochy.
  7. https://cs.wikipedia.org/wiki/Datab%C3%A1zov%C3%A1_integrita

Externí odkazy

Databáze [online]. [cit. 2017-01-09]. Dostupné z: http://www.databaze.chytrak.cz/

Objektové databáze [online]. [cit. 2017-01-19]. Dostupné z: https://blog.root.cz/babel/objektove-databaze/

Související články

Klíčová slova

databáze, databázové modely, historie databází