CONSTRAINT
CONSTRAINT je klíčové slovo jazyka SQL, které v databázové tabulce umožňuje vytvořit omezení s podmínkami, jež musí být splněny pro hodnoty jejích sloupců při vkládání nebo změnu záznamů. Tato omezení lze pojmenovat a nadále s nimi manipulovat jako s ostatními nedatovými objekty tabulky (kterými jsou například indexy, cizí klíče či spouště). Nemá-li návrhář databáze v plánu s těmito omezeními manipulovat, nemusí za CONSTRAINT specifikovat název omezení, ba co víc – pro většinu omezení tabulky lze v SQL vynechat i klíčové slovo CONSTRAINT.
Příklady
Vytvoření omezení c1 a c2 pro sloupce mesic a den, resp. jejich povolené hodnoty.
CREATE TABLE soutezni_otazka( mesic TINYINT, den TINYINT, otazka TEXT, CONSTRAINT c1 CHECK (mesic BETWEEN 1 AND 12), CONSTRAINT c2 CHECK (den BETWEEN 1 AND 31) );
Vytvoření pojmenovaného omezení c2 pojícího se s klíčem tabulky.
CREATE TABLE produkty( id INT NOT NULL, nazev VARCHAR(50), cena DECIMAL(5,2), CONSTRAINT c2 PRIMARY KEY id );
CONSTRAINT lze využít i pro vytvoření jiného než primárního klíče a též klíče nad vícero sloupci.[1] Následující příkaz vytvoří spolu s tabulkou omezení pro její záznamy, které zabrání vložení dne a měsíce, které (myšleno oba zároveň) již v tabulce existují:
CREATE TABLE soutezni_otazka( mesic BYTE, den BYTE, cena DECIMAL(5,2), CONSTRAINT c2 UNIQUE KEY mesic_den(mesic, den) );
Odkazy
Reference
- ↑ http://dev.mysql.com/doc/refman/5.0/en/create-table.html
Související články
- CHECK
Externí odkazy
- http://www.sql.org/sql-database/postgresql/manual/ddl-constraints.html
SQL | |
---|---|
příkazy jazyka SQL | DML: SELECT • INSERT • UPDATE • DELETE | DDL: CREATE • DROP • ALTER • CHECK • SHOW • EXPLAIN • MERGE • TRUNCATE • LOAD DATA | DCL: GRANT • REVOKE | START TRANSACTION • COMMIT • ROLLBACK |
klíčová slova pro dotazování | TOP • LIMIT • JOIN (FULL LEFT RIGHT INNER CROSS) ON • UNION • ORDER BY • WHERE • GROUP BY • WITH ROLLUP • HAVING |
objekty | TABLE • VIEW • INDEX • CONSTRAINT • TRANSACTION • TRIGGER |
ostatní pojmy |