Powered By Blogger

Rabu, 05 September 2012

Relational Database

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