- Pengertian Normalisasi Data.
Normalisasi
merupakan sebuah teknik dalam logical desain sebuah basis data yang mengelompokkan
atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa
redudansi).
Normalisasi adalah
proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa
dihilangkan.
- Proses normalisasi
Data
diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan
tertentu ke beberapa tingkat.
Apabila
tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu
dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang
optimal.
Tahap Normalisasi dimulai dari tahap paling ringan
(1NF) hingga paling ketat (5NF). Biasanya hanya sampai pada tingkat 3NF
atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang
berkualitas baik. Urutan: 1NF, 2NF, 3NF, BCNF, 4NF, 5NF.
Bentuk 1NF (First Normal Form)
Aturan :
Tidak adanya atribut multi-value, atribut
komposit atau kombinasinya.
Mendefinisikan atribut kunci.
Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak
dapat dibagi-bagi lagi).
Bentuk 2NF (Second Normal Form)
Aturan :
Sudah memenuhi dalam bentuk normal kesatu (1NF).
Semua atribut bukan kunci hanya boleh tergantung
(functional dependency) pada atribut kunci.
Jika ada ketergantungan parsial maka
atribut tersebut harus dipisah pada tabel yang lain.
Perlu ada tabel penghubung ataupun kehadiran foreign
key bagi atribut-atribut yang telah dipisah tadi.
Bentuk 3NF (3th Normal Form)
Aturan :
Sudah berada dalam bentuk normal kedua (2NF).
Tidak ada ketergantungan transitif (dimana atribut bukan
kunci tergantung pada atribut bukan kunci lainnya).
Bentuk 4NF (4th Normal Form)
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika
telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari
sebuah multivalued attribute.
Untuk setiap multivalued
dependencies (MVD) juga harus merupakan functional dependencies.
Bentuk 5NF
(5th Normal Form)
Bentuk
normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless
decomposition menjadi tabel-tabel yg lebih kecil.
Jika 4
bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF
dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel
telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan
lagi (join) untuk membentuk tabel semula
- Contoh Penerapan Normalisasi Data.
Untuk
mendapatkan hasil yang paling normal, maka proses normalisasi dimulai dari
normal pertama. Field-field tabel di atas yang merupakan group berulang : NoPegawai, NamaPegawai, Golongan, BesarGaji.
Solusinya
hilangkan duplikasi dengan mencari ketergantungan parsial.menjadikan
field-field menjadi tergantung pada satu atau beberapa field.Karena yang dapat
dijadikan kunci adalah NoProyek dan NoPegawai, maka langkah
kemudian dicari field-field mana yang tergantung padaNoProyek dan mana
yang tergantung pada NoPegawai.
Field-field
yang tergantung pada satu field haruslah dipisah dengan tepat, misalnya NoProyek menjelaskan NamaProyek dan NoPegawaimenjelaskan NamaPegawai, Golongan dan BesarGaji.
Tabel 1
Tabel 2
Pada tabel
diatas masih terdapat masalah, bahwa BesarGaji tergantung kepada Golongan nya. Padahal
disini Golongan bukan merupakan field kunci. Artinya kita harus
memisahkan field non-kunci Golongan danBesarGaji yang tadinya
tergantung secara parsial kepada field kunciNoPegawai, untuk menghilangkan ketergantungan
transitif.
- Pengertian Denormalisasi Data.
Denormalisasi
merupakan proses yang dilakukan pada database yang sudah dinormalisasi, dengan
cara memodifikasi struktur tabel dan mengabaikan kerangkapan data (yang
terkontrol) untuk meningkatkan kinerja database.
Pelanggaran
terhadap Normalisasi, dan ditujukan demi pertimbangan performansi. Cara :
mengendalikan redundansi untuk mengurangi perhitungan, kompleksitas perintah,
& jumlah tabel yang di-Join.Konsekuensi :
Kebutuhan
tambahan ruang penyimpanan.
Proses
manipulasi data lebih lambat.
Denormalisasi
adalah hal mendasar dalam membuat DATAWAREHOUSE
- Tahapan dalam Denormalisasi Data.
Derived
Attribute (Atribut yg terderivasi).
Nilai-nilai
dari atribut ini diolah dari nilai-nilai yang sudah ada pada atribut yang lain
(dari tabel yg sama atau tabel lain).
Digunakan
untuk menghindari proses yang berulang dan memakan waktu.
Atribut yang
berlebihan.
Atribut yang
menyatakan lebih dari satu fakta.
Melanggar
First Normal Form, karena tidak memiliki domain nilai yang unik
Jenis :
Encoded
attribute
Concatenated
Attribute
Overlapping
Attribute
Alternate
Attribute
Summary
Table (tabel rekapitulasi).
Normalisasi
tabel-tabelà Detail.
Laporan
berbentuk Summary (rekapitulasi) merupakan hasil pengolahan dari Kumpulan data Detail.
Makin besar volume
data dan makin banyak tabel yang ter-àJOIN makin lama
waktu diperlukan.
Solusi :
simpan hasil pengolahan dalam tabel khusus.
Contoh
Penerapan Denormalisasi Data.
- Boyce-Codde Method.
Boyce-Codde
Method adalah bentuk normal yang digunakan dalam normalisasi database. Ini
adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). BCNF
dikembangkan pada tahun 1974 oleh Raymond F. Boyce dan Edgar F. Codd untuk
mengatasi beberapa jenis anomali tidak ditangani oleh 3NF.
Dalam Date
(2004), didefinisikan bahwa sebuah relvar berada dalam BCNF bila dan
hanya bila setiap FD yang tidak sepele, tidak dapat dikurangi-sebelah kiri
memiliki sebuah kunci kandidat sebagai determinannya. Contoh solusi untuk relvar SSP
{S#, SNAME, P#, QTY}, menjadi proyeksi.
Dalam
Hariyanto (2004), ketentuan BCNF tercapai apabila masing-masing atribut utama
bergantung fungsional penuh pada masing-masing kunci di mana kunci tersebut
bukan bagiannya. Contoh sebuah relasi sebelum berada dalam BCNF, Kehadiran
{Dosen, Semester, Kuliah, Sesi, Kehadiran}. Diperoleh keterangan bahwa
keterangan di atas dapat dideskripsikan bahwa Kuliah memiliki ketergantungan
fungsional pada Dosen dan Semester; Dosen memiliki ketergantungan fungsional
pada Kuliah dan Semester; Kehadiran memiliki ketergantungan fungsional pada
Dosen, Semester dan Sesi; dan Kehadiran memiliki ketergantungan fungsional pada
Kuliah, Semester dan Sesi. Dengan demikian, diperoleh hasil dekomposisi.
Dalam Philip
(2007), dinyatakan bahwa sebuah relasi berada dalam BCNF jika, dan hanya jika,
setiap kunci kandidat adalah sebuah determinan. Contoh: ORDER (OrderNo,
OrderDate, CustNo, PmtMethod, ItemNo, ItemName, UnitPrice, OrderQty).
- Tahapan dalam Boyce-Codde.
Bentuk BCNF
terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency
Y makaàterhadap
setiap atribut atau gabungan atribut dalam bentuk: X X adalah super
key.
Tabel
tersebut harus di-dekomposisi berdasarkan functional dependencyyang ada,
sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
A, BCNF tidak membolehkan A sebagai bagian
dari primary key.àSetiap
tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk
BCNF . Perbedaannya, untuk functional dependency X
0 komentar:
Posting Komentar