Databáze: Porovnání verzí
Řádek 19: | Řádek 19: | ||
==Databázové objekty== | ==Databázové objekty== | ||
Tabulky jsou jen jedny z mnoha databázových objektů (entit). Pokročilejší databázové systémy dále obsahují: | 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 <ref>LUT = look-up tables - "pořadníky" </ref>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<ref>Layout znamená grafické rozvržení tiskové nebo elektronické stránky, případně i jiné plochy.</ref> 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== | ==Databázová integrita== |
Verze z 21. 1. 2017, 12:31
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
- ↑ Děrný štítek je médium pro záznam dat pro pozdější zpracování automaty nebo počítač.
- ↑ COBOL je programovací jazyk vyvinutý v 60. letech 20. století zejména pro obchodní a později i databázové aplikace.
- ↑ 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.
- ↑ Dostupné také z: https://en.wikipedia.org/wiki/Edgar_F._Codd
- ↑ LUT = look-up tables - "pořadníky"
- ↑ Layout znamená grafické rozvržení tiskové nebo elektronické stránky, případně i jiné plochy.
- ↑ 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í