Friday, July 17, 2020

Mengenal Constaint, Primary Key dan Foreign Key

Mengenal Constaint, Primary Key dan Foreign Key


Constraint mengizinkan kita untuk menjaga integritas data dan untuk menyaring data yang tersimpan di dalam database, dengan kalimat lain yang lebih sederhana, constraint adalah aturan atau batasan yang mendefinisikan nilai atau data yang tersimpan di dalam database, baik melalui operasi insertupdate, select ataupun delete.

Di dalam SQL standar ANSI, constraint dibedakan menjadi empat, yaitu :

1. Primary key

2. Foreign key

3. Unique

4. Check

Primary Key

Primary key adalah suratu aturan yang berguna untuk memastikan bahwa setiap baris data yang ada di suatu tabel bersifat unik (unik atau berbeda dengan baris data lainnya). Primary key diteriapkan pada kolom-kolom yang dijadikan sebagai pembeda, sebagai contoh pada tabel regional provinsi di bawah ini :


Semua baris pada tabel di atas dibedakan oleh satu kolom yaitu kolom ID PROVINSI yang berarti isi data kolom ID PROVINSI harus unik atau tidak boleh sama dengan baris data lainnya. Pada contoh tabel di atas kolom ID PROVINSI dapat dijadikan sebagai primary key, artinya jika kita menyimpan data yang sama atau sudah ada pada kolom ID PROVINSI, maka secara otomatis sistem database akan menolak karena karakter primary key sendiri yang harus unik dan tidak boleh sama.

Pada titik ini kita dapat memahami bahwa primary key yang terdiri dari beberapa kolom (memungkinkan lebih dari satu kolom), dimana kolom yang kita jadikan primary key harus memiliki nilai yang berbeda dari setiap baris datanya. Adapun beberapa aturan yang dapat mendefiniskan primary key :

- Suatu tabel tidak dapat memiliki lebih dari satu primary key
- Kolom yang dijadikan primary key tidak boleh bertipe data BLOB
- Nilai pada kolom yang didefinisikan sebagai primary key harus bersifat unik dan tidak boleh NULL

Foreign Key

Foreign key berguna untuk mendefinisikan kolom-kolom pada suatu tabel yang nilainya mengacu pada tabel lain. Dengan kata lain, kolom-kolom yang didefinisikan sebagai foreign key nilainya harus diambil dari nilai kolom lain yang berupa primary key atau unique. Penggunaan foreign key bertujuan untuk menciptakan relasi tabel data, contoh nya antara tabel kabupaten dengan tabel provinsi, dimana baris data kabupaten membutuhkan id data provinsi. Berikut contoh di bawah ini untuk memperjelas penjabaran tersebut :


Pada contoh di atas tampak bahwa nilai kolom ID PROVINSI yang terdapat di tabel KABUPATEN mengacu atau berelasi pada nilai kolom ID PROVINSI di tabel PROVINSI. Dapat kita pahami bahwa ID PROVINSI di tabel KABUPATEN disebut foreign key, sedangankan ID PROVINSI pada tabel PROVINSI disebut primary key. Untuk terciptanya sebuah relasi data pada kedua tabel, maka nilai primary key dengan foreign key harus berkaitan.

Perlu diperhatikan bahwa nilai yang diisikan ke dalam kolom foreign key pada suatu tabel harus mengacu atau diambil dari kolom primary key tabel lain. Jika anda mencoba untuk memasukan suatu nilai ke dalam kolom foreign key di mana nilai tersebut tidak terdapat pada tabel yang diacu, maka server database akan otomasi menolak dan memberi pesan error.

Adapun beberapa aturan untuk mendefinisikan foreign key adalah sebagai berikut :

- Suatu tabel dapat memiliki lebih dari satu jaringan foreign key

- Kolom harus mengacu pada kolom primary key atau unique di tabel lain
Foreign key tidak bersifat unik

Pembahasan pada artikel ini mencangkup penjelasan mengenai constraintprimary key dan foreign key, sedangakan unuk pembahasan mengenai penjelasan lainnya (uniquecheck dan indeks) akan dibahas pada artikel selanjutnya.

Sumber referensi :
Buku : "Belajar Otodidak MySQL (Teknik Pembuatan dan Pengelolaan Database)"
Penulis : Budi Raharjo
Penerbit : Informatika - Bandung

0 comments:

Post a Comment