SQL CONSTRAINTS

SQL CONSTRAINTS (ograniczenia)


    


DEFINICJA

CONSTRAINTS (ograniczenia) to reguły które określają jakie dane mogą się znajdować w tabelach (kolumnach). Część z tych zasad "pilnuje" aby dane wprowadzane do naszej bazy danych były logicznie spójne a część "pilnuje" także żeby działania wykonywane na danych odbywały się zgodnie z tymi zasadami. Z reguły nadajemy je, podczas deklaracji struktury tabel, ale są też sposoby na ich dodanie do już istniejącej struktury (tabeli). Jest kilka takich reguł które krótko opiszę poniżej.

Ogólna składnia CONSTRAINTS

CREATE TABLE nazwa_tabeli
(
    …
    nazwa_kolumny typ_danych(rozmiar) nazwa_ograniczenia
    …
)


NOT NULL

Wykorzystując tą zasadę określamy, że dana kolumna nie może przechowywać wartości NULL.
Przykład zastosowania NOT NULL

CREATE TABLE Pracownicy
(
     ID_pracownik int NOT NULL
    ,Imie varchar(20)
    ,Nazwisko varchar(50)
    …    
)


UNIQUE

Zasada która "mówi", że kolumna musi przechowywać wartości unikalne. Kolumna z zasadą UNIQUE może przechowywać wartość NULL.

Przykład zastosowania UNIQUE

CREATE TABLE Pracownicy
(
     ID_pracownik int UNIQUE
    ,Imie varchar(20)
    ,Nazwisko varchar(50)
    …    
)


PRIMARY KEY (klucz główny)

To zasada która "mówi", że kolumna musi zawierać unikalne wartości które w jednoznaczny sposób identyfikują każdy rekord. W kolumnie tej nie możemy przechowywać wartości NULL. Z powyższego opisu można jasno wywnioskować, że PRIMARY KEY  to takie połączenie NOT NULL i UNIQUE. Więcej na temat PRIMARY KEY przeczytasz tutaj.


FOREIGN KEY (klucz obcy)

To definiowanie relacji między tabelami (określenie zasad spójności danych w tabelach). Wartości przechowywane w kolumnie która jest zdefinowana jako klucz obcy w pierwszej tabeli zawsze będą miały swój odpowiednik w kolumnie która jest zdefiniowana jako klucz główny w drugiej tabeli. Więcej na temat kluczy obcych przeczytasz tutaj.


CHECK

Ta zasada "zba" o to, żeby w danej kolumnie znajdowały się wartości które spełniają określony przez nas warunek. Inaczej mówiąc warunek ten musi być prawdziwy dla wszystkich rekordów w danej tabeli.


DEFAULT

Zasada DEFAULT określa wartość domyślną dla danej kolumny.