Mysql

Apa Itu Komponen Database Relasional?

Syifa'i Tobing

Database dengan model relasional terdiri dari beberapa komponen penyusun. Komponen utama Database yaitu Tabel, sedangkan komponen-komponen lain seperti Indeks, constraint, trigger, stores procedure, dll. Merupakan komponen pendukung. Pada kesempatan kali ini kami akan menjelaskan tentang beberapa komponen tersebut.

1. Tabel

Data yang ada dalam Database akan diklasifikasikan berdasarkan jenisnya dan disimpan didalam wadah sendiri yang disebut tabel.

Oleh karena itu banyak yang mendefinisikan Database sebagai suatu kumpulan tabel. Tabel itu sendiri adalah suatu enititas yang tersusun atas kolom dan baris.

Dalam dunia database, kolom disebut field dan baris disebut record.

Berikut merupakan gambar yang mempresentasikan sebuah tabel.

Kode PenerbitNama Penerbit
PB01Sinar Ilmu
PB02Informatika
PB03Sinar Dunia
PB04Cipta Ilmu

Tabel pada gambar diatas terdiri dari dua buah kolom (field) kode penerbit dan nama penerbit, sedangkan jumlah baris data (record) ada empat.

Dalam model relasional, sebuah database akan tersusun atas beberapa tabel yang saling berelasi atau memiliki keterkaitan satu sama lain.

2. Constraint

Constraint mengizinkan kalian untuk menjaga integritas data dan untuk menyaring data yang disimpan didalam database. Dengan kalimat lain, constraint merupakan suatu aturan atau batasan yang mendefinisikan nilai atau data yang dapat disimpan didalam database, baik melalui operasi delete, update maupun insert.

Dalam SQL standar ANSI, constraint dibedakan menjadi empat yaitu :

  • Primary key
  • Foreign key
  • Unique
  • Check
  • Primary key

Merupakan suatu aturan yang berguna untuk memastikan bahwa setiap baris data didalam suatu tabel bersifat unik. Primary key diterapkan pada kolom yang akan dijadikan sebagai pembeda. Sebagai contoh, perhatikan tabel dibawah ini.

Kode PenerbitNama Penerbit
PB01Sinar Ilmu
PB02Informatika
PB03Sinar Dunia
PB04Cipta Ilmu

Masing-masing baris data diatas dapat dibedakan berdasarkan kolom KODE PENERBIT, Berarti nilai dari kolom KODE PENERBIT harus bersifat unik yaitu tidak boleh sama disetiap baris data yang ada.

Dalam contoh ini, kolom KODE PENERBIT dapat dijadikan sebagai primary key. Jika kita mencoba untuk memasukkan baris data baru kedalam tabel diatas yang nilai KODE PENERBITNYA sama dengan nilai KODE PENERBIT pada baris data yang lain maka server database akan menolak dengan cara menampilkan pesan kesalahan.

Beberapa aturan dalam pendefinisian primary key :

  • Harus bersifat unik dan tidak boleh bernilai null.
  • tidak boleh bertipe BLOB.
  • Suatu tabel tidak dapat memiliki lebih dari satu primary key.
  • Foreign Key

Foreign key berguna untuk mendefinisikan kolom-kolom pada suatu tabel yang nilainya mengacu ke tabel lain. Dengan kata lain, kolom-kolom yang didefinisikan sebagai foreign key nilainya harus diambil dari nilai kolom pada tabel lain. Kolom pada tabel lain yang nilainya akan diacu harus berupa kolom primary key atau unique. Jika anda mencoba untuk memasukkan nilai ke dalam kolom foreign key dengan nilai yang tidak terdapat pada kolom tabel yang diacu. Maka server database akan menolaknya.

Berikut ini tabel yang dapat memudahkan Anda untuk memahami definisi foreign key :

Kode PenerbitNama Penerbit
PB01Sinar Ilmu
PB02Informatika
PB03Sinar Dunia
PB04Cipta Ilmu
ISBNJudulKode Penerbit
01CodingPB06
02C++PB06
03PHPPB06
04MysqlPB06

Pada tabel diatas menunjukkan bahwa nilai kolom KODE PENERBIT pada tabel kedua (tabel buku) mengacu ke nilai yang terdapat pada kolom KODE PENERBIT didalam tabel pertama (kode penerbit).

Dalam kasus ini, kolom KODE PENERBIT pada tabel kedua disebut sebagai foreign key, sedangkan kolom KODE PENERBIT yang terdapat pada tabel pertama disebut sebagai primary key.

Beberapa aturan dalam pendefinisian foreign key :

  • Foreign key tidak bersifat unik.
  • Kolom yang diacu harus didefinisikan sebagai primary key atau unique.
  • Satu tabel dapat memiliki lebih dari satu foreign key.
  • Unique

Unique pada dasarnya sama seperti primary key, yaitu memastikan bahwa setiap baris data yang terdapat dalam suatu tabel bersifat unik (tidak sama). Perbedaannya pada unique key kita diizinkan untuk memasukkan nilai NULL.

  • Check

Jenis constraint ini berfungsi untuk membatasi nilai-nilai yang dapat dimasukkan kedalam kolom tertentu. Sebagai contoh sederhana, kolom JENIS_KELAMIN nilainya dapat dibatasi, misalnya hanya berupa PRIA dan WANITA saja. Selain nilai tersebut, server database akan menolak.

Perlu untuk diperhatikan bahwa MySQL tidak mendukung tipe constraint ini. Sebagai gantinya, kita dapat menggunakan kolom yang bertipe enumerasi untuk menangani kasus-kasus seperti ini.

3. Indeks

Data pada suatu tabel yang terdapat didalam database. Data pada tabel yang sudah diindeks akan diurutkan berdasarkan kolom Indeks. Dengan demikian proses pencarian data dapat dilakukan secara lebih cepat.

Indeks harus berasosiasi dengan suatu kolom dalam sebuah tabel. Suatu tabel dapat diindeks berdasarkan kolom tertentu yang telah ditentukan sebelumnya.

Jika kita mendefinisikan primary key pada suatu tabel maka kolom tersebut secara otomatis akan dianggap sebagai Indeks. Meskipun demikian, kita masih bisa membuat Indeks dari kolom lain pada tabel bersangkutan.

sekian yang bisa kami sampaikan… Semoga bermanfaat.

Baca juga…

Baca Juga

Tinggalkan komentar