Baca selengkapnya

Assalamu'alaikum Wr.Wb
Annyeonghaseyo joneun Khanna in mida

Pada Blog kali ini saya akan membahas tentang Macam-macam Constraint (kunci)
sebelum masuk ke pokok pembahasan

Apa itu Constraint?
       Constraint adalah aturan atau batasan yang diterapkan di table unruk menjaga konsistensi dan integritas data. constraint mencegah penghapusan data dari suatu table yang mempunyai keterkaitan dengan tabel yang lain.

seiring dengan berkembangnya database, maka saat ini banyak vendor/perusahaan pembuat aplikasi database seperti Oracle 
pada Constraint dapat dideklarasikan dengan dua cara, yaitu :
a.  sebagai bagian dari definisi pada sebuah kolom atau atribut yang disebut sebagai in-line
b.  sebagai bagian dari definisi tabel yang disebut out-of-line.

Tipe - tipe Constraints :
1.  NOT NULL
          merupakan constraint yang digunakan untuk menjamin pengisian record ke sebuah tabel agar nilai record tersebut harus berisi data. NOT NULL hanya bisa di definisikan dalam sebuah tabel pada level kolom dan tidak bisa pada level table.
perbedaan antara NOT NULL dan PRIMARY KEY adalah bahwa setiap kolom yang dijadikan PRIMARY KEY pasti NOT NULL dan tidak berlaku kelipatan. memastikan bahwa suatu kolom harus diberi nilai tidak boleh dikosongkan.
Untuk constraint NOT NULL, berbeda cara pendefinisiannya dengan constraint yang lain jika table sudah dibuat lebih dahulu dengan menggunakan perintah "ALTER TABLE ... MODIFY"
contoh : nama_mahasiswa dan nama_bag harus selalu diisi.
"(ALTER TABLE mahasiswa MODIFY (nama_mahasiswa NOT NULL));"

2.  UNIQUE          
         merupakan sebuah constraint yang akan membatasi pengisian record yang sama kedalam sebuah kolom jika kolom tersebut diberikan constraint UNIQUE dalam sebuah table. UNIQUE dapat dibuat pada level kolom ataupun level table.
Memastikan suatu kolom tidak boleh ada yang bernilai sama, misal kolom email pada tabel mahasiswa
contoh : "ALTER TABLE mahasiswa ADD CONSTRAINT uq_email UNIQUE(email);"

3.  PRIMARY KEY          
         merupakan kunci yang akan membatasi pengisian record dalam sebuah table agar tidak duplikat (redudant). mengkombinasi constraint NOT NULL dan UNIQUE dalam satu deklarasi mengidentifikasikan secara unik setiap baris pada table.
dalam kolom atau kombinasi beberapa kolom yang bisa menentukan dengaan tepat ke satu baris data dalam table.
contoh : kolom id_mahasiswa pada table mahasiswa dan kolom kode_bag pada table bagian.
           
-  misal pendefisian pada perintah CREATE TABLE 
"CREATE TABLE bagian (kode_bag NUMBER(2) CONSTRAINT pk_bagian primary key, Nama_bag varchar(32));"               

misal pendefinisian untuk table yang sudah dibuat dengan perintah ALTER TABLE ... AND CONSTRAINT 
"ALTER TABLE mahasiswa ADD CONSTRAINT pk_mahasiswa primary key(id_mahasiswa);"

4.  FOREIGN KEY       
           yang disebut juga sebagai constraint Referential Integrity, yang memastikan bahwa data pada suatu table didefinisikan pada table lainnya dan mengikat kedua table tersebut dalam hubungan parent/child atau referenced/dependent. memaksakan nilai pada suatu table untuk bernilai sama dengan table lain. menggunakan FOREIGN KEY maka mengidentifikasikan bahwa suatu kolom pada suatu table harus ada pada kolom PRIMARY KEY atau UNIQUE pada table lain. digunakan untuk membuat hubungan antar table atau membuat membuat rujukan dari satu kolom ke kolom yang lainnya.
contoh : pendefinisikan kolom kode_bag pada table mahasiswa yang selalu merujuk ke kolom kode_bag ditabel bagian.
"ALTER TABLE mahasiswa ADD CONSTRAINT fk_kode FOREIGN KEY (kode_bag) REFERENCES bagian (kode_bag);"

5. CHECK          
          fungsinya untuk  pengecekan apakah sebuah kolom memenuhi sebuah kondisi spesifik yang dievaluasi dengan nilai boolean. jika evaluasi menghasilkan nilai FLASE, maka oracle akan mengeluarkan eksepsi, dan klausa insert atau update akan gagal. serta untuk menentukan nilai yang diisikan kesuatu kolom.
contoh : menentukan gaji pegawai minimal Rp. 1.000.000,-
"ALTER TABLE pegawai ADD CONSTRAINT ck_gaji_1jt CHECK(gaji == 1000000);"


Demikian, Macam - macam constraint (kunci) 

Semoga ini dapat membantu anda dalam memahami Macam-macam Constraint
Semoga bermanfaat
"Apabila ada yang ingin ditanyakan bisa tinggalkan pertanyaan di kolom komentar"
Terima kasih