Normalisasi
Bentuk normalisasi adalah suatu aturan yang dikenakan pada tabel-tabel dalam basis data dan harus dipenuhi oleh tabel-tabel tersebut pada level-level normalisasi. Ada macam-macam bentuk normalisasi, diantaranya adalah bentuk tidak normal, bentuk normal pertama, bentuk normal kedua dan bentuk normal ketiga.
Bentuk - bentuk Normalisasi
A. Bentuk tidak normal bentuk ini merupakan kumpulan data yang akan disimpan, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi dan data dikumpulkan apa adanya.
B. Bentuk normal pertama suatu tabel dikatakan dalam bentuk normal pertama (1NF) bila setiap kolom bernilai tunggal untuk setiap baris. Ini berarti bahwa nama kolom yang berulang cukup diwakili oleh sebuah nama kolom (tidak perlu ada indeks dalam memberi nama kolom)
C. Bentuk normal Kedua
- Jika tabel berada dalam bentuk normal pertama, semua kolom bukan kunci primer tergantung sepenuhnya terhadap kunci primer. Suatu kolom disebut tergantung sepenuhnya terhadap kunci primer jika nilai pada suatu kolom selalu bernilai sama untuk suatu nilai kunci primer yang sama. Peraturan ini berlaku bila Anda memiliki kunci primer yang terdiri dari lebih dari satu kolom. Misalnya, Anda memiliki tabel yang berisi kolom berikut, dimana Order ID dan Product ID membentuk kunci primer: Order ID (primary key) Product ID (primary key) Product Name
- Desain ini melanggar bentuk normal kedua, karena Nama Produk tergantung pada Produk ID, tetapi bukan pada ID Pesanan, sehingga tidak tergantung pada seluruh kunci primer. Anda harus menghapus Nama Produk dari table ini. Ini termasuk dalam tabel yang berbeda (Produk).
D. Bentuk normal ketiga Suatu tabel berada dalam bentuk normal ketiga (3NF) jika tabel berada dalam bentuk normal kedua, setiap kolom bukan kunci primer tidak memiliki ketergantungan secara transitif terhadap kunci primer.
- Bentuk normal ketiga tidak hanya mensyaratkan bahwa setiap kolom non-key tergantung pada seluruh kunci primer, tapi kolom non-kunci tsb menjadi independen satu sama lain. Misalnya, Anda memiliki tabel yang berisi kolom berikut: ProductID (primary key) Name suggested retail price / SRP Discount
- Asumsikan bahwa Discount bergantung pada harga eceran yang disarankan/ suggested retail price (SRP). Tabel ini melanggar bentuk normal ketiga karena kolom non-kunci, Discount, bergantung pada kolom lain non-kunci, SRP. Kolom independence berarti bahwa Anda dapat mengubah setiap kolom non-kunci tanpa mempengaruhi setiap kolom lainnya. Jika Anda mengubah nilai dalam kolom SRP, Diskon akan berubah sesuai perubahan pada kolom SRP, sehingga melanggar peraturan itu. Dalam hal ini Diskon harus dipindahkan ke table lain yang mempunyai kunci pada SRP
* Hasil Normalisasi
Kamus Data dari masing-masing relasi tersebut diatas adalah sebagai berikut:
Supllier = { Kode_Supplier, Nama_Supplier }
Barang = { Kode_Barang, Nama_Barang, Harga }
Faktur ={ No Faktur, Kode_Supplier, Tanggal, Jatuh_Tempo }
Transaksi_Barang = { No Faktur, Kode Barang,Qty}
- ERD ( Entity Relationship Diagram)
Tidak ada komentar:
Posting Komentar