NORMALISASI DATA
1. Definisi
Normalisasi
adalah suatu proses memperbaiki/membangun data dengan model data relasional
dansecara umum lebih tepat di koneksikan dengan data model logical.
Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi
atau file untuk menyatakan entitas dan hubungan mereka, sehingga terwujud satu
bentuk basis data yang mudah untuk di modifikasi
Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok atribut
yang memiliki ketergantungan sangat tinggi antara satu atribut dengan aribut
lainnya.
Normalisasi bisa di sebut juga sebagai proses pengolompokan atribut-atribut
dari suatu relasi sehingga membentuk “Well Stuructured Relation”.
Well
Stuructured Relation adalah sebuah relasi yang kerangkapan datanya sedikit
(Minimum Amount Of Redudancy), serta memberikan kemungkinan bagi pemakai untuk
melakukan insert, Delete, Modify terhadap baris-baris data pada relasi
tersebu,yang tidak berakibat terjadinya error atau inconsistency data yang
disebabkan oleh operasi-operasiyang di berikan oleh pemakai.
2. Tujuan
dilakukan normalisasi
Adapun tujuan dilakukan normalisasi yaitu :
1) Database akan mudah untuk diakses dan
dikelola,
2) akan menghemat space/ruang dalam komputer
karena update data yang disimpan dalam database dilakukan
dengan operasi yang minimum dan menghindari reduncancy data, dan ini juga berarti
menghemat ‘cost’,
3) menghindari problem-problem update
anomalies terhadap data yang disimpan dalam database sehingga terhindar dari
inkonsistensi data.
4) menghilangkan kerangkapan pada data/
redudansi.
5) mengurangi kompleksitas
6) mempermudah pemodifikasian data
7) menghilangkan anomali data
3. Functional denpendensy
Functional
Dependency (FD) ialah suatu ketergantungan relasi yang terjadi antara atribut
dlam tabel atau set entity dengan atribut lain. FD menggambarkan suatu
relationship/ hubungan, batasan, keterkaitan diantara atribut dlam relasi.
Basis data yang baik hanya terdapat 1
ketergantungan fungsional dalam 1 entity/label, disebut dengan Basis Data
Normal. Simbol yang digunakan dalam FD adalah à , yang artinya secara
fungsional menentukan.
Notasi Dalam FD
1. Notasi FD: A => B
Maksudnya yaitu A dan B adalah atribut dari
suatu tabel. Jadi secara fungsional A menentkan B atau B tergantung dari A,
jika dan hanya jika ada 2 basis data dengan nilai yag sama maka nilai B juga
akan sama.
2. Notasi: A X=> B
Artinya yaitu kebalikan dari notasi
sebelumnya.
Contoh:
Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka, sehingga terwujud satu bentuk basis data yang mudah untuk di modifikasi
Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok atribut yang memiliki ketergantungan sangat tinggi antara satu atribut dengan aribut lainnya.
Normalisasi bisa di sebut juga sebagai proses pengolompokan atribut-atribut dari suatu relasi sehingga membentuk “Well Stuructured Relation”.
Well Stuructured Relation adalah sebuah relasi yang kerangkapan datanya sedikit (Minimum Amount Of Redudancy), serta memberikan kemungkinan bagi pemakai untuk melakukan insert, Delete, Modify terhadap baris-baris data pada relasi tersebu,yang tidak berakibat terjadinya error atau inconsistency data yang disebabkan oleh operasi-operasiyang di berikan oleh pemakai.
5) mengurangi kompleksitas
6) mempermudah pemodifikasian data
7) menghilangkan anomali data
NamaKul
|
Nrp
|
NamaMhs
|
NiHuruf
|
Struktur Data
|
12345
|
Nuril Utami
|
A
|
Struktur Data
|
12346
|
Sekar Sari
|
B
|
Basis Data
|
12345
|
Nuril Utami
|
B
|
Basis Data
|
12346
|
Sekar Sari
|
A
|
Keterangan dari FD diatas:
1. Nrp => NamaMhs
Karena untuk setiap nilai Nrp ynag sama, maka
nilai NamaMhs juga akan sama.
2. {NamaKul, Nrp} => NiHuruf
Karena atribut Nihuruf tergantng pada NamaKul
dan Nrp secara bersama-sama. Atau NamaKul & Nrp ynag sama, mka NiHuruf juga
akan sama, sebab NamaKul dan Nrp merupakan key yang bersifat unik.
3. NamaKul X => Nrp
4. Nrp => NiHuruf
Jenis- jenis
Dependency
1.Full functional Dependency
Yaitu jika ada atribut A dan B
dalam suatu relasi, dimana B memiliki keterantungan fungsional secara penuh
terhadap A dan B bukan memiliki dependensi terhadap subset A.
2. Partially Dependency
Yaitu jika terdapat beberapa
atribut yang dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan
dan B memiliki dependensi terhadap subset A.
3. Transitive Dependency
Yaitu dimana A,B, C adalah
atribut dari sebuah relasi A=> B dan B => C, jadi bisa dikatakan kalau C
sebagai transitive dependency terhadap A melalui B.
Aturan-aturan dalam Ketergantungan Fungsional
Jika A, B , C merupakan himpunan atribut pada
sebuah relasi R, ada beberapa sifat yang disebut Axioma Amstrong (sifat-sifat untk
normalisasi) , yaitu:
*Aksioma Reflexity: Jika B merupakan bagian
subset A, maka A => B.
* Aksioma Augmentasi: Jika A => B, maka AC
=> BC.
*Aksioma Transitifity: Jika A => B dan B
=> C, maka A => C .
Dari aturan-aturan diatas dapat dibuat
aturan-aturan turunan sebagai berikut:
Union: Jika A => B dan A => C, maka A
=> BC,
Dekomposisi: Jika A => BC , maka A => B
dan A => C,
Peseudo Transitifity: Jika A => B dan BC
=> D, maka AC => D,
4. Bentuk-Bentuk normalisasi beserta contohnya
Bentuk normal suatu relasi bisa sampai ke tingkat lima 5NF, yaitu 1NF – 2NF –
3NF/BCNF – 4NF – 5NF.Tetapi secara praktik dalam dunia nyata, relasi dalam
suatu database sudah dibilang baik kalau sudah mencapai 3NF (bentuk normal
ketiga).
1) Normal
Form
Data
yang direkam dan dimasukkan secara mentah dalam suatu tabel pada bentuk ini
sangat mungkin terjadi inkonsistensi dan anomali data.
Pada bentuk ini ada beberapa ciri ciri yang
penting, yang pertama adalah akan terjadi anomali dalam insert, update, dan
delete. Hal ini menyebabkan beberapa fungsi DML dalam SQL tidak dapat
berjalan dengan baik. Sebagai contoh jika ingin menghapus penerbit maka data
judul buku akan ikut terhapus begitu juga jika ingin menghapus peminjam, maka
data penerbit dan buku yang harusnya tidak terhapus akan ikut hilang.
2) Normal Form (1NF)
Bentuk
normal yang pertama atau 1NF mensyaratkan beberapa kondisi dalam sebuah
database, berikut adalah fungsi dari bentuk normal pertama ini.
Menghilangkan duplikasi kolom dari tabel yang
sama.
Buat tabel terpisah untuk masing-masing
kelompok data terkait dan mengidentifikasi setiap baris dengan kolom yang unik
(primary key).
Pada intinya bentuk normalisasi 1NF ini
mengelompokkan beberapa tipe data atau kelompok data yang sejenis agar dapat
dipisahkan sehingga anomali data dapat di atasi. Contoh adalah ketika kita
ingin menghapus, mengupdate, atau menambahkan data peminjam, maka kita tidak
bersinggungan dengan data buku atau data penerbit. Sehingga inkonsistensi data
dapat mulai di jaga.
3) Second
normal form (2NF)
Syarat untuk
menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk dalam 1NF,
berikut adalah beberapa fungsi normalisasi 2NF.
Menghapus beberapa subset data yang ada pada
tabel dan menempatkan mereka pada tabel terpisah.
Menciptakan hubungan antara tabel baru dan
tabel lama dengan menciptakan foreign key.
Tidak ada atribut dalam tabel yang secara
fungsional bergantung pada candidate key tabel tersebut. Pada intinya bentu
kedua ini adalah tidak boleh ada field yang berhubungan dengan field lainnya
secara fungsional. Contoh Judul Buku tergantung dengan id_Buku sehingga dalam
bentuk 2NF judul buku dapat di hilangkan karena telah memiliki tabel master
tersendiri.
4) Third Normal Form (3NF)
Normalisasi database
dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau field yang
tidak berhubungan dengan primary key. Dengan demikian tidak ada ketergantungan
transitif pada setiap kandidat key. Syarat dari bentuk normal ketiga atau 3NF
adalah :
Memenuhi semua persyaratan dari bentuk normal
kedua.
Menghapus kolom yang tidak tergantung pada
primary key.
Contoh Normalisasi Database Bentuk 3NF.
Bentuk SQL
SELECT ORDERID, HARGA, JUMLAH, TOTAL
FROM ORDER
FROM ORDER
Menjadi
SELECT ORDERID, HARGA*JUMLAH AS TOTAL
FROM ORDER
FROM ORDER
BCNF Boyce–Codd normal form
Merupakan sebuah teknik normalisasi database
yang sering disebut 3.5NF, memiliki hubungan yang sangat erat dengan bentuk
3NF. Pada dasarnya adalah untuk menghandle anomali dan overlooping yang tidak
dapat di handle dalam bentuk 3NF. Normalisasi database bentuk ini tergantung
dari kasus yang disediakan, tidak semua tabel wajib di normalisasi dalam bentuk
BCNF.
Tidak ada komentar:
Posting Komentar