Na tem mestu se ne bomo preveč poglobili v omejitve tabele, vendar pa ima lahko vsak stolpec dodatne omejitve, ki omejujejo, katere vrednosti je mogoče vstaviti v ta stolpec. Spodnji seznam vsebuje nekaj najpogostejših omejitev.
| Omejitev | Opis |
|---|---|
PRIMARY KEY |
Vrednosti v tem stolpcu so edinstvene in vsako vrednost je mogoče uporabiti za identifikacijo posamezne vrstice v tabeli. |
AUTOINCREMENT |
Pri celoštevilskih vrednostih se vrednost samodejno doda ter poveča z vsakim vstavljanjem nove vrstice. Ni podprto v vseh podatkovnih bazah. |
UNIQUE |
Vrednosti v tem stolpcu morajo biti enolične, zato v ta stolpec ne moremo vstaviti druge vrstice z enako vrednostjo. Ni nujno, da je ta vrednost ključ za vrstico v tabeli – kot velja za PRIMARY KEY. |
NOT NULL |
Vstavljena vrednost ne sme biti NULL. |
CHECK (izraz) |
Omogoča uporabo bolj zapletenih izrazov za preverjanje, ali so vstavljene vrednosti veljavne. Preverimo lahko na primer, ali so vrednosti pozitivne, ali večje od določene velikosti, ali se začnejo z določeno predpono itd. |
FOREIGN KEY |
Omogoča preverjanje skladnosti, ki zagotavlja, da vsaka vrednost v tem stolpcu ustreza drugi vrednosti v stolpcu v drugi tabeli. |
CREATE TABLE IF NOT EXISTS film (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
naslov TEXT NOT NULL,
reziser TEXT NOT NULL,
studio_id TEXT NOT NULL,
leto INTEGER NOT NULL,
dolzina INTEGER NOT NULL DEFAULT 0,
ocena REAL,
CONSTRAINT tk_studio_film
FOREIGN KEY (studio_id) REFERENCES studio(id)
ON DELETE CASCADE
ON UPDATE CASCADE
);
Entiteta vsebuje naslednje atribute oziroma na fizičnem nivoju tabela vsebuje naslednje stolpce: id, naslov, reziser, studio_id, leto, dolzina in ocena. Vsi stolpci imajo nastavljeno ustrezno vrsto podatkov, ki jih hranijo ter morebitne omejitve. Poleg tega je pri tabeli nastavljena omejitev tk_studio_film, ki predstavja povezavo oziroma relacijo med tabelama studio in film s pomočjo tujega ključa. Nastavitev tujega ključa smo dosegli z vrstico FOREIGN KEY (studio_id) REFERENCES studio(id), ki pove, da je atribut studio_id tuji ključ, ki se sklicuje na primarni ključ id v tabeli studio.
Če iz tabele studio izbrišemo določen studio, se bodo v tabeli film izbrisali tudi vsi filmi, povezani s tem studiem preko tujega ključa. To zagotavlja vrstica ON DELETE CASCADE. Če v tabeli studio posodobimo primarni ključ id, ki ni številka, ki bi jo podatkovna baza samodejno nastavljala z AUTOINCREMENT (česar se v večini primerov izogibamo), potem se bo samodejno posodobil tudi tuji ključ studio_id. To zagotavlja vrstica ON UPDATE CASCADE.