Difference between revisions of "Tvorba tabulky"

From Wikivyuka
Jump to: navigation, search
m
m
Line 1: Line 1:
K založení nové tabulky v databázi slouží příkaz INSERT TABLE.
+
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  Základní syntaxe:
+
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 [http://docs.oracle.com/cd/B10501_01/server.920/a96540/sql_elements2a.htm 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]
 +
    )
  
 
 
      create table <jméno_tabulky> (<jméno_sloupce> <datový_typ>[,<jméno_sloupce> <datový_typ> ...]);
 
  
Základní syntaxe může být rozšířena o různá integritní omezení kladená na jednotlivé sloupce nabo 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.
+
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:
 
Rozšířená syntaxe příkazu CREATE TABLE:
  
Line 31: Line 39:
  
 
  '''CREATE TABLE''' [nazev_databaze.]nazev_tabulky
 
  '''CREATE TABLE''' [nazev_databaze.]nazev_tabulky
    (<nazev sloupce> <datovy typ>
+
 
      [DEFAULT <konstantni vyraz>]
 
      [NULL | NOT NULL]
 
      [<omezeni pro sloupec>]
 
      |[<omezeni pro tabulku>]
 
      [,...n]
 
    )
 
 
 
 
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].
 
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].

Revision as of 08:57, 30 August 2014

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].