NORMALISASI DALAM BASIS DATA

Normalisasi
A. Pengenalan
- Tujuan Normalisasi
o Normalisasi adalah sebuah teknik untuk menghasilkan sekumpulan
hubungan yang cocok dengan property yang menarik yang dapat
mendukung kelengkapan data pada sebuah enterprise
o Karakteristik sekumpulan hubungan yang cocok termasuk
 Jumlah minimal atribut yang dibutuhkan untuk mendukung
kebutuhan data enterprise
 Atribut dengan hubungan yang dekat dengan logika ditemukan
di tabel yang sama
 Minimal redundancy dengan setiap atribut merepresentasikan
hanya satu dengan pengecualian penting atribut yang
membentuk semua atau sebagian foreign key
o Keuntungan menggunakan database yang mempunyai sekumpulan tabel
adalah database akan
 Lebih mudah untuk pengguna untuk mengakses dan menjaga
data
 Mengambil ruang penyimpanan yang minimal pada computer
B. Data Redudancy dan Update Anomalies
- Tujuan utama medesain relasional database berhubungan adalah untuk
mengelompokan atribut menjadi tabel untuk meminimumkan data redundancy
- Keuntungan mengimplementasikan database termasuk:
o Update data disimpan di database akan dicapai dengan jumlah operasi
yang minimal sehingga mengurangi kemungkinan inkonsistensi data
o Pengurangan ruang penyimpan dibutuhkan oleh tabel dasar sehingga
meminimumkan biaya
- Contoh Data Redundancy
o Masalah berhubungan dengan data redundancy diilustrasikan dengan
membandingkan tabel Staff dan Branch dengan tabel StaffBranch
Modul Jurusan Statistika Angkatan 57 Semester IV
Pengurus Angkatan STIS 57
Divisi Akademik
 Tabel StaffBranch mempunyai redundant data; detail dari cabang
diulangi untuk setiap anggota staff yang bekerja di cabang
tersebut
 Sebaliknya, informasi cabang ditampilkan hanya sekali untuk
setiap cabang pada tabel Branch dan hanya nomor cabang
(BranchNo) yang diulangi di tabel Staff, untuk merepresentasi
dimana setiap anggota bekerja
- Update Anomali
o Tabel yang memiliki informasi berlebihan berpotensi terkena update
anomaly
o Contoh update Anomali
 Insertion
 Untuk memasukan staff baru di cabang B007, kita juga
harus memasukan detail data pada cabang
 Untuk memasukan cabang baru yang tidak punya
anggota menggunakan null
 Deletion
 Jika SA9 dihapus, B007 juga dihapus dari database
 Modification
 Untuk memperbarui alamat B003, kita harus
memperbarui kolom semua staff yang bekerja disana
C. Ketergantungan Fungsional
- Konsep penting yang berhubungan dengan normalisasi
- Ketergantungan fungsional mendeskripsikan hubungan antara atribut
- Contoh
o Jika A dan B adalah atribut dari tabel R
o B bergantung fungsional kepada A (dinotasikan dengan A→B)
o Jika setiap nilai di A di R berhubungan dengan satu nilai B di R
- Karakteristik Ketergantungan Fungsional
o Property dari meaning atau semantic atribut di tabel
o Representasi diagram
o Determinant dari ketergantungan fungsional referensi dari atribut atau
grup berada di sebelah kiri panah
- Contoh Ketergantungan Fungsional
o Contoh
Nim →nama [yes]
Alamat → kodepos [yes]
Nama→ Nim [no]
Kodepos → alamat [no]
- Karakteristik dari Ketergantungan fungsional
o Determinan seharusnya mempunyai jumlah atribut yang minimal yang
dibutuhkan untuk menjaga ketergantungan fungsional dengan atribut
yang di arah kanan panah
o Persyaratan ini disebut full functional dependency
o Full functional dependency mengindikasikan bahwa
 Jika A dan B adalah atribut dari tabel
Modul Jurusan Statistika Angkatan 57 Semester IV
Pengurus Angkatan STIS 57
Divisi Akademik
 B secara penuh fungsional tergantung pada A, jika B secara
fungsional bergantung pada A
 Tetapi tidak pada subset A
o A bergantung fungsional A →B secara full functional dependency jika
menghapus atribut dari hasil A jika ketergantungan tidak ada
o A bergantung fungsional A→B secara parsial jika terdapat beberapa
atribut yang bisa dihapus dari A dan tidak bergantung
o Contoh
 Tabel staff mempunyai
staffNo, sName →branchNo
 Apakah Full functional Dependency
 Benar, setiap nilai dari staffNo dan sName berhubungan
dengan nilai dari branchNo
 Tetapi branchNo secara fungsional bergantung pada
subset dari staffNo,sName, dinamakan staffNo
 Contoh diatas termasuk ketergantungan parsial
- Karakteristik (Full) Functional Dependencies
o Karakteristik utama yang digunakan di normalisasi
 Terdapat hubungan satu-satu antara atribut yang berada di kiri
panah( determinant) dan kanan panah pada functional
dependencies
 Menahan sepanjang waktu
 Determinant mempunyai jumlah minimal atribut yang
dibutuhkan untuk menjaga ketergantungan dengan atribut di
sebelah kanan
- Mengidentifikasi Functional Dependencies
o Mengidentifikasi semua functional dependencies antara sekumpulan
atribut cukup mudah
 Jika makna dari setiap atribut dan hubungan antara atribut
mudah dimengerti
o Informasi ini seharusnya disediakan oleh enterprise dalam bentuk diskusi
dengan pengguna dan atau dokumentasi seperti persyaratan spesifikasi
pengguna
o Tetapi, jika pengguna tidak bisa berkonsultasi dan atau dokumen tidak
komplit kemudan tergantung pada aplikasi database itu mungkin
dibutuhkan untuk database designer untuk menggunakan pengalaman
mereka untuk menyediakan informasi yang hilang
D. Aturan Inferensial untul ketergantungan fungsional
- Lebih lanjut tentang Functional Dependencies
o Sekumpulan functional Dependencies yang komplit untuk sebuah tabel
bisa sangat besar
o Penting untuk menemukan cara yang bisa mengurangi sekumpulan
ukuran yang bisa diatur
o Biarkan A,B,C menjadi subset atribut dari tabel R
 Setiap A,B,C bisa menjadi atribut di R
o Armstrong’s axioms adalah sebagai berikut:
 Reflexivity : Jika B adalah subset dari A Kemudian A-> B
 Augmentation: Jika A-> B Kemudian A,C->B,C
 Transivity : Jika A->B dan B->C Kemudian A->C
o Aturan selanjutnya bisa diturunkan dari ketiga aturan
Modul Jurusan Statistika Angkatan 57 Semester IV
Pengurus Angkatan STIS 57
Divisi Akademik
o Biarkan D menjadi subset atribut lainnya di R, kemudian :
 Reflexivity
 Augmentation
 Transivity
 Self-
determination
 Decomposition
 Union
 Composition
- Transitive Dependecies
o Penting untuk mengetahui transitive dependencies karena kehadirannya
di tabel kemungkinan disebabkan oleh update anomaly
o Transitive dependency mendeskripsikan sebuah kondisi dimana A,B,C
adalah atribut sebuah tabel seperti
 Jika A→B dan B→C,
 Kemudian C adalah transitive dependent pada A melalui B
 (membuktikan bahwa A tidak secara fungsional bergantung pada
B atau C)
o Contoh1
 Pertimbangan functional dependencies di tabel StaffBranch
 staffNo→sName,position,salary,branchNo,bAddress
 branchNo→bAddress
 Transitive dependency, branchNo→bAddress ada pada staffNo
melalui branchNo
E. Ketergantungan Fungsional dan Primary Key
- Mengidentifikasi Primary Key untuk Tabel menggunak Functional Dependencies
o Tujuan utama mengidentifikasi sekumpulan functional dependencies
untuk sebuah tabel adalah untuk menspesifikasikan sekumpulan batasan
integritas yang harus ditahan pada tabel
o Sebuah batasan integritas yang penting untuk dipertimbangkan pertama
adalah mengidentifikasi Candidate Key, dimana salah satunya dipilih
untuk menjadi Primary Key tabel
o Tabel StaffBranch mempunyai 5 functional dependencies
 staffNo →sName,position,salary,branchNo,bAddress
 branchNo→bAddress
 bAddress→branchNo
 branchNo,position → salary
 bAddress,position → salary
o determinannya adalah staffNo, branchNo, bAddress, (branchNo,position)
dan (bAddress, position)
o Untuk mengidentifikasi semua Candidate Key, identifikasi atribut(atau
sekumpulan atribut) yang secara unik mengidentifikasi setiap kolam di
tabel
o Semua atribut yang tidak menjadi bagian Candidate Key seharusnya
menjadi functional dependent kepada Key
o Satu Candidate Key dan kemudian menjadi Primary Key untuk tabel
StaffBranch adalah staffNo, semua atribut lainnya pada tabel menjadi
functional dependent terhadap staffNo
 staffNo →sName,position,salary,branchNo,bAddress
o Contoh
 Tabel sampel mempunyai 4 functional dependencies
 A→C
 C→A
 B → D
 A,B → E
 Determinant pada tabel Sampel adalah A,B,C dan (A,B). Tetapi
salah satu determinan yang secara fungsional menentukan semua
bagian atribut adalah (A,B)
 (A,B) teridentifikasi menjadi Primary Key untuk tabel ini
Modul Jurusan Statistika Angkatan 57 Semester IV
Pengurus Angkatan STIS 57
Divisi Akademik
F. Proses Normalisasi
- Teknik formal untuk menganalisis tabel berdasarkan Primary Keynya (atau
Candidate key) dan functional dependencies antara atribut dari tabel
- Sering dieksekusi sebagai rangkaian langkah
- Setiap langkah berkoresponden ke sebuah bentuk normal, yang disebut properties
- Saat normalisasi berjalan, tabel menjadi :
o Dengan progress lebih ketat (kuat) dalam format dan
o Mengurangi vulnerable untuk update anomaly
- Unnormalized Form (UNF)
o Table yang memiliki satu atau lebih kelompok yang berulang
o Untuk membuat sebuah tabel unnormalized, ubah data dari sumber
informasi menjadi format tabel dengan kolom dan baris
- UNF ke 1NF
o Nominasi sebuah atribut atau sekelompok atribut untuk beraksi sebagai
kunci pada tabel unnormalized
o Mengidentifikasi kelompok yang berulang di tabel unnormalized yang
mengulangi untuk atribut kunci
o Menghapus kelompok yang berulang dengan memasukan data yang
sesuai di kolom yang kosong
o Atau menghapus kelompok yang berulang dengan menempatkan data
berulang bersama dengan salinan atribut key nya di tabel yang berbeda
- First Normal Form (1NF)
o Sebuah tabel yang berpotong setiap baris dan kolom terdiri satu dan
hanya satu nilai
- Permasalahan di 1NF
o Termasuk data redundancy yang signifikan
o Subjek untuk upadate anomaly
o Sehingga, muncul 2NF
- Second Normal Form (2NF)
o Berdasarkan pada konsep full functional dependency
o Full functional dependency mengindikasikan jika
 Atribut A dan B pada sebuah tabel
 B semuanya bergantung pada A jika B adalah fungsional
bergantung pada A tetapi tidak pada subset A
o Sebuah tabel di 1NF dan setiap atribut non-primary-key adalah
semuanya functionally dependent pada Primary Key
 Sehingga 2NF digunakan pada tabel dengan composite Key
 Sehingga, sebuah tabel dengan atribut primary key tunggal
secara otomatis berada 2NF
- 1NF ke 2NF
o Identifikasi Primary Key pada tabel 1NF
o Identifikasi functional dependencies pada tabel
o Jika partial dependencies ada pada Primary Key, hapus mereka dengan
menempatkan mereka pada tabel baru beserta salinan determinant
mereka
- Permasalahan pada 2NF
o Masih terdapat kemungkinan dari update anomaly
- Third Normal Form (3NF)
o Sebuah tabel yang berada di 1NF dan 2NF dan dimana tidak terdapat
atribut non-primary-key adalah transitively dependent pada Primary key
- 2NF ke 3 NF
o Identifikasi Primary Key pada tabel 2NF
o Identifikasi functional dependencies pada tabel
o Jika transitive dependencies ada pada primary key, hapus mereka dengan
menempatkan mereka pada tabel baru dengan salinan determinant
mereka
- Definisi Umum 2NF ke 3NF
Modul Jurusan Statistika Angkatan 57 Semester IV
Pengurus Angkatan STIS 57
Divisi Akademik
o 2NF : Sebuah tabel pada 1NF dan setiap atribut non-primary-key adalah
secara penuh functionally dependent pada candidate key
o 3NF : Sebuah tabel pada 1NF dan 2NF dan tidak ada atribut non-
primary-key yang transitively dependent pada setiap candidate key
G. Alat Dekomposisi
Dua peralatan penting pada dekomposisi
- Lossless-join property yang memudahkan kita untuk menemukan satu instansi
pada tabel asli dari instansi koresponden di tabel yang lebih kecil
- Dependency preservation property
o Memudahkan kita untuk memaksa batasan pada tabel asli dengan
memaksa beberapa batasan di setiap tabel yang lebih kecil
o Jika sebuah dekomposisi bukan dependency-preserving, kemudian,
dependency tersebut kehilangan dekomposisi

Komentar

Postingan populer dari blog ini

LAPORAN PRAKTIKUM KIMIA UJI NYALA API UNSUR ALKALI DAN ALKALI TANAH

LAPORAN PRAKTIKUM KIMIA ELEKTROLISIS LARUTAN KI

LAPORAN PRAKTIKUM BIOLOGI UJI MAKANAN