INTEGRITY CONSTRAINT

POSTGRESQL

  • Diky Arga Anggara | A11.2013.07386
  • Setyadi Putra D. | A11.2013.07785
  • Muhammad Atho'il M | A11.2013.07805
  • Hafidz Zakky D | A11.2013.07874

POSTGRESQL

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.

POSTGRESQL

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.

POSTGRESQL memiliki banyak fitur seperti

  • User-defined types
  • Table inheritance
  • Foreign key referential integrity
  • Multiversion concurrency control
  • Views, rules, sub-select
  • Streaming Replication

Constraint ?

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.

MACAM - MACAM CONSTRAINT PADA POSTGESQL

  • NOT NULL
  • UNIQUE
  • PRIMARY KEY
  • FOREIGN KEY
  • CHECK
  • EXCLUSION

Not Null

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)
);

UNIQUE Constraint

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) 
);

PRIMARY KEY Constraint

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 Constraint

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.

CHECK Constraint

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)

EXCLUSION Constraint

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)

EXCLUSION Constraint

 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.

Postgresql

By Muhammad Athoil Maula