4.5. Omezení

  Se základním typem omezení tzv. Primárním klíčem jsme se už setkali u předchozích dvou tabulek. U poslední tabulky si ukážeme další z možných typů omezení.
Tabulka Opravy

Obrázek 17 - Tabulka Opravy

4.5.1. Omezení typu Default


  Jednou z položek obrázků tabulky je datum přijetí opravy (oprDatum_prijeti). Zde by bylo dobré nadefinovat výchozí hodnotu pro vkládání aktuálního data ze systému. Nebude tedy potřeba toto datum při zadávání hodnot do tabulky vypisovat. Nastavíme tedy omezení typu default. Toto omezení se vkládá pouze při založení nového záznamu a to jen v případě, že hodnota nebude zadána uživatelem.
Zadání hodnoty omezení typu Default

Obrázek 19 - Zadání hodnoty omezení typu Default

4.5.2. Omezení typu Check

   S omezením typu Check můžeme zadávat podmínky pro vkládané, nebo upravované záznamy. Lze nastavovat formát vkládaného čísla (např. LIKE '[0-9]/[0-9]' - dvě vložené číslice budou odděleny lomítkem), vytyčit limit vkládaných čísel (např. [Název_Sloupce] >= 0), závislost vkládané hodnoty na hodnotě v jiném sloupci, aj.
   V naší tabulce Opravy chceme zajistit, aby datum převzetí (oprDatum_prevzeti) bylo vždy větší nebo rovno datumu přijetí opravy (oprDatum_prijeti).
Dialogové okno pro zadání podmínky typu Check

Obrázek 21 - Dialogové okno pro zadání podmínky typu Check


4.5.3. Relace

   Jak už jsme si řekli v úvodu, Microsoft SQL Server je relační databázový systém. Vytvoříme-li v databázi větší počet tabulek, můžeme mezi těmito tabulkami nadefinovat vztahy - označované jako relace.

   Obecně rozlišujeme tři druhy relací:
  1. Jedna k jedné 1 : 1 - s každým záznamem jedné tabulky je vždy svázán pouze jeden záznam druhé tabulky.
  2. Jedna k více 1 : N - s každým záznamem jedné tabulky může být svázáno více záznamů druhé tabulky.
  3. Více k více M : N - u této relace se může na obou stranách nacházet více odpovídajících záznamů.
   Tyto základní relace jsou pak ještě dále děleny podle toho, jestliže bude jedna z jejich stran nepovinná (obsahovat prázdnou hodnotu).    Přejděme nyní k vytvoření relací v naší ukázkové databázi Autoservisu.
Obr_22.jpg(34 kb)

Obrázek 22 - Create Relationship - dialog pro vytváření relací

   V dialogu je dále možné prostřednictvím zaškrtávacích políček nastavit:
Obr_23.jpg(33 kb)

Obrázek 23 - Diagram s vytvořenými relacemi

   V našem diagramu máme tedy vytvořeny relační vztahy typu 1 : N. Při vytváření tabulek jsme si už definovali primární klíč (Primary Key). Nyní po uložení celého diagramu nám vznikne na té straně relačního vztahu, která obsahuje vazbu více, cizí klíč (Foreign Key). Relační vztah mezi jednotlivými tabulkami databáze hlídá, aby v podřízených tabulkách nebylo možné uložit záznam, na který není spojení v nadřízené tabulce. Volby pro aktualizaci a odstranění polí v kaskádě při práci se záznamy v tabulkách nám způsobí, že se všemi souvisejícími záznamy v ostatních tabulkách bude automaticky provedena stejná operace - např.vymazáním záznamu v hlavní tabulce se automaticky vymažou všechny záznamy související s tímto záznamem v ostatních tabulkách.

<Předcházející stránka    Další stránka>