Tvorba tabulky

From Wikivyuka
Revision as of 08:57, 30 August 2014 by Dur30 (talk | contribs)

Jump to: navigation, search

K založení nové tabulky v databázi slouží příkaz CREATE TABLE. Obsahuje několik povinných údajů. Tabulku musíme pojmenovat, pojmenovat její sloupce a určit datové typy pro tyto sloupce. Seznam konkrétních možných datových typů naleznete v referenční příručce jazyka SQL pro konkrétní SŘBD. Pro Oracle jsou DT uvedeny v dokumentaci Oracle. Dále je možné ke každému sloupci uvést různá omezení - default hodnotu, možnost hodnoty NULL či referenci na jinou tabulku (cizí klíč). Syntaxe příkazu:

CREATE TABLE [nazev_databaze.]nazev_tabulky 
        (<nazev sloupce> <datovy typ> 
        [DEFAULT <konstantni vyraz>]
        [NULL | NOT NULL]
        [<omezeni pro sloupec>]
        |[<omezeni pro tabulku>]
        [,...n]
   )


Základní syntaxe může být rozšířena o různá integritní omezení kladená na jednotlivé sloupce nebo jejich kombinaci. Omezení však mohou být definována i příkazem ALTER TABLE, jakož i přidávání nebo změna sloupců, takže v našem příkladu zvolíme určité rozdělení těchto definic. Rozšířená syntaxe příkazu CREATE TABLE:


     create table <jméno_tabulky> (<jméno_sloupce> <datový_typ> [<omezení_tohoto_sloupce>]
                                  [,<jméno_sloupce> <datový_typ> [<omezení_tohoto_sloupce>] ...]
                                  [,<další_omezení> [,<další_omezení>...]] );

Možná omezení nepřesahující rámec tabulky:

   PRIMARY KEY ... definice primárního klíče tabukly
   UNIQUE ... definice unikátního klíče
   NOT NULL ... sloupec nesmí být prázdný
   DEFAULT <výraz> ... definice defaultní hodnoty pro sloupec 
   CHECK (<podmínky>) ... určení podmínek, které musí splňovat přípustné hodnoty či kombinace hodnot ve sloupcích jednoho řádku tabulky 

Omezení referenční integrity uvedeme v kapitole ALTER TABLE. Každé omezení může být pojmenováno klauzulí CONSTRAINT, syntaxe:


     constraint <jméno_omezení> <definice omezení>V příkazu pojmenujeme tabulku (dle významu obashu dat, předchozí analýzy), její sloupce (atributy), ke kterým nadefinujeme datové typy. 

Syntaxe příkazu CREATE TABLE:

CREATE TABLE [nazev_databaze.]nazev_tabulky
  

V [] jsou uvedeny nepovinné údaje - například [nazev_databaze.]. Za () je uvedena povinná část <nazev sloupce> <datovy typ> s možným opakováním až n-krát [,...n].