SQL CONSTRAINT - konstreiny w bazie oracle

SQL CONSTRAINT w bazie służą do tego żeby narzucić jaki rodzaj danych ma być w kolumnie, podstawowymi konstrainami są:
NOT NULL, CHECK, UNIQUE, PRIMARY KEY, FOREIGN KEY

NOT NULL ten konstrain pilnuje i nie pozwala żeby w kolumnie były wartości NULL, jeżeli nie zrobimy takiego warunku tj. nie zdefiniujemy że kolumna nie może być NOT NULL, wtedy w kolumnie mogą być wartości NULL

......

Dostęp do całego artykułu tylko dla użytkowników zalogowanych!

stwórz swojego użytkownika: załóż nowe konto

{accesstext mode="level" level="registered" noaccess="obecnie masz status gościa"}

Przykład 1
Stwórz tabele UCZEN w ktorej bedą następujące dane: imie, nazwisko, data urodzenie, imie matki, imie ojca
3 pierwsze (tj. imie, nazwisko, data urodzenia) kolumny nie mogą być puste

CREATE TABLE uczen
(
imie VARCHAR2(23) NOT NULL,
nazwisko VARCHAR2(23) NOT NULL,
data_urodzenia DATE NOT NULL,
imie_matki VARCHAR2(23) ,
imie_ojca VARCHAR2(23)
);

 

CHECK CONSTRAINT - ten konstraint służy do sprawdzania czy np. wartości wprowadzane w daną kolumnę spełniają narzucony warunek.


Przykład 2
stwórz tabele DZIECI_PRACOWNIKÓW, tabela powinna zawierać następujace dane pracowników: imie, nazwisko, ilość dzieci
w kolumnie ilosc_dzieci wartości nie mogą być ujemne

CREATE TABLE DZIECI_PRACOWNIKOW
(
imie VARCHAR2(23),
nazwisko VARCHAR2(23),
liczba_dzieci NUMBER CHECK(liczba_dzieci>=0)
);


UNIQUE CONSTRAINT - ten konstraint służy do sprawdzania żeby wartości w danej kolumnie były unikalne, tego konstrainu możemy używać do kolumny która jest PRIMARY KEY, ponieważ PRIMARY KEY musi mieć wartości unikalne, ale mała uwaga nie każda kolumna UNIQUE musi być PRIMARY KEY

przykłada 3

Proszę stwórz tabelę PENSJE która bedzie zawierała ID_pensje, pensja, premia, kolumna ID_pensje musi być unikalna

CREATE TABLE PENSJE
(
ID_pensje NUMBER UNIQUE,
pensja NUMBER,
premia NUMBER)
);

{/accesstext}