Databázové systémy a jejich klíčové komponenty

Databáze

Hromadné zpracování dat – úlohy na zpracování velkého množství údajů, které nevyžadují složité algoritmy. Jde spíše o jednoduché, ale časté pravidelné manipulace jako například vyhledávání, tiskové výpisy, třídění…

Definice 1 – Pod databázovým systémem (DBS) je třeba chápat množinu vzájemně souvisejících dat společně s programovým vybavením, které umožňuje přístup k těmto datům.

Definice 2 – DBS můžeme chápat také jako počítačový systém správy uložených záznamů.

Definice 3 – DBS tvoří databáze (DB) a systémová zařízení báze dat (SRBD).

Definice 4 – Date, C. J., 1995

DBS se skládá z následujících komponent:

  • Data
  • Software
  • Hardware
  • Uživatelé

Části databáze

Data – údaje (technické, administrativní, ekonomické, finanční, statistické), které je možné zpracovávat s pomocí technických prostředků.

Perzistentní data – existují i po ukončení programu. Data přetrvávají, tj. existují v databázi nezávisle na programech a nezávisle na tom, zda s nimi uživatel právě pracuje či nikoli.

Vstupní data – představují údaje vstupující do systému.

Výstupní data – představují údaje vystupující ze systému.

Reprezentace dat

  • Data jsou ukládána jako množství záznamů jednotlivých souborů, přičemž každý záznam souboru je množinou položek různých typů. Samotný soubor s obsahem záznamů je vlastně množinou záznamů stejného typu.
  • Numerická data, řetězce, číselníky, jednotky, odvozená data…

Hardware

Nejdůležitější části hardwaru, které ovlivňují DBS, jsou:

  • paměťová média – nejčastěji disky
  • procesor
  • vnitřní paměť
  • komunikační podsystém

Software

Programové vybavení DBS tvoří systém řízení báze dat (SRBD). Veškeré požadavky uživatelů na přístup k databázi, od přidání nového souboru do databáze přes práci se samotnými daty až po odstranění souboru z databáze, jsou zpracovány SRBD. Systém řízení báze dat vytváří prostředí pro uživatele a aplikační programátory tak, aby mohou s databází pracovat bez znalosti hardwaru, který je použit pro provoz DBS.

Uživatelé:

  • koncový uživatel
  • aplikační programátor
  • DBA – databázový administrátor

Požadavky na databázi:

Kvalitní databázový systém musí zajistit:

  • Oddělení definice dat od příkazů k manipulaci s nimi.
  • Nezávislost dat (znamená, že programy umožňující přístup k datům jsou nezávislé na tom, jak a kde jsou data uložena).
  • Procedurální i neprocedurální rozhraní.
  • Minimalizaci redundance dat (hlavní problém mnoha databází je vícenásobný výskyt dat, což přináší zvýšené náklady na udržování těchto duplikátů, protože při změnách dat je nutné tyto změny aplikovat ve všech výskytech).
  • Ochranu proti nekonzistenci dat (data uložená v databázi musí vyhovovat definovaným podmínkám).
  • Sdílení dat (paralelní přístup).
  • Řízení přístupu – musí umožnit definování přístupových práv k datům pro jednotlivé uživatele nebo aplikace, tedy omezení například tak, aby někteří uživatelé mohli data pouze prohlížet.
  • Bezpečný přístup k datům:

Spoľahlivost – databáze jsou chráněny uživatelskými účty a hesly.

Bezpečnost – ochrana před neoprávněným přístupem, šifrování dat.

  • Integrita dat (schopnost databáze zabránit ztrátě konzistence, například pokud bychom chtěli studentovi přiřadit předmět, který neexistuje, porušili bychom referenční integritu).
  • Obnova dat a transakční systémy – pro obnovu poškozených dat.
  • Řízení katalógů – informace o schématech jsou uloženy ve speciálních tabulkách nazývaných katalógy. Katalógy obsahují data o datech.

Výhody databází

  • Kompaktnost (data jsou uložena elektronicky, není nutné je zpracovávat z tradičních papírových dokumentů).
  • Rychlost zpracování.
  • Dostupnost.

DBS můžeme dělit podle:

  • Datového modelu sítě – hierarchické, relační, objektově orientované, textové, expertní apod.
  • Počtu uživatelů – jednouživatelské, víceuživatelské.
  • Architektury – centralizované, distribuované (homogenní, heterogenní).

Relační databáze

Charakterizuje ji to, že údaje jsou uloženy v tabulkách. Nejsou uspořádány do jedné tabulky, protože by byla nepřehledná, dlouhá a obsahovala by nadbytečné, opakující se údaje. Údaje jsou rozděleny do několika tabulek, které jsou navzájem propojeny pomocí určitých vztahů (relací).

Relační databáze je taková databáze, kterou uživatel vnímá jako soustavu v čase měnících se normalizovaných tabulek s uspořádanými sloupci. Každá tabulka reprezentuje určitý typ entity a každý řádek v této tabulce (záznam) je jedním výskytem daného typu entity. Sloupce představují jednotlivé modelované vlastnosti (atributy) daného typu entity.

Relační databázový model je tvořen soustavou tabulek s následujícími vlastnostmi:

  1. Každá tabulka má svůj jednoznačný název, kterým je identifikována v rámci databáze.
  2. Každá tabulka obsahuje pouze záznamy stejné struktury.
  3. Každý sloupec tabulky má svůj název – jméno atributu, kterým je identifikován.
  4. Na pořadí sloupců v tabulce nezáleží.
  5. Každý sloupec obsahuje hodnoty téhož atributu.
  6. Každý záznam v tabulce odpovídá jednomu výskytu entity daného typu.
  7. Každý záznam je jednoznačně identifikovatelný primárním klíčem.
  8. Na pořadí záznamů nezáleží.
  9. Všechny hodnoty v daném záznamu jsou jednoznačně a plně závislé na primárním klíči (požadavek normalizace).
  10. Všechny hodnoty v daném záznamu mohou být pouze automatickými hodnotami z domény příslušného atributu. Hodnoty klíčových atributů nesmí být nedefinované.

Relační datový model vycházel z následujících požadavků:

  • Zajistit vysoký stupeň datové nezávislosti.
  • Zajistit minimální redundanci s konzistencí dat.
  • Umožnit přístup do databáze pomocí množinově orientovaného neprocedurálního jazyka.
  • Podporovat jednoduchým způsobem restrukturalizaci (změnu struktury tabulek) a růst datového modelu.

Základní pojmy potřebné k práci s relačním datovým modelem jsou:

  • Relace
  • n-tice (záznam) – odpovídá řádku tabulky
  • Atribut (pole, vlastnost) – odpovídá sloupci tabulky
  • Primární klíč – jednoznačný identifikátor v tabulce, reprezentovaný jedním sloupcem (nebo vzácně skupinou sloupců)
  • Doména – množina hodnot, které může daný atribut nabývat

Nepříjemnosti vyplývající z nevhodné struktury:

  • Redundance
  • Možnost vzniku nekonzistence dat
  • Ztráta, přepsání nebo jiné poškození dat
  • Problémy při vyhledávání

Normalizace dat relačních databází – postup při návrhu databáze zajišťující, že databáze bude konzistentní s minimální redundancí a modifikacemi dat.

  • 1. NF (normální forma) – každá hodnota atributu musí být atomická, tj. nedělitelná (průnik každého sloupce a každého řádku je právě jedna hodnota), nesmí se opakovat řádky ani sloupce.
  • 2. NF = splnění 1. NF + každý nekličový atribut musí být závislý na celém primárním klíči (PK).
  • 3. NF = splnění 2. NF + každý nekličový atribut závisí pouze na PK a neexistují závislosti mezi nekličovými atributy.
  • Boyce-Codd NF, 4. NF, 5. NF – další formy normalizace.