NOT NULL, bir sütundaki değerlerin NULL olmasına izin vermez yani boş bırakılamaz.
UNIQUE, aynı tablodaki satırlar arasında benzersiz bir sütundaki değerleri sağlar.
Mükerrer kayda izin vermez.
PRIMARY KEY, bir tablodaki satırları benzersiz şekilde tanımlayan birincil anahtar
(primary key) sütunu. Primary key kısıtlaması, bir tablonun birincil anahtarını
tanımlamanıza olanak tanır.
CHECK, verilerin bir boolean ifadesini karşılamasını sağlar.
FOREIGN KEY, bir sütundaki veya bir tablodaki sütun grubundaki değerlerin başka
bir tablodaki bir sütunda veya sütun grubunda var olmasını sağlar. Bir tablonun birçok
foreign key’i olabilir.
Tablo kısıtlamaları, birden fazla sütuna uygulanmaları dışında sütun kısıtlamalarına
benzer.
Örnekler : Birbiri ile ilişkili 3 tane tablo create edilmiştir.
CREATE TABLE hesaplar ( user_id serial PRIMARY KEY, username VARCHAR ( 75 ) UNIQUE NOT NULL, password VARCHAR ( 75 ) NOT NULL, email VARCHAR ( 275 ) UNIQUE NOT NULL, created_on TIMESTAMP NOT NULL) ; CREATE TABLE role( role_id serial PRIMARY KEY, role_name VARCHAR (275) UNIQUE NOT NULL ); CREATE TABLE hesap_role ( user_id INT NOT NULL, role_id INT NOT NULL, PRIMARY KEY (user_id, role_id), FOREIGN KEY (role_id) REFERENCES role (role_id), FOREIGN KEY (user_id) REFERENCES hesaplar (user_id) ) ;
hesap_role tablosunun primary key’i iki sütundan oluşur: user_id ve role_id,
bu nedenle primary key kısıtlamasını bir tablo kısıtlaması olarak tanımlamamız gerekti.
user_id sütunu, hesaplar tablosundaki user_id sütununa başvurduğundan,
user_id sütunu için bir foreign key kısıtlaması tanımlamamız gerekti.
role_id sütunu, role tablosundaki role_id sütununa başvurduğundan, ayrıca role_
id sütunu için bir foreign key kısıtlaması tanımlamamız gerekti.