Kembali ke inti permasalahan, dalam gambar yang saya
sertakan terlihat dengan jelas bahwa satu tabel memiliki hubungan dengan
tabel yang lainnya. Penggunaan relational database sangat
sesuai ketika dibutuhkan referensi data antar tabel, sebagai contoh
adalah database mengenai siswa. Dalam database ini akan diasumsikan
mempunyai tabel sebagai berikut:
Tabel | Kolom |
siswa | Nama Alamat NIS Kode POS Asal Sekolah NEM Kelurahan Kecamatan Kota Orangtua |
orangtua | id_orangtua nama_ayah nama_ibu Alamat pekerjaan_ayah pekerjaan_ibu telepon_ayah telepon_ibu penghasilan |
asal sekolah | id_sekolah nama_sekolah alamat_sekolah nomor_telepon kota |
Dengan model seperti diatas aplikasi pengguna database tidak perlu melakukan look-up
ke setiap tabel terkait untuk mendapatkan informasi secara mendetail.
Dalam contoh ini tabel yang mempunyai banyak referensi adalah tabel
siswa, yaitu orangtua, dan sekolah. Ketika aplikasi membutuhkan data
yang lengkap mengenai siswa A, aplikasi hanya perlu melakukan lookup
database sekali dengan fungsi SELECT dan menggabungkannya dengan JOIN.
Perintah tersebut akan menghasilkan data yang sangat terperinci yang
mencakup tiga tabel sekaligus yaitu, siswa, orangtua, dan asal sekolah.
Dalam relational database, fungsi ini
biasanya dimanfaatkan untuk meningkatkan kualitas data yang dimiliki
oleh database tersebut dan juga menghemat besarnya database dengan
menyimpan nilai-nilai yang sering berulang. Peningkatan kualitas data
dimungkinkan karena setiap referensi yang dibutuhkan harus memiliki
nilai yang sama di tabel yang lainnya. Sebagai contoh dalam tabel asal
sekolah semua sekolah harus didefiniskan terlebih dahulu dan mempunyai
nilai yang unik. Ketika kita melakukan entri di tabel siswa kita hanya
tinggal memilih dari daftar tabel asal sekolah saja, sehingga menghemat
waktu, dan mengurangi risiko terjadinya kesalahan manusia.
Peningkatan performa juga dimungkingkan, meskipun
perlu desain yang baik, dan aplikasi penggunaan yang tepat. Namun secara
umum, peningkatan kualitas dimungkinkan karena data disimpan didalam
beberapa tabel yang berbeda. Sehingga ketika kita menginginkan sebuah
data tertentu kita dapat memperolehnya dari salah satu tabel saja.
Namun, banyak kasus nyata yang ditemui bahwa performa relational database
akan turun secara linier seiring dengan jumlah perintah JOIN yang
dilakukan apabila tidak dikonfigurasikan secara benar. Dalam skala
penggunaan yang kecil (mampu di tangani oleh satu server), relational database masih dikatakan mempunyai performanya baik.
Semoga bermanfaat, silakan disampaikan apabila ada tambahan, atau kesalahan.
Tidak ada komentar:
Posting Komentar