Databáze

Základní pojmy databázové technologie

V případě analýzy možností implementace množin záznamu v paměti počítače lze rozlišit dva způsoby organizace souborů: statické a dynamické. Statické organizace souborů většinou nedovolují přidávání či rušení záznamů bez vlastní reorganizace souboru. Vznik databázových systémů přinesl následující výhody:

  • vyšší datová abstrakce,
  • ochrana dat před neoprávněným přístupem a poruchami,
  • odstranění redundancí,
  • vyhovující sdílení dat,
  • komplexní kontrola nerozpornosti dat.

Hlavním úkolem systému řízení báze dat je zajištění fyzické a logické nezávislosti dat.

Fyzická nezávislost dat znamená nezávislost aplikace na změnách ve fyzické datové struktuře. Logická nezávislost činí nezávislým aplikační pohled od změn ve schématu databáze. Při pohledu na data v souvislosti s databázovou problematikou rozlišujeme následující úrovně abstrakce:

  • fyzická úroveň – je nejnižší úrovní a popisuje, jak jsou data konkrétně uložena,
  • konceptuální úroveň popisuje strukturu dat a jejich vzájemné souvislosti,
  • uživatelská úroveň popisuje pro dotyčného uživatele jen tu část databáze, se kterou má pracovat.

Databázová technologie zpracování dat je produktem celého vývoje jejich zpracování. Základní myšlenkou databázové technologie je oddělení uživatelů systému od fyzických souborů s daty a existence komunikačního rozhraní zajišťujícího nezávislost datové základny na aplikačním software. Princip databázového systému lze charakterizovat rovnicí: DBS = DB + SŘBD, kde DBS představuje databázový systém, DB databázi a SŘBD systém řízení báze dat nakoupený uživatelem. Nejstarším datovým modelem je síťový model, jehož základem jsou vzájemně propojené množiny záznamů. Vývojově vyšším je hierarchický datový model lišící se od předchozího v tom, že každý záznam je odkazován nejvýše jedním jiným záznamem. Nevýhodou obou těchto modelů je sekvenční přístup k datům a obtížná modifikovatelnost struktury databáze. Tyto nevýhody odstraňuje tak zvaný relační datový model, jehož základním pojmem je relace formálně prezentovaná jako tabulka. Aby tato tabulka byla relační, musí splňovat následující kritéria:

  • všechny hodnoty v tabulce musí být elementární,
  • pořadí sloupců lze libovolně měnit,
  • pořadí řádků lze libovolně měnit,
  • každý sloupec musí být homogenní a musí být jednoznačně pojmenován,
  • každý řádek tabulky musí být jednoznačně rozlišitelný.

Databázový systém ORACLE

Hlavním nástrojem databázového systému ORACLE je tak zvaný relační databázový stroj, který zajišťuje všechna data uložená v databázi. Databázový stroj pracuje na počítači, který je řízen hostitelským operačním systémem. Pokud je hostitelský počítač zapojen do počítačové sítě, označuje se jako hostitelský uzel. Každá databáze musí být jednoznačně identifikována v rámci svého hostitelského uzlu, přičemž úplnou identifikací databáze je rozuměno její doplněná identifikace o síťovou identifikaci hostitelského uzlu. Soubory používané systémem ORACLE lze rozdělit na:

  • soubory s kódem programu,
  • hostitelské databázové soubory,
  • protokolární soubory,
  • řídící soubory.

Logickou strukturu databáze popisuje systémový katalog, tak zvaný slovník dat. Vlastní databáze se člení na tak zvaný tablspace, které se dále skládají ze segmentů. Segmenty se člení na oblasti, které jsou tvořeny sledem databázových bloků. Uživateli nejsou k dispozici původní tabulky se systémovými informacemi, ale jsou mu umožněny pohledy. Množina těchto pohledů je označována jako slovník dat.

Pro interaktivní nebo dávkovou komunikaci uživatele s databázovým strojem Oracle je určen prostředek SQL*PLUS. Příkazy SQL*PLUS lze zadávat v řádkovém režimu v následujících alternativách:

  • příkaz SQL – zadává se v tak zvaném základním režimu a ukládá se do vyrovnávací paměti příkazů,
  • řídící příkaz – určený pro řízení prostředku SQL*PLUS a formátování odpovědí na dotazy,
  • bloky PL/SQL – celý blok se ukládá do příkazového bufferu a režim vkládání se ukončuje zadáním tečky.

Úvod do jazyka SQL

Těžiště uživatelovy práce s databázovým prostředkem spočívá ve vyhledávání požadovaných informací prostřednictvím uživatelských dotazů na evidovaná data. Tyto dotazy jsou předurčeny existujícím dotazovacím jazykem a podle způsobu jejich zadávání lze rozlišit tyto prostředky na procedurální a neprocedurální.

Procedurální jazyky vyžadují zadání algoritmu pro nalezení požadované odpovědi, neprocedurální jazyky se omezují pouze na zadání odpovídající podmínky, kterou mají splňovat nalezené informace. Nejrozšířenějším dotazovacím jazykem je jazyk SQL, který je standardizován organizací ANSI. Jeho používání umožňuje snížení ceny na zaškolení pracovníků, společný přístup k datům, prodlouženost životnosti a především nemožnost definovat vlastní funkce procedury, nepodporování validace dat na vstupu a nedostatek ortogonality syntaxe.

Přístupy k datovému modelování

Při konstruování datového modelu lze postupovat dvěma způsoby:

  • „zdola nahoru“, přičemž základem je univerzální relace obsahující všechny atributy budoucí DB,
  • „shora dolů“, nejprve se určí struktura jednotlivých entit a pak teprve funkční závislosti mezi dílčími atributy.

Vlastní tvorba datového modelu se odehrává v následujících krocích:

  1. specifikace entitních množin řešené problematiky,
  2. identifikace vztahů mezi entitami,
  3. přiřazení primárních klíčů,
  4. transformace modelu do logické struktury,
  5. doplnění zbývajících atributů,
  6. prověření modelu z hlediska normalizačních procedur,
  7. přiřazení domén specifikovaným atributům.,
  8. stanovení podmínek vkládání, rušení a změny dat v databázi,
  9. prognóza předpokládaného budoucího vývoje modelu.

Datová normalizace

Datová normalizace je postupný reverzibilní proces nahrazování dané množiny relací souhrnem relací, které mají jednodušší a současně i regulérnější strukturu. Cílem normalizace je získat účinné algoritmy vyhledávání požadovaných dat, odstranit problémy při prováděných aktualizacích a eliminovat nežádoucí duplicity dat. V současné praxi se používají následujících šest normálních forem:

  1. NF – relace nesmí obsahovat násobná data,
  2. NF – všechna neklíčová data v relaci musí záviset na celém primárním klíči,
  3. NF – všechna neklíčová data musí záviset pouze na klíčových hodnotách a ne mezi sebou, Boyce – Coddova normální forma,
  4. NF – složený primární klíč nesmí být tvořen z nezávislých dat,
  5. NF – složený primární klíč nesmí obsahovat párové cyklické závislosti.

Datová integrita

Problematika ochrany dat v databázovém prostředí je velmi důležitá protože:

  • data jsou uložena ve společné bázi dat,
  • každý údaj je uložený v bázi dat pouze jednou,
  • mezi daty existuje logická struktura,
  • interaktivní přístup k bázi dat,
  • interaktivní přístup neumožňuje provozu počítače zopakovat zpracování,
  • vícenásobná současná aktualizace báze dat.

Ochrana dat se týká tak zvaných integritních omezení a utajení dat. Integritní omezení jsou pravidla vymezující korektnost uložených dat a rozhodující o proveditelnosti aktualizačních operací. Realizace těchto pravidel musí být nutně vyčleněna z jednotlivých aplikací a zajištěna prostředky databázového serveru. V praxi rozlišujeme entitní, referenční a doménovou integritu.

Zabezpečení entitní integrity vyžaduje zajištění jednoznačné identifikace každého řádku relační tabulky.

Referenční integrita databáze garantuje korektnost vztahů mezi logicky souvisejícími tabulkami, přičemž vazby mezi logicky nadřízenými a podřízenými záznamy v databázi jsou vytvářeny doplněním jednoznačné identifikace, řádků logicky nadřízené tabulky do logicky podřízené tabulky pomocí tak zvaného cizího klíče.

K zachování doménové integrity databáze je nutné zabezpečit, aby každá hodnota v databázi byla pouze z množiny hodnot pro daný sloupec přípustných.

Prostředky poskytované stávajícími databázovými servery k zajištění entitní, doménové a referenční integrity databáze mají deklarativní nebo procedurální charakter. Jako deklarativní jsou označovány prostředky umožňující specifikovat integritní omezení jako přímou součást definice struktury databáze. Zpravidla se jedná o rozšíření syntaxe příkazu definujícího strukturu relační tabulky o klauzule umožňující deklaraci jednotlivých omezení. Procedurální varianta zajištění integrity dat prostředky databázového serveru je založena na využití databázových procedur. Automatické provedení předem definovaných akcí poskytuje mechanismus označovaný jako databáze triggers. Jde v podstatě o pojmenované množiny příkazů uložené na serveru jako součást databáze, které jsou vázány na konkrétné aktualizující operaci s konkrétní relační tabulkou, a databázovým serverem jsou při výskytu dané operace vykonávány automaticky.

Hodnocení referátu Databáze

Líbila se ti práce?

Podrobnosti

  26. květen 2018
  4 397×
  1123 slov

Komentáře k referátu Databáze