RDBMS (Relational Database
Management System)
RDBMS adalah kependekan dari Relational
Database Management System. RDBMS adalah program yang melayani sistem basis
data yang entitas utamanya terdiri dari tabel-tabel yang mempunyai relasi dari
satu tabel ke tabel yang lain.
Suatu database terdiri dari banyak
tabel. Tabel ini terdiri dari banyak field yang merupakan kolomnya. Isi tiap
baris dari tabel inilah merupakan data.
Untuk membuat sistem basis data yang
terintegrasi maka antara satu tabel dengan tabel lain mempunyai hubungan yang
harus selalu diperlihara. Setiap tabel mempunyai sebuah primary key, primary
key ini kemudian dihubungkan dengan tabel kedua dan menjadi foreign key untuk
tabel kedua ini.
Dengan relational database ini maka data
akan secara konsisten disimpan di suatu tabel, kemudian tabel lain yang
membutuhkan data lainnya tinggal menghubungkan melalui foreign key.
Sebagai contoh adalah database kampus
yang terdiri tabel_mahasiswa, tabel_makakuliah dan nilai.
Field dari tabel_mahasiswa adalah NIM, nama, alamat, tanggal lahir dengan
primary_key NIM
Field dari tabel_matakuliah adalah kode_matakuliah, nama_matakuliah, sks dengan
primary_key kode_matakuliah.
Untuk tabel nilai kita hanya perlu field NIM, kode_matakuliah dan nilai. Di
sini NIM dan kode_matakuliah merupakan foreign_key untuk tabel tabel_mahasiswa
dan tabel_matakuliah.
Berbagai macam relasi dalam database
1.
one-to-one
2.
one-to-many
3.
many-to-many
RDBMS akan menjaga agar data-data yang
menjadi kunci relasi yang foreign_key dan primary_key ini merupakan data-data
yang benar-benar berkaitan satu dengan yang lain. Jika ada data yang salah
relasinya, maka RDMBS akan menolak data tersebut. Ini akan memudahkan pembuat
program (software developer) dalam melakukan coding karena dibantu pengecekan
secara otomatis oleh RDBMS.
One-to-one
Satu-ke-satu
Relasi one-to-one merupakan relasi tabel yang jarang
digunakan, relasi ini merelasikan satu data sebuah tabel dengan hanya satu data
dari tabel lainnya. Indikasi untuk menggunakan tipe relasi ini adalah jika
sebuah data memiliki
sebuah subset datatertentu yang menerangkan lebih detil data itu,
dimana subset data ini
tidak dimiliki oleh data tersebut pada umumnya. Sebagai contoh, sebuah product
secara umum memiliki id_produk, nama, harga, jenis. Namun pada tipe
product tertentu seperti buku, memiliki data tambahan seperti penulis,
penerbit, ISBN, tanggal_terbit. Satu data di
tabel product hanya terhubung dengan satu data di tabel buku. Jika digambarkan
seperti di bawah.

One-to-many
Satu-ke-banyak
Relasi one-to-many adalah relasi antar dua tabel dimana satu
data (record) dari Tabel 1 bisa terhubung dengan beberapa record di Tabel 2.
Misalnya penjualan memiliki id_penjualan, tanggal_jual, kasir.
Setiap penjualan bisa terhubung dengan banyak item_penjualan. item_penjualan
memiliki id_item,id_penjualan, id_produk, jumlah, harga_jual. Jika digambarkan seperti:

Many-to-many
Banyak-ke-Banyak
Relasi
many-to-many merupakan relasi yang paling kompleks, karena diperlukan tabel
lain untuk menghubungkan dua tabel data yang saling berkepentingan. Seperti
halnya penjualan bisa terhubung (berkepentingan) dengan banyak product, dan
product bisa terhubungan dengan banyak penjualan. Tabel penjualan dan product
memiliki relasi banyak ke banyak yang dihubungkan oleh tabel item_penjualan.
Contoh lain adalah dosen bisa memiliki banyak mahasiswa dan mahasiswa bisa
memiliki banyak dosen. Relasi banyak ke banyak antara dosen dan mahasiswa
memerlukan tabel lain, sebut saja tabel mahasiswa_dosen. Jika digambarkan
seperti di bawah.

Pengertian
Anomali Data Base
Anomali adalah proses pada basis data yang memberikan
efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan
data atau membuat suatu data menjadi hilang ketika data dihapus)
Macam Anomali terdiri dari
·
Anomali
peremajaan,
·
Anomali
Penghapusan, dan
·
Anomali
penyisipan
Pengertian
Normalisasi Data Base Dan contoh Normalisasi
·
Normalisasi merupakan teknik analisis data yang
mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga
terbentuk entitas yang non-redundant, stabil, dan fleksible
·
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara
berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat
dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa
atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
·
*Pada proses normalisasi terhadap tabel pada database dapat
dilakukan dengan tiga tahap normalisasi antara lain :
·
1. BENTUK TIDAK NORMAL
(UNNORMALIZED FORM)
·
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada
keharusan
·
mengikukti format tertentu, dapat saja data tidak lengkap atau
terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput.
·
Untuk mentransformasikan tabel yang belum ternomalisasi di atas
menjadi tabel yang memenuhi kriteria 1NF adalah kita harus merubah seluruh
atribut yang multivalue menjadi atribut single value, dengan cara menghilangkan
repeating group pada tabel di atas.
·
Repeating Group (elemen data berulang) adalah (No_Property,
Alamat_Property,Tgl_Pinjam, Tgl_Selesai, Biaya, No_Pemilik, Nama_Pemilik)
·
2. BENTUK NORMAL KE SATU (FIRST
NORMAL FORM / 1 NF)
·
Pada tahap ini dilakukan penghilangan beberapa group elemen yang
berulang agar menjadi satu harga tunggal yang berinteraksi di antara
setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data
yang atomic (bersifat atomic value). Atom adalah zat terkecil yang masih
memiliki sifat induknya, bila terpecah lagi maka ia tidak memiliki sifat
induknya.
·
Syarat normal ke satu (1-NF)
antara lain:
·
1. setiap data dibentuk dalam flat file, data dibentuk dalam
satu record demi satu record nilai dari field berupa “atomic value”.
·
2. tidak ada set atribute yang berulang atau bernilai ganda.
·
3. telah ditentukannya primary key untuk tabel / relasi
tersebut.
·
4. tiapatribut hanya memiliki satu pengertian.
·
Langkah pertama yang dilakukan pada Tabel Pelanggan Biaya (pada
Tabel 9.3) tersebut adalah menghilangkan elemen data yang berulang dengan
data-data Pelanggan yang sesuai pada setiap baris. Hasil dari tabel yang
telah memenuhi bentuk normal pertama dapat dilihat pada Tabel 9.4. kita
dapat mengidentifikasi primary key untuk relasi Pelanggan_Biaya yang masih
memiliki composite key (No_Pelanggan, No_Property). Pada kasus ini kita
akan memperoleh primary key yang bersifat composite key. Relasi
Pelanggan_Biaya dapat didefinisikan sebagai berikut. Pelanggan_Biaya
=(No_Pelanggan, No_Property, Nama, Alamat_Property, Tgl_Pinjam, Tgl_Selesai,
Biaya,No_Pemilik, Nama_Pemilik)
·
3. BENTUK NORMAL KE DUA (SECOND NORMAL
FORM / 2 NF)
·
Bentuk normal kedua didasari atas konsep full functional
dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan
sebagai berikut. Jika A adalah atribut-atribut dari suatu relasi, B
dikatakan full functional dependency (memiliki ketergantungan fungsional
terhadap A, tetapi tidak secara tepat memiliki ketergantungan fungsional dari subset
(himpunan bagian) dari A.
·
Syarat normal kedua (2-NF)
sebagai berikut.
·
1. Bentuk data telah memenuhi kriteria bentuk normal kesatu.
·
2. Atribute bukan kunci (non-key) haruslah memiliki
ketergantungan fungsional sepenuhnya (fully functional dependency) pada
kunci utama / primary key.
·
Tabel Tabel Pelanggan Biaya dalam
bentuk normal kedua (2-NF)
·
4. BENTUK NORMAL KE TIGA (THIRD
NORMAL FORM / 3 NF)
·
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari
pada relasi 1-NF, namun relasi tersebut masih mungkin mengalami kendala
bila terjadi anomaly peremajaan (update) terhadap relasi
tersebut. Misalkan kita akan melakukan update terhadap nama dari seorang
Pemilik (pemilik), seperti Durki (No_Pemilik: CO93), kita harus melakukan
update terhadap dua baris dalam relasi Property_Pemilik (lihat Tabel 9.5, (c)
relasi Property_Pemilik). Jika kita hanya mengupdate satu baris saja, sementara
baris yang lainnya tidak, maka data didalam database tersebut akan inkonsisten
/ tidak teratur. Anomaly update ini disebabkan oleh suatu ketergantungan
transitif (transitive dependency). Kita harus menghilangkan ketergantungan
tersebut dengan melakukan normalisasi ketiga (3-NF).
·
Syarat normal ketiga (Third
Normal Form / 3 NF) sebagai berikut.
·
1. Bentuk data telah memenuhi kriteria bentuk normal kedua.
·
2. Atribute bukan kunci (non-key) harus tidak memiliki
ketergantungan transitif, dengan kata lain suatu atribut bukan kunci (non_key)
tidak boleh memiliki ketergantungan fungsional (functional dependency) terhadap
atribut bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi
hanya memiliki ketergantungan fungsional terhadap priamry key di relasi itu
saja.
·
Seluruh atribut non-primary key pada relasi Pelanggan dan Biaya
di atas terlihat memiliki ketergantungan fungsional (functional dependency)
terhadap primary key dari masing-masing tabel / relasi. Relasi / tabel
Pelanggan dan Biaya di atas tidak memiliki ketergantungan transitif
(transitive dependency), sehingga tabel tersebut telah memenuhi
·
kriteria normal ketiga (3-NF). Seluruh atribut non-primary
key pada relasi Property_Pemilik di atas terlihat memiliki ketergantungan
fungsional (functional dependency) terhadap primary key, kecuali
Nama_Pemilik yang masih memiliki ketergantungan fungsional
(functional dependency) terhadap No_Pemilik. Inilah contoh ketergantungan
dari transitif (transitive dependency), yang terjadi ketika atribut
non-primary key (Nama_Pemilik) bergantung secara fungsi terhadap satu atau
lebih atribut non-primary key lainnya (No_Pemilik). Kita harus menghilangkan
ketergantungan transitif (transitive dependency) tersebut
dengan menjadikan relasi Property_Pemilik menjadi 2 relasi / tabel dengan
format / bentuk sebagai berikut.
·
· Relasi / Tabel Property_Untuk_Pemilik yang terdiri dari
atribut-atribut:
·
Alamat_Property, Biaya,
No_PemilikâNo_property
·
{No_property sebagai primary key}
·
· Dan relasi Pemilik yang terdiri dari atribut-atribut:
·
Nama_PemilikâNo_Pemilik
·
{No_Pemilik sebagai primary key}
·
Hasil akhir normalisasi tabel Pelanggan_Biaya sampai ke bentuk
normal ketiga adalah
·
sebagai berikut X� fn[1] `&��%.0pt; font-family:”Calibri”,”sans-serif”;
mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:”Times New Roman”;
mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;}
·
4. BENTUK NORMAL KE TIGA (THIRD
NORMAL FORM / 3 NF)
·
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari
pada relasi 1-NF,
·
namun relasi tersebut masih mungkin mengalami kendala bila
terjadi anomaly
·
peremajaan (update) terhadap relasi tersebut.
·
Misalkan kita akan melakukan update terhadap nama dari seorang
Pemilik (pemilik), seperti Durki (No_Pemilik: CO93), kita harus melakukan
update terhadap dua baris dalam relasi Property_Pemilik (lihat Tabel 9.5, (c)
relasi Property_Pemilik). Jika kita hanya mengupdate satu baris saja, sementara
baris yang lainnya tidak, maka data didalam database tersebut akan inkonsisten
/ tidak teratur. Anomaly update ini disebabkan oleh suatu ketergantungan
transitif (transitive dependency). Kita harus menghilangkan ketergantungan
tersebut dengan melakukan normalisasi ketiga (3-NF).
·
Syarat normal ketiga (Third
Normal Form / 3 NF) sebagai berikut.
·
1. Bentuk data telah memenuhi kriteria bentuk normal kedua.
·
2. Atribute bukan kunci (non-key) harus tidak memiliki
ketergantungan transitif, dengan kata lain suatu atribut bukan kunci (non_key)
tidak boleh memiliki ketergantungan fungsional (functional dependency) terhadap
atribut bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi hanya
memiliki ketergantungan fungsional terhadap priamry key di relasi itu
saja. Seluruh atribut non-primary key pada relasi Pelanggan dan Biaya di
atas terlihat memiliki ketergantungan fungsional (functional dependency)
terhadap primary key dari masing-masing tabel / relasi. Relasi / tabel
Pelanggan dan Biaya di atas tidak memiliki ketergantungan transitif
(transitive dependency), sehingga tabel tersebut telah memenuhi kriteria
normal ketiga (3-NF).
·
Seluruh atribut non-primary key pada relasi Property_Pemilik di
atas terlihat memiliki ketergantungan fungsional (functional dependency)
terhadap primary key, kecuali Nama_Pemilik yang masih memiliki
ketergantungan fungsional (functional dependency) terhadap No_Pemilik.
Inilah contoh ketergantungan dari transitif (transitive dependency), yang
terjadi ketika atribut non-primary key (Nama_Pemilik) bergantung secara
fungsi terhadap satu atau lebih atribut non-primary key lainnya (No_Pemilik).
Kita harus menghilangkan ketergantungan transitif (transitive dependency)
tersebut dengan menjadikan relasi Property_Pemilik menjadi 2 relasi /
tabel dengan format / bentuk sebagai berikut.
·
· Relasi / Tabel Property_Untuk_Pemilik yang terdiri dari
atribut-atribut:
·
Alamat_Property, Biaya,
No_PemilikâNo_property
·
{No_property sebagai primary key}
·
· Dan relasi Pemilik yang terdiri dari atribut-atribut:
·
Nama_PemilikâNo_Pemilik
·
{No_Pemilik sebagai primary key}
·
Hasil akhir normalisasi tabel Pelanggan_Biaya sampai ke bentuk
normal ketiga adalah
·
sebagai berikut:
·
Seluruh atribut bukan kunci pada suatu relasi hanya memiliki
ketergantungan fungsional terhadap primary key di relasi itu saja.
0 komentar:
Posting Komentar