Databáze

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Databáze je strukturovaná kolekce dat, které jsou uloženy v elektronické podobě. Tyto data jsou organizována tak, aby bylo možné k nim snadno přistupovat, vyhledávat a manipulovat s nimi. Databáze se skládá z tabulek, které obsahují sloupce a řádky, které představují jednotlivé záznamy. Tabulky jsou propojeny vzájemnými vazbami, čímž umožňují efektivní práci s daty. Databáze se využívají v mnoha oblastech, jako je byznys, věda, vládní organizace a mnoho dalších. Existuje mnoho druhů databází, které se liší svými vlastnostmi a způsobem manipulace s daty. Patří sem relační databáze, objektově orientované databáze, hierarchické databáze a další. Správa databáze zahrnuje různé činnosti, jako je návrh tabulek, vytváření dotazů, zálohování dat, zabezpečení, opravy a další. Správce databáze je zodpovědný za tyto činnosti a může používat speciální software pro správu databáze. Databáze hrají klíčovou roli v informačním systému organizace, protože umožňují ukládání, organizování a zpracování dat. Správná struktura a správa databáze je důležitá pro efektivní fungování organizace a správné rozhodování na základě dat.

Databáze (neboli datová základna, též databanka) je systém souborů s pevnou strukturou záznamů. Tyto soubory jsou mezi sebou navzájem propojeny pomocí klíčů. V širším smyslu jsou součástí databáze i softwarové prostředky, které umožňují manipulaci s uloženými daty a přístup k nim. Tento software se v české odborné literatuře nazývá systém řízení báze dat (SŘBD). Běžně se označením databáze - v závislosti na kontextu - myslí jak uložená data, tak i software (SŘBD).

Historie

Předchůdcem databází byly papírové kartotéky. Umožňovaly uspořádávání dat podle různých kritérií a zatřiďování nových položek. +more 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. +more Paměťovým médiem byl děrný štítek 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 50. letech. +more Ukázalo se, že původně univerzální používání strojového kódu procesorů je (nejen) pro databázové úlohy neefektivní, a proto se objevil požadavek na vyšší jazyk pro zpracování dat.

V roce 1959 se konala konference zástupců firem, uživatelů a amerického ministerstva obrany, jejímž závě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, který byl po mnoho dalších let nejrozšířenějším jazykem pro hromadné zpracování dat.

V roce 1965 na konferenci CODASYL byl vytvořen výbor Database Task Group (DBTG), který měl za úkol vytvořit koncepci databázových systémů. Začaly vznikat první síťové SŘBD na sálových počítačích. +more Jedním z prvních průkopníků databází byl Charles Bachman.

V roce 1971 vydal výbor zprávu The DBTG April 1971 Report, kde se objevily pojmy jako schéma databáze, jazyk pro definici schématu, subschéma a podobně. Byla zde popsána celá architektura síťového databázového systému.

Ve stejné době byly vyvíjeny i hierarchické databáze. Jedním z prvních SŘBD byl IMS, který byl vyvinut firmou IBM pro program letu na Měsíc Program Apollo. +more Systém IMS patří stále k nejrozšířenějším na sálových počítačích.

V roce 1970 začínají zveřejněním článku E. F. +more Codda první relační databáze, které pohlížejí na data jako na tabulky. Kolem roku 1974 se vyvíjí první verze dotazovacího jazyka SQL. Vývoj této technologie po 10 letech přinesl výkonově použitelné systémy, srovnatelné se síťovými a hierarchickými databázemi.

V 90. letech se začínaly objevovat první objektově orientované databáze, jejichž filozofie byla přebírána z objektově orientovaných jazyků. +more Tyto databáze měly podle předpokladů vytlačit relační systémy. Původní předpoklady se však nenaplnily a vznikla kompromisní objektově-relační technologie.

Databázové modely

Z hlediska způsobu ukládání dat a vazeb mezi nimi můžeme rozdělit databáze do základních typů: * Hierarchická databáze * Síťová databáze * Relační databáze * Objektová databáze * Objektově relační databáze

Databázové objekty

Pojem „databáze“ je často zjednodušován na to, co je ve skutečnosti databázový systém (databázový stroj) nebo též systém řízení báze dat. Ten neobsahuje pouze tabulky - ty jsou jedny z mnoha tzv. +more databázových objektů (někdy též databázových entit). Pokročilejší databázové systémy dále obsahují: * pohledy neboli views - SQL příkazy, pojmenované a uložené v databázovém systému. Lze z nich vybírat (aplikovat na ně příkaz SELECT) jako na ostatní tabulky. * indexy pro každou tabulku. Klíče jsou definovány nad jednotlivými sloupci tabulek (jeden klíč jich může zahrnovat i více) a jejich funkce je vést si v tabulkách rychlé LUT (look-up tables - „pořadníky“) na sloupce, nad nimiž byly definovány, vyloučit duplicitu v záznamech nebo zajišťovat fulltextové vyhledávání. * spouštěče neboli triggers - mechanizmus nad jednotlivými řádkami tabulky (případně samotnou tabulkou), který se vyvolá po změně, odstranění nebo přidání řádky, případně smazání tabulky a provede předprogramovanou akci (například kontrolu integrity dat, doplnění hodnot. ) * uživatelem definované procedury a funkce - některé databázové stroje podporují ukládání pojmenovaných kusů kódu, které provedou v databázi nad danými tabulkami určitou sekvenci příkazů (procedury) nebo navíc vrátí nějaký výsledek (uživatelské funkce). Mohou mít parametry, které se většinou dělí na vstupní (IN), výstupní (OUT) a vstupně-výstupní (INOUT). * události, též (počeštěně) „eventy“ - de facto procedury, spouštěné v určitý (uživatelem definovaný) datum a čas nebo opakovaně s definovatelnou periodou. Mohou sloužit k údržbě, promazávání dočasných dat či kontrolování referenční integrity. * formuláře - některé databázové systémy jako např. Microsoft Access umožňuje uživatelům vytvářet vstupní formuláře pro vizuálně přívětivé zadávání hodnot. Uživatel si může např. nadefinovat rozložení jednotlivých vstupních polí z dané tabulky, popisky atd. * sestavy nebo též reporty - podobně jako u formulářů sestavy umožňují uživateli definovat layout s políčky dané tabulky, do kterého se při použití doplní aktuální hodnoty. Používají se pro výstup dat (tisk, prezentaci nebo pouhé zobrazení). Sestavy mohou být např. doplněny o filtry, které vyfiltrují jen kýžené záznamy. * uživatelská oprávnění - u lepších databázových systémů je samozřejmostí nabídnout možnosti, jak oddělit jednotlivé úrovně přístupu k ostatním objektům databáze jejich uživatelům. Možností bývají desítky, s rozlišením na jednotlivé typy příkazů, které ten který uživatel bude nebo nebude mít oprávnění spustit. * partitioning - způsob, jak rozdělit data v tabulce na více pevných disků a tím rozložit zátěž na ni kladenou * procesy - databázové stroje umí podat přehled o procesech, které jejich služeb aktuálně využívají. * proměnné nastavení - typicky desítky proměnných, které lze přenastavovat a tím ovlivňovat chování a výkon databázového stroje jako takového. * collation - MySQL má pokročilé možnosti pro nastavení několika desítek znakových sad a porovnávání, souhrnně nazývané collation. Nastavení collation může být provedeno na jednotlivé textové sloupce, celé tabulky i celé databáze (s kaskádovitou dědičností). Collation ovlivňuje i řazení, například hodnota utf8_czech_ci zajistí správné řazení podle češtiny (tedy včetně diakritiky a včetně ch). * vizuální E-R schéma - (v MySQL INFORMATION. SCHEMA). Vizuální reprezentace vztahů (relací) na sobě závislých polí (cizích klíčů) mezi tabulkam. * a další.

Databázová integrita

Databázová integrita je takový stav, při němž záznamy v celé databázi vyhovují soustavě určitých definovaných pravidel. Tato pravidla obvykle odpovídají vybraným pravidlům z té části světa, pro kterou databáze slouží. +more Může se jednat například o pravidla stanovující rozsah uložených hodnot, jejich typ nebo vazby mezi nimi.

Příklady (relačních) databází

Microsoft Access * MySQL * PostgreSQL * Oracle * Microsoft SQL Server * SQLite * Firebird

Externí odkazy

[url=http://www.dbsvet.cz]Databázový svět - informační portál o databázích[/url] * [url=http://www.root.cz/serialy/embedded-databaze/]Seriál Embedded databáze[/url]

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top