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