headerphoto

Sloupcová omezení při tvorbě tabulky

Defaultní hodnota

Je výchozí hodnota sloupce. Pokud defaultní hodnotu neurčíme, ani neurčíme hodnotu sloupce v příkazu INSERT, je automaticky dosazena hodnota NULL.

Příklad: Dejme tomu, že vyrábíte nějaké výrobky. Datum objednávky dáme defaultně s dnešním dnem.

prodejna=> CREATE TABLE vyrobek ( id_v serial , nazev varchar(15),vyrobeno date default now());

Defaultní hodnotou může být také výraz.

prodejna=> CREATE TABLE vyrobek ( id_v serial , nazev varchar(15),vyrobeno date default current_date, spotrebovat_do date default current_date+5); 
prodejna=> CREATE TABLE vyrobek ( id_v serial , nazev varchar(15),vyrobeno date default now(),cena int check(cena>0),pocet_ks int check(počet_ks between 0 and 100));

ekvivalent pro podmínku je check (pocet_ks >= 1 AND a <= 100)

Vlastnost NOT NULL

Zamezení vložení prázdných hodnot do sloupce

Příklad: musí být zadán název výrobku

prodejna=> CREATE TABLE vyrobek ( id_v serial , nazev varchar(15) not null,vyrobeno date default now(),cena int check(cena>0));

Vlastnost UNIQUE

Zamezuje vložení duplicitních hodnot

Příklad: musí být zadán název výrobku a ten se nesmí opakovat

prodejna=> CREATE TABLE vyrobek ( id_v serial , nazev varchar(15) unique not null,vyrobeno date default now(),cena int check(cena>0)); 

PRIMARY KEY

Označí sloupec, který jedinečně identifikuje řádek. Zamezuje výskytu duplicitních hodnot a prázdných hodnot ve sloupci. Je hlavním indexem tabulky.

Příklad: Hlavní index tabulky vyrobek bude id_v

prodejna=> CREATE TABLE vyrobek ( id_v serial primary key not null, nazev varchar(15),vyrobeno date default now(),cena int);

FOREIGN KEY (cizí klíč)

Sloupcové omezení, které nastavuje cizí klíč pro relaci. Nejdřív je nutné vytvořit odpovídající sloupec a potom ho samostatně nastavíme jako cizí klíč a určíme propojení s druhou tabulkou:

FOREIGN KEY(urceny_sloupec) REFERENCES jina_tabulka (prim_klic)

Máme 2 tabulky: výrobky a výrobci. Každý výrobek vyrobil nějaký výrobce. Výrobce má více výrobků, výrobek má jednoho výrobce. Odpovídající relace je uvedena v návrhu tabulek v nastavení cizího klíče.

  CREATE TABLE vyrobci (
              id_vyrobce int primary key not null, 
              nazev_vyrobce varchar (20) not null unique,
              sidlo varchar(30) default 'Havířov');
  CREATE TABLE vyrobek (        
              id_v int auto_increment primary key not null, 
              nazev varchar(15),
              cena int default 0, 
              vyrobil int, 
              FOREIGN KEY(vyrobil) REFERENCES vyrobci (id_vyrobce) );

Design downloaded from Free Templates - your source for free web templates