Databáze

Databáze je systém několika navzájem propojených tabulek, který může být doplněn o další prvky, jako jsou sestavy, formuláře a podobně.
Data spolu s nástroji pro práci s daty tvoří databázový systém .

Databázový systém musí obsahovat nástroje pro:
  • vytváření, aktualizaci a rušení dat
  • definici struktury dat
  • zajištění integrity dat (při aktualizaci dat v jedné tabulce je nutno ošetřit související data v souvisejících tabulkách
  • a další (zálohování, podora více uživatelů,…)

Základní pojmy

Tabulka


Primární klíč

je pole, které je unikátní pro každý záznam a slouží mj. k tvoření vazeb mezi tabulkami

Index

může výrazně urychlit vyhledávání údajů v databázové tabulce. Index vytvoří pomocný soubor, který obsahuje řazení podle určitého pole. Je logicky i fyzicky nezávislý na tabulce, kterou indexuje. Nevýhodou používání indexů je zvýšený nárok na paměť a zvýšefní režije při vkládání údajů (je nutno uložit i příslušný index)

Relace

– vazby mezi tabulkami
K propojení tabulek použijeme primární klíč jedné tabulky jako cizí klíč druhé tabulky
  • Relace 1:1 znamená, že jednomu záznamu jedné tabulky patří jeden záznam druhé tabulky. Používá se zřídka. Někdy je výhodné pomocí této relace z velké tabulky přeskunout do druhé tabulky data, která např. nepotřebujeme příliš často)
  • Relace 1:N znamená, že jednomu záznamu jedné tabulky patří více záznamů druhé tabulky. Je to nejobvyklejší typ (např. jedna třída obsahuje více žáků, jeden autor napsal více knih a pod.)
  • Relace M:N znamená, že jednomu záznamu jedné tabulky patří více záznamů druhé tabulky a jednomu záznamu druhé tabulky zase více záznamů první tabulky (např. jeden žák navštěvuje několik kroužků a jeden kroužek má několik žáků). Tato relace se při tvorbě databáze rozdělí na dvě relace typu 1:N a 1:M.

Transakce

Integrita databáze musí být zajištěna i v případě výpadku během práce s ní (výpadek proudu během aktualizace a pod.) Transakce je je nedělitelný logický celek, který se provede celý nebo se neprovede vůbec. Od zahájení transakce až do jejího konce se uchovávají původní data a zapisují se veškeré změny v nich. Teprve po dokončení transakce se výsledek zapíše do systému a původní data se odstraní. V případě problému během zpracování systém vrátí databázi do původního stavu.

Databáze klient - server

Všechny větší databáze pracují v sítích klient - server a samy mají také strukturu klient - server.
Z jednotlivých stanic mohou klienti přistupovat k datům uloženým na serveru podle stanovených práv a pravidel. Databáze je tak tvořena částí serverovou (spravuje data a zajišťuje veškeré operace s nimi) a část klientskou (umožňuje uživatelům práci s daty). Požadavek se tedy provede na serveru, na klientský počítač se pak přenáší jen požadovaná data.
Do databáze na serveru nelze nahlížet jinak než pomocí databázového klienta. Výhody:
  • Každý uživatel má stanovena přístupová práva
  • K datům lze přistupovat pomocí kteréhokoliv počítače v síti
  • Některá data může upravovat více uživatelů současně
  • Server pro práci s daty nabízí standardizované rozhraní
  • Archivace dat celého podniku spočívá v archivaci serveru
  • Návrh databáze

    1. Návrh konceptu

      Vyřešení problému bez ohledu na budoucí tabulky. Vytvoří se odraz reálné situace ve formalizované podobě. Nadefinují se tzv. entity (např. žáci, učitelé, ťřídy,...), které se v problému vyskytují, popíše se jejich obsah, vztahy, vlastnosti (atributy).
    2. Návrh struktury dat

      • sestává z návrhu struktury jednotlivých tabulek a relací mezi nimi. Tvoří se pomocí ERM diagramů (Entity-relationship model) popisující obsah, vztahy, vlastnosti entit. Z něho pak vychází návrh jednotlivých tabulek a jejich klíčů
      • Každá entita se stává samostatnou tabulkou (na základě entity žáci se vytvoří tabulka zaci)
      • Určí se primární klíč tabulky (např. rodné číslo nebo kombinace polí třída číslo v třídnív výkaze,...)
        Relace se realizují pomocí klíčů.