a. Konsep Basis Data dalam RDBMS
Sistem manajemen basis data atau database management system (DBMS), atau kadang disingkat SMBD, adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta banyak pengguna.
DBMS merupakan perangkat lunak yang dirancang untuk dapat melakukan utilisasi dan mengelola koleksi data dalam jumlah yang besar. DBMS juga dirancang untuk dapat melakukan manipulasi data secara lebih mudah. Sebelum adanya DBMS, data pada umumnya disimpan dalam bentuk flat file, yaitu file teks yang ada pada sistem operasi.
Dibandingkan dengan sistem data yang berbasis kertas, DBMS memiliki beberapa keunggulan:
1) Mengurangi redundancy, data yang sama pada beberapa aplikasi cukup disimpan sekali saja.
2) Integrity, data tersimpan secara akurat.
3) Menghindari inkonsisten, karena redundancy berkurang, maka update data jadi lebih efisien.
4) Penggunaan data bersama, data yang sama dapat diakses oleh beberapa user pada saat bersamaan.
5) Menyangkut keseragaman penyajian data.
6) Menyeimbangkan kebutuhan, dapat ditentukan prioritas suatu operasi, misal antara update dengan retrieval.
Dalam implementasinya terdapat empat komponen utama DBMS, yaitu: perangkat keras (hardware), data, perangkat lunak (software) dan pengguna.
b. Abstraksi Data
Untuk mendukung kepraktisan, DBMS menyediakan pandangan abstrak terhadap data bagi pengguna. DBMS berusaha menyembunyikan detail tentang bagaimana data disimpan dan dipelihara. Abstraksi data dalam DBMS biasanya dibagi menjadi 3 lapis, yaitu Lapis fisis, Lapis konseptual dan Lapis pandangan.
c. Model Basis Data
Model basis data menyatakan hubungan antar rekaman yang tersimpan dalam basis data. Beberapa literatur menggunakan istilah struktur data logis untuk menyatakan keadaan ini. Model dasar yang paling umum ada 3 macam, yaitu model hierarkis, jaringan, dan relasional.
1) Model Hierarkis
Model Hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orang tua-anak. Setiap simpul (biasa dinyatakan dengan lingkaran atau kotak) menyatakan sekumpulan medan.
Gambar. Contoh model hirarkis
2) Model Jaringan
Model ini menyerupai model hirarkis, dengan perbedaan suatu simpul anak bisa memiliki lebih dari satu orang tua.
Gambar. Model Jaringan
3) Model Relasional
Model relasional merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna, serta merupakan yang paling populer saat ini. Model ini menggunakan sekumpulan tabel berdimensi dua (yang disebut relasi atau tabel), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. Relasi dirancang sedemikian rupa sehingga dapat menghilangkan kemubaziran data dan menggunakan kunci tamu untuk berhubungan dengan relasi lain.
Pada model relasional, seluruh data terstruktur secara logika di dalam sebuah relasi (tabel). Setiap relasi mempunyai nama dan terdiri dari atribut-atribut bernama (kolom). Setiap tupel (baris) berisikan satu nilai per atribut. Kekuatan yang besar dari model data relasional adalah struktur logikal yang sederhana.
Tabel. Padanan istilah relasi, tupel, dan atribut.
Model Relasional
|
Pemrogram
|
Pengguna
|
Relasi
|
Berkas
|
Tabel
|
Tupel (baris)
|
Rekaman
|
Baris
|
Atribut
|
Medan
|
Kolom
|
Istilah yang digunakan dalam basis data relasional
a) Relasi
Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.
b) Entitas
Entitas (entity) adalah sebuah objek yang keberadaannya dapat dibedakan terhadap objek lain. Entitas dapat berupa orang, benda, tempat, kejadian, konsep
c) Atribut
Atribut adalah sifat atau karakteristik yang melekat dalam sebuah entitas. Setiap atribut akan memiliki nilai (values). Domain (value Set)
d) Tupel atau baris
Tupel merupakan baris pada sebuah relasi atau kumpulan elemen- elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang, misalnya : NIM, nama mahasiswa, alamat, kota, dan lain- lain.
e) Domain
Domain adalah kumpulan nilai yang valid untuk satu atau lebih atribut. f) Derajat (degree)
Degree menunjukan banyaknya himpunan entitas yang saling berelasi.
g) Kardinalitas relasi
Kardinalitas relasi menggambarkan banyaknya jumlah maksimum entitas dapat berelasi dengan entitas pada himpunan entitas yang lain.
Jenis relasi antara dua entitas dapat berupa relasi: One to One (1:1), One to Many (1:M), Many to One (M:1) dan Many to many (M:M)
Gambar . Kardinalitas relasi
Tabel berikut merupakan bentuk relasional berdasarkan contoh model hirarkis dan jaringan sebelumnya.
Tabel. Contoh konversi model jaringan ke model relasional
Nama Dosen
|
Mata Kuliah
|
Mahasiswa
|
Hasrul
|
Pengantar Basis Data
|
Rudi
|
Hasrul
|
Pengantar Basis Data
|
Fauji
|
Hasrul
|
Pengantar Basis Data
|
Icca
|
Hasrul
|
Perangkat Keras
|
Icca
|
Hasrul
|
Perangkat Keras
|
Phoo
|
Al Imran
|
Matematika Diskrit
|
Anggi
|
AlImran
|
Matematika
Diskrit
|
Phoo
|
Pada prakteknya, relasi pada gambar cardinal relasi akan dinormalisasikan sehingga akan terbentuk beberapa tabel yang saling terhubung. Contoh model relasional seperti ini dapat dilihat pada tabel berikut ini,
Gambar. Contoh beberapa relasi pada model relasional
Pada gambar ini terdapat tiga buah relasi. Relasi yang terbawah menggunakan kunci tamu berupa nomor mahasiswa (NO_MHS) dan kode matakuliah (KODE_MK) untuk menghubungkan diri ke kedua relasi di atasnya. Dengan kata lain, berdasarkan data pada terbawah, informasi seperti nama mahasiswa (NAMA_MHS) dan nama mata kuliah (NAMA_MK) bisa diperoleh.
Gambar. Relasi, tupel, atribut, dan berbagai istilah lainnya
Ada beberapa sifat yang melekat pada suatu relasi, yaitu:
• Tidak ada tupel (baris) yang kembar
• Urutan tupel tidaklah penting (tupel-tupel yang dipandang dalam sembarang urutan)
• Setiap atribut memiliki nama yang unik
• Letak atribut bebas (urutan atribut tidak penting)
• Setiap atribut memiliki nilai tunggal dan jenisnya sama untuk semua tupel
Pada model relasional, jumlah tupel suatu relasi disebut kardinalitas dan jumlah atribut suatu relasi disebut derajat (degree) atau terkadang disebut arity. Relasi berderajat satu (hanya memiliki satu atribut) disebut unary. Relasi yang berderajat dua disebut binary dan relasi yang berderajat tiga disebut ternary. Relasi yang berderajat n disebut n-ary. Istilah lainnya yang terdapat pada model relaisional adalah domain. Domain adalah himpunan nilai yang berlaku bagi suatu atribut.
d. Key (Atribut Kunci)
Penggunaan key merupakan cara untuk membedakan suatu entitas dalam himpunan entitas dengan entitas lain. Secara konsep, masing-masing entitas memiliki nilai yang berbeda, perbedaannya terlihat pada isi masing-masing atributnya. Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris dalam relasi secara unik. Dalam RDBMS, key terbagi menjadi beberapa jenis yaitu: primary key, foreign key, candidate key, super key, alternate key dan composite key.
1) Primary key (kunci primer), merupakan sebuah aturan dimana fungsinya adalah untuk membedakan anatara baris satu dengan baris lainnya yang ada pada tabel dan bersifat unik. Ada ketentuan yang harus diperhatikan ketika field yang menjadi primary key yakni, yaitu data tidak boleh sama atau ganda (unik) dan data tidak boleh bernilai null
2) Foreign key (kunci tamu), merupakan suatu atribut untuk melengkapi hubungan yang menunjukan ke induknya, itu artinya field pada tabel merupakan kunci tamu dari tabel lain. Dan biasanya penggunaan foreign key akan sangat dibutuhkan ketika menemukan banyak tabel dan ingin menghubungkan satu tabel dengan tabel lainnya.
3) Super key (kunci super), merupakan satu atau lebih atribut (kumpulan atribut) yang dapat membedakan setiap baris data dalam table secara unik.
4) Candidate key (kunci kandidat), merupakan suatu atribut ataupun super key yang mengidentifikasi secara unik untuk kejadian spesifik dari entitas.
5) Composite key (kunci gabungan), merupakan kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas.
6) Alternative key (kunci alternatif),merupakan candidate key yang tidak dipilih sebagai primary key.
7) Sekunder key (kunci sekunder) adalah sebuah atribut atau kombinasi yang digunakan hanya untuk tujuan pengambilan data.
source: modul pppk informatika Pembelajaran 2. Rekayasa Perangkat Lunak, kembdikbud.
Baca Juga
Komentar
Posting Komentar