INTEGRITY CONSTRAINT
Merupakan relasional sistem manajemen basis data yang termasuk dalam FREE OPEN SOURCE SOFTWARE (FOSS), telah dikembangkan lebih dari 15 tahun oleh tim volunter diseluruh dunia.
PostgreSQL runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows.
It supports text, images, sounds, and video, and includes programming interfaces for C / C++ , Java , Perl , Python , Ruby, Tcl and Open Database Connectivity (ODBC).
PostgreSQL runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows.
Batasan atau aturan yang ada pada table dan kolom
Constraint semacem aturan untuk memastikan data yang masuk ke database benar, untuk menjaga akurasi dan readibilitas data.
Secara bawaan, kolom dapat bernilai null, untuk membuatnya tidak boleh null, tambahkan "NOT NULL" pada atribut kolom.
CREATE TABLE MHS(
ID INT PRIMARY KEY NOT NULL,
NAMA TEXT NOT NULL,
UMUR INT NOT NULL,
Alamat CHAR(50)
);
Menjaga setiap data dalam satu kolom tidak ada yang sama, misal : tidak boleh ada nama yang sama dalam kolom nama_belakang.
Syntax : UNIQUE
CREATE TABLE MHS(
ID INT PRIMARY KEY NOT NULL,
NAMA TEXT NOT NULL UNIQUE,
UMUR INT NOT NULL,
Alamat CHAR(50)
);
Menjaga keunikannya data pada setiap baris record dengan menggunakan identifier id, mirip dengan Unique, namun dalam satu tabel hanya boleh ada satu Primary Key, jadi Primary Key itu Unique Ids.
CREATE TABLE MHS(
ID INT PRIMARY KEY NOT NULL,
NAMA TEXT NOT NULL UNIQUE,
UMUR INT NOT NULL,
Alamat CHAR(50)
);
Foreign Key ato Kunci tamu menjadi refrensi untuk merelasikan dua tabel atau lebih,
CREATE TABLE KULIAH(
ID INT PRIMARY KEY NOT NULL,
MATKUL CHAR(50) NOT NULL,
EMP_ID INT references MHS(ID)
);
Syntax : references table(column)
Misal kita ingin merefrensi ke tabel MHS sebelumnya.
Mengecek data sebelum data dimasukan dengan kondisi tertentu, misal umur mahasiswa harus 17 ++
CREATE TABLE MHS(
ID INT PRIMARY KEY NOT NULL,
NAMA TEXT NOT NULL UNIQUE,
UMUR INT NOT NULL CHECK(UMUR > 17),
Alamat CHAR(50)
);
Syntax : check (kondisi)
Melakukan pengecualian dengan membandingkan dua row memakai expresi comparisons operator, akan mengebalikan nilai false atau null.
CREATE TABLE MHS(
ID INT PRIMARY KEY NOT NULL,
NAMA TEXT NOT NULL UNIQUE,
UMUR INT NOT NULL CHECK(UMUR > 17),
Alamat CHAR(50),
EXCLUDE USING gist
(NAMA WITH =,
UMUR WITH <>)
);
Syntax : EXCLUDE USING gist (kondisi)
INSERT INTO COMPANY7 VALUES(1, 'Doscom', 18, 'Kendal', 20000.00 );
INSERT INTO COMPANY7 VALUES(2, 'Doscom', 18, 'Semarang', 20000.00 );
INSERT INTO COMPANY7 VALUES(3, 'Diky', 20, 'Kaliwungu', 20000.00 );
Insert dua pertama, akan sukses dijalankan, sedangkan yang ketiga error.