Bentuk Normalisasi Status Kunci · Contents Normalisasi Bentuk Normalisasi Dependency Status Kunci...
Transcript of Bentuk Normalisasi Status Kunci · Contents Normalisasi Bentuk Normalisasi Dependency Status Kunci...
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
2
Normalisasi (Normalize) merupakan salah satu cara pendekatan atau teknik yang digunakan dalam membangun disain logik basis data relation dengan menerapkan sejumlah aturan dan kriteria standar.
Tujuan Normalisasi : menghasilkan struktur tabel yang normal atau baik.
Teknik Normalisasi : upaya agar disain lojik tabel-tabel berada dalam “normal form” yang dapat didefinisikan dengan menggunakan ketergantungan fungsi.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
3
Bentuk Normal : suatu aturan yang dikenakan pada relasi-relasi atau tabel-tabel dalam basis data dan harus dipenuhi oleh relasi atau tabel tersebut pada level-level normalisasi.
Merupakan kumpulan data yang direkam tidak ada keharusan dengan mengikuti suatu format tertentu.
Pada bentuk tidak normal terdapat repeating group, sehingga pada kondisi seperti ini akan menjadi permasalahan dalam memanipulasi data (insert, update, dan delete anomalies).
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
4
Tabel 1.1 Contoh Unnormalize
NIS # Nama Kd_Wali # Nm_Wali Kd_kelas # Nm_kelas
1011401849 Ali 199901 Wawan P-103 Pagi
S-103 Siang
1011451631 Hayfa 199801 Zahra P-103 Pagi
M-101 Malam
S-103 Siang
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
5
Dalam relational database tidak diperkenankan adanya repeating group karena dapat berdampak terjadinya anomalies. Oleh karena itu tahap unormalisasi akan menghasilkan bentuk normal pertama (1st Normal Form) yang dapat didefinisikan sebagai berikut :
Normalisasi kesatu : suatu relasi atau tabel
memenuhi normal kesatu jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal (scalar value) dalam satu baris atau record.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
6
Tabel 1.2 Contoh 1st Normal Form
NIS # Nama Kd_Wali # Nm_Wali Kd_kelas # Nm_kelas
1011401849 Ali 199901 Wawan P-103 Pagi
1011401849 Ali 199901 Wawan S-103 Siang
1011451631 Hayfa 199801 Zahra P-103 Pagi
1011451631 Hayfa 199801 Zahra M-101 Malam
1011451631 Hayfa 199801 Zahra S-103 Siang
Bentuk normalisasi pertama mempunyai ciri : setiap data dibentuk datar atau rata (flat file), data dibentuk dalam satu record demi satu record dan nilai dari field-field berupa “atomik value” artinya berupa nilai yang tidak dapat dibagi-bagi lagi.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
7
Dalam relational database tidak diperkenankan adanya partial functional dependency kepada primary key, karena dapat berdampak terjadinya anomalies. Oleh karena itu tahap normalisasi pertama akan menghasilkan bentuk normal kedua (2nd Normal Form) yang dapat didefinisikan sebagai berikut :
Normalisasi kedua : suatu relasi memenuhi
normal kedua jika dan hanya jika relasi tersebut memenuhi normal pertama dan setiap atribut yang bukan kunci bergantung secara fungsional (FD) kepada kunci utama (primary key).
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
8
Tabel 1.3 Contoh 2nd Normal Form
NIS # Nama Kd_Wali # Nm_Wali
1011401849 Ali 199901 Wawan
1011451631 Hayfa 199801 Zahra
Tabel. Siswa
NIS ## Kd_kelas ##
1011401849 P-103
1011401849 S-103
1011451631 P-103
1011451631 M-101
1011451631 S-103
Kd_kelas # Nm_kelas
P-103 Pagi
S-103 Siang
P-103 Pagi
M-101 Malam
S-103 Siang
Tabel. Kelas
Tabel. Siswa_Kelas
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
9
• Bentuk normal kedua ini mempunyai syarat yaitu bentuk data yang telah memenuhi kriteria bentuk normal kesatu.
• Atribut bukan kunci haruslah bergantung
secara fungsi pada kunci utama (primary key), sehingga untuk membentuk normal kedua haruslah sudah ditentukan kunci-kunci field.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
10
Dalam relational database tidak diperkenankan adanya transitive dependency karena dapat berdampak terjadinya anomalies. Oleh karena itu tahap normalisasi kedua akan menghasilkan bentuk normal ketiga (3rd Normal Form) yang dapat didefinisikan sebagai berikut :
Normalisasi ketiga : suatu relasi memenuhi
normal ketiga jika dan hanya jika relasi tersebut memenuhi normal kedua dan setiap atribut yang bukan kunci tidak mempunyai transitive functional dependency kepada kunci utama (primary key).
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
11
Tabel 1.4 Contoh 3rd Normal Form
NIS # Nama Kd_Wali #
1011401849 Ali 199901
1011451631 Hayfa 199801
Tabel. Siswa
NIS ## Kd_kelas ##
1011401849 P-103
1011401849 S-103
1011451631 P-103
1011451631 M-101
1011451631 S-103
Kd_kelas # Nm_kelas
P-103 Pagi
S-103 Siang
P-103 Pagi
M-101 Malam
S-103 Siang
Tabel. Kelas
Tabel. Siswa_Kelas
Kd_Wali # Nm_Wali
199901 Wawan
199801 Zahra
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
12
• Bentuk normal ketiga ini relasi haruslah dalam bentuk normal kedua dan semua atribut bukan kunci utama tidak punya hubungan transitif.
• Artinya setiap atribut bukan kunci harus bergantung hanya pada primary key secara keseluruhan, danbbentuk normalisasi ketiga sudah didapat tabel yang optimal.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
13
Ketergantungan (Dependency) merupakan konsep yang mendasari normalisasi.
Dependency menjalankan hubungan antara atribut
atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya.
Dependency akan mencari acuan untuk
pendekomposisian data ke dalam bentuk yang paling efisien.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
14
Adalah suatu kondisi dimana satu atribut atau beberapa atribut dari suatu relasi yang keberadaannya bergantung pada atribut lain.
Suatu atribut Y mempunyai ketergantungan
fungsional terhadap atribut X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y.
Definisi di atas biasanya dituangkan dalam bentuk
notasi : X Y artinya : X secara fungsional tergantung Y Y secara fungsional menentukan X
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
15
Tabel 1.5 Fungsional Dependency
Kd_Pemasok Kota Kd_Barang Jumlah
S101 Tangerang C101 50
S102 Jakarta C102 100
• Sebagai keterangan mengenai notasi di atas bahwa yang sebelah kiri notasi disebut determinant, sedangkan bagian sebelah kanan disebut dependent. Relasi ini mengandung Kd_Pemasok, Kota, Barang, dan Jumlah.
• Artinya Kd_Pemasok secara fungsional menentukan kota, telah terlihat bahwa untuk Kd_pemasok yang sama dan Kota juga sama, sehingga Kd_Pemasok Kota.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
16
Adalah ketergantungan secara fungsional suatu atribut kepada atribut lainnya melalui atribut yang lain pula.
Misalkan ; R adalah relasi yang memiliki 3 (tiga)
atribut A, B, dan C yang mempunyai ketergantungan fungsional.
A B B C artinya : FD disebut Transitive FD C tergantung kepada A secara transitive melalui B
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
17
Tabel 1.6 Dependency Transitive
Kd_Pemasok Kd_Kota Kota Kd_Barang Jumlah
S101 K101 Tangerang C101 50
S102 K102 Jakarta C102 100
• Pada relasi di atas terdapat ketergantungan transitif antara Kd_Pem Kd_Kota dan Kd_Kota Kota, sehingga dapat dinotasikan :
Kd_Pem Kd_Kota Kota
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
18
Terjadi apabila suatu relasi terdapat terlalu banyak set FD, maka dapat dilakukan penghapusan trivial dependency, misalkan ada relasi sebagai berikut :
Tabel 1.7 Dependency Trivial
Kd_Pemasok Kota Kd_Barang Jumlah
S101 Tangerang C101 50
S102 Jakarta C102 100
Suatu trivial FD jika dan hanya jika bagian sebelah kanan dari set FD adalah suatu subset dari bagian sebelah kiri, maka himpunan tersebut ditulis sbb :
{Kd_Pemasok, Kd_barang} Kd_Pemasok. Sebaliknya, non trivial FD adalah FD yang bukan trivial,
dan yang sebetulnya adalah bentuk integrity rules/constraints (aturan-aturan integritas)
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
19
Kunci (key) adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik, artinya jika suatu atribut dijadikan sebagai key, maka tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk atribut tersebut.
Key yang diterapkan pada suatu tabel dan dapat
dibedakan menjadi beberapa macam kunci sbb :
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
20
Adalah satu atribut atau kumpulan atribut yang secara unik untuk mengidentifikasikan sebuah record di dalam relasi atau himpunan dari satu atau lebih entitas.
Super key dapat digunakan untuk
mengidentifikasikan secara unik sebuah entitas. Misalkan dalam tabel matakuliah yang merupakan
super key adalah KODE_MK, NAMA_MK, dan SKS.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
21
Kunci calon (candidat key) suatu set atribut dari sebuah entitas yang memiliki nilai unik.
Biasanya salah satu dari atribut di dalam
suatu relasi mempunyai nilai yang unik. Salah satu dari candidate key tersebut
dapat dijadikan sebagai primary key.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
22
Candidate key juga merupakan salah satu atribut yang mengidentifikasi secara unik suatu kejadian spesifik dari entitas.
Misalkan dalam tabel matakuliah yang
merupakan candidate key adalah KODE_MK dan NAMA_MK dan tabel mahasiswa : NIM dan NAMA_MAHASISWA
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
23
Kunci utama (primary key) adalah candidate key dalam suatu relation yang dipilih salah satu menjadi primary key atau nilai atribut yang unik dan dipakai untuk membedakan satu kolom (tuple) dengan yang lainnya.
Primary key juga merupakan atribut yang tidak
mengidentifikasi secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entitas.
Misalnya dalam tabel matakuliah yang
merupakan primary key adalah KODE_MK.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
24
Kunci tamu (foreign key) adalah satu atau sejumlah atribut yang melengkapi suatu relationship (hubungan yang menunjukkan ke induknya).
Foreign key ditempatkan pada entitas anak dan sama dengan primary key induk direlasikan.
Hubungan antara entitas induk dengan anak adalah hubungan satu lawan banyak (one to many). Misalnya dalam tabel mahasiswa yang merupakan primary key adalah NIM.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
25
Untuk membedakan antara super key, primary key, foreign key dan candidate key dapat dilihat di gambar 1.1
NIM # Nm_Siswa Alamat J_Kel
XXX XXX XXX XXX
Tabel. Mahasiswa
Kode_MK # NIM ## Nama_MK SKS
XXX XXX XXX XXX
Tabel. Matakuliah
Gambar 1.1 Status Key
NIM #
Nm_Siswa Alamat J_Kel
Kode_MK # NIM ##
Nama_MK SKS
Mahasiswa Matakuliah
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
26
Kunci tamu (foreign key) dari tabel Matakuliah adalah NIM, karena akan berhubungan dengan tabel Mahasiswa. Primary key untuk tabel Matakuliah adalah Kode_MK karena unik. Sedangkan candidate key pada tabel Matakuliah adalah NIM dan Kode_MK, karena unik dan menunjukkan hubungan dengan tabel Mahasiswa.
Hubungan entitas Mahasiswa dengan Matakuliah adalah banyak ke banyak (many to many), dengan pengertian bahwa satu mahasiswa mempunyai lebih dari 1 (satu) nilai dan 1 (satu) Matakuliah dipunyai oleh beberapa mahasiswa.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
27
Untuk menunjukkan hubungan tersebut, maka dipakai file konektor yang berisi kunci tamu dari kedua file (mahasiswa dan matakuliah), sehingga tabel Mahasiswa_Matakuliah berisi atribut Kode_MK, NIM, dan Nilai.
Hubungan banyak ke banyak secara jelas dapat dilihat pada gambar 1.2
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
28
NIM #
Nm_Siswa Alamat J_Kel
Kode_MK # NIM ##
Nama_MK SKS
Mahasiswa Matakuliah
Kode_MK ## NIM ##
Nilai
NIM # Nm_Siswa Alamat J_Kel
XXX XXX XXX XXX
Tabel. Mahasiswa
Kode_MK # NIM ## Nama_MK SKS
XXX XXX XXX XXX
Tabel. Matakuliah
NIM ## Kode_MK ## Nilai
XXX XXX XXX
Tabel. Nilai
Gambar 1.2 Dekomposisi Many to Many
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
29
adalah satu proses pemecahan suatu tabel menjadi beberapa tabel yang lebih kecil, pengertian dari dekomposisi tersebut bukan berarti spesialisasi.
Karena keduanya mempunyai perbedaan, kalau
spesialisasi memecah tabel secara horisontal sedangkan dekomposisi memecah tabel secara vertikal.
Jika akan menguji spesialisasi tidak diperlukan uji
lossless maka data tidak akan hilang, sedangkan dekomposisi harus dilakukan uji lossless karena jika tidak dilakukan akan terjadi lossy atau kehilangan data.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
30
Dekomposisi Aman (Lossless Join Decomposition) adalah jika dilakukan dekomposisi atau penguraian tabel, maka dekomposisinya harus dijamin aman.
Dekomposisi yang benar adalah jika tabel-tabel
hasil dekomposisi itu digabungkan kembali maka dapat menghasilkan tabel awal sebelum dilakukan dekomposisi, sehingga proses dekomposisi tidak menyebabkan hilangnya informasi yang ada.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
31
Misalkan sebuah tabel ABC yang mempunyai 2 (dua) set FD sbb : A B dan B C.
Tabel 1.8 tabel ABC
A B C
A1 100 C1
A2 200 C2
A3 300 C3
Sesuai FD yang telah ditentukan, maka tabel awal tersebut di dekomposisikan menjadi 2 (dua) tabel baru yaitu tabel AB dan tabel BC.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
32
Tabel 1.9 tabel AB
A B
A1 100
A2 200
A3 300
Bila terdapat kedua tabel baru di atas dilakukan proses join (natural), maka akan diperoleh kembali tabel awal.
Dengan demikian proses dekomposisi telah dilakukan dengan benar atau aman (tidak ada informasi yang hilang)
B C
100 C1
200 C2
300 C3
Tabel 1.10 tabel BC
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
33
adalah suatu proses pada basis data yang tidak memberikan efek samping (misal menyebabkan ketidakkonsistenan data atau membuat sesuatu data menjadi hilang ketika data lain dihapus).
Anomali pada basis data dibedakan
menjadi 3, yaitu :
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
34
Terjadi apabila ada perubahan pada sejumlah data yang mubazir pada suatu tabel tetapi tidak seluruhnya diubah.
contoh :
1. Anomali Peremajaan (Update)
Pemasok Kota Barang Jumlah
Kartika Jakarta Monitor 100
Citra Bandung Printer 500
Chandra Semarang Keyboard 550
Citra Bandung Mouse 250
Tabel 1.11 Pesanan_Beli
Pada contoh tabel Pesanan_Beli terjadi anomali peremajaaan, seandainya pemasok Citra pindah ke Bogor, dan perubahan hanya dilakukan pada baris kedua, dan baris keempat tidak dilakukan perubahan, maka hal ini menyebabkan adanya data tidak konsisten.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
35
Terjadi apabila pada saat penambahan hendak dilakukan, ternyata ada elemen data yang masih kosong, dan elemen data tersebut justru menjadi kunci.
contoh :
2. Anomali Penyisipan (Insert)
Kuliah Ruang Tempat
Jaringan Komputer R/901 Gedung R
Basis Data L/601 Gedung L
Sistem Pakar J/403 Gedung J
Tabel 1.12 Kuliah_Ruang
Pada contoh tabel Kuliah_Ruang terjadi anomali penyisipan, seandainya pemasok Citra pindah ke Bogor, dan perubahan hanya dilakukan pada baris kedua, dan baris keempat tidak dilakukan perubahan, maka hal ini menyebabkan adanya data tidak konsisten.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi
36
Terjadi apabila suatu baris (record) yang tidak terpakai dihapus, dsb akibat ada data lainnya yang hilang.
contoh :
3. Anomali Penghapusan (Delete)
NIS Nama Kursus Biaya
1011 Bahasa Inggris 60.000
1012 Bahasa Perancis 70.000
1012 Bahasa Inggris 60.000
1013 Bahas Jepang 75.000
Tabel 1.13 Tabel Kursus
Pada contoh tabel Kursus terjadi anomali penghapusan, apabila data dengan NIS : 1012 yang mengambil kursus bahasa Perancis dihapus, maka data yang menyatakan biaya sebesar 70.000 juga akan terhapus, padahal data tsb masih diperlukan.
Contents
Normalisasi
Bentuk
Normalisasi
Dependency
Status Kunci
(Key)
Dekomposisi