Bentuk Tidak Normal Dalam Database ( Unnormalized Form )
Dalam sebuah teknik normalisasi kita mengenal beberapa bentuk form,penulis kali ini akan coba mengulas salah satu teknik normalisasi, yakni bentuk tidak normal atau Unnormalized Form dalam sebuah database. Unnormalized Form adalah suatu kondisi dimana sebuah tabel yang memiliki rangkap atau data yang terduplikasi. Dalam perancangan sebuah database yang baik, hal ini tentunya akan mengurangi efisiensi.
Bentuk Tidak normal atau Unnormalized Form ini sebenarnya adalah kumpulan data data mentah yang dimasukkan semua dalam satu tabel yang sama (tidak dipecah ke tabel lain). Data tersebut di input dengan apa adanya dan tidak dipilah sesuai dengan jenisnya.
berikut Studi Kasus Bentuk tidak normal atau Unnormalized Form :
nim | nama | dosen | smt1 | smt2 | smt3 |
---|---|---|---|---|---|
19761976 | diden | Andi | PBD | PTIK | PTIK |
19771977 | kuswendi | Rian | PBD | LSA |
Terlihat dari tabel diatas, bahwa Nim,nama,dosen mengikuti tiga matakuliah/smt. dan terlihat ada perulangan kelas sebanyak 3 kali.
ONRMALISASI DATA 1NF, 2NF, 3NF
Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible.
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
A.Suatu rancangan database disebut buruk jika :
- Data yang sama tersimpan di beberapa tempat (file atau record)
- Ketidakmampuan untuk menghasilkan informasi tertentu
- Terjadi kehilangan informasi
- Terjadi adanya redudansi (pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan saat proses updating data
- Timbul adanya NULL VALUE.
- Kehilangan informasi bisa terjadi bila pada waktu merancang database (melakukan proses dekomposisi yang keliru).
B.Tujuan normalisasi adalah menyempurnakan struktur table dengan:
- mengeliminasi adanya duplikasi informasi,
- memudahkan pengubahan struktur tabel,
- memperkecil pengaruh perubahan struktur database,dll.
D.Bentuk normalisasi yang sering digunakan adalah 1NF, 2NF, dan 3NF:
- 2NF adalah lebih baik dari 1NF; 3NF adalah lebih baik dari 2NF.
- Untuk kepentingan rancangan database bisnis, 3NF adalah bentuk terbaik dalam proses normalisasi (sudah mencukupi).
- Normalisasi dengan level paling tinggi tidak selalu diharapkan.
- Jadi normalisasi dilakukan, sepanjang dirasa sudah cukup normal (dengan mengikuti pra-syarat normalisasi diatas)
Normalisasi 1NF:
- Merubah dari bentuk tabel tidak normal (unnormalized table) menjadi bentuk normal pertama (1NF).
- Suatu relation R disebut 1st NF jika dan hanya jika semua attribute value-nya simple/atomic (tidak boleh ada attribute yang composit & multivalue)
Tujuan 1NF adalah:
- Membuang adanya pengulangan (Redudansi) data,
- Menghindari adanya pencatatan Null Value, dan
- Menjaga setiap entry data dr relasi (perpotongan bariskolom) memiliki maksimal satu nilai tunggal.
- Beberapa table dapat mengandung partial depedency
Contoh 1NF:
- Suatu format tabel yang dikenal sehari-hari :
- Bentuk UnNormalize : (redudancy pada alamat)
- Bentuk Normal 1NF & 2NF :
Normalisasi 2NF:
Pada tahap ini dilakukan penghilangan beberapa group elemen yang berulang agar menjadi satu harga tunggal yang berinteraksi di antara setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data yang atomic (bersifat atomic value).
Normal Form (2NF):
- Sudah dalam bentuk / lolos 1NF.
- Dibuat berdasarkan FULL FUNCTIONAL DEPENDENCY (ketergantungan fungsional penuh)
- Normalisasi 2NF: jika tabel berada dalam bentuk normal pertama (1NF) dan setiap atribut bukan kunci (bukan PK) bergantung penuh (FULL DEPENDENT) pada kunci primer (PK). Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci primer.
Contoh 2NF:
- Suatu format tabel Normal I (1NF) : (menghilangkan redudansi)
- Bentuk Normal II (2NF) : (decompose)
Contoh 2NF: (Penjelasan)
- Suatu format tabel Normal I (1NF) : (menghilangkan redudansi)
Normalisasi 3NF
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF, namun relasi tersebut masih mungkin mengalami kendala bila terjadi anomaly peremajaan (update) terhadap relasi tersebut. Jika kita hanya mengupdate satu baris saja, sementara baris yang lainnya tidak, maka data didalam database tersebut akan inkonsisten / tidak teratur. Anomaly update ini disebabkan oleh suatu ketergantungan transitif (transitive dependency). Kita harus menghilangkan ketergantungan tersebut dengan melakukan normalisasi ketiga (3-NF).
Normal Form (3NF):
- Suatu relasi R disebut normal ke tiga (3rd NF) jika sudah memenuhi dalam bentuk normal ke dua (2nd NF) dan tidak dijumpai adanya ketergantungan TRANSITIF (Transitive Dependency).
- Kebergantungan transitif (transitive dependency) adalah ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci/PK).
- Syarat 3NF:
Harus berada dalam bentuk normal ke dua (2NF).
Ketergantungan field-field yang bukan PK adalah harus secara mutlak (full-dependent). Artinya harus tidak ada transitive dependency (ketergantungan secara transitif).
Contoh 3NF:
- Bentuk Normal ke Dua (2NF) :
Tabel di samping sudah masuk dalam bentuk Normal 2. Akan tetapi kita lihat bahwa field. Nama dan Nilai adalah fulldependent terhadap NRP yang bertindak sebagai PK. Berbeda dengan field. Keterangan di atas yang dependent kepada NRP akan tetapi tidak mutlak. Ia
lebih dekat ketergantungannya dengan field Nilai. Karena field Nilai dependent kepada NRP dan field Keterangan dependent kepada Nilai, maka field Keterangan juga dependant kepada NRP. Ketergantungan yang demikian ini yang dinamakan transitive-dependent (dependent secara transitif atau samar/tidak langsung). Untuk itu dilakukan normalisasi 3 (3NF).
- Bentuk Normal ke Tiga (3NF) :
Contoh Lain 3NF:
- Tabel Bentuk Normal ke dua (2NF) , dengan ketergantungan fungsional pada tanda panah:
Pada tabel diatas, kita lihat terdapat ketergantungan transitif, yaitu wilayah yang secara fungsional bergantung pada Nama_Sales, sedang Nama_Sales bergantung pada No_Pelanggan. Sehingga terdapat beberapa anomali pembaharuan pada relasi Penjualan diatas:
– Anomali Penyisipan (Insert): Pada saat memasukkan data nama sales baru, maka data No_Pelanggan dan data lain juga harus dimasukkan.
– Anomali Penghapusan (Delete): Pada saat dilakukan penghapusan No_Pelanggan = 2522, maka informasi tentang nama sales juga akan ikut terhapus.
– Anomali Modifikasi (Update): Pada saat dilakukan update data nama sales, maka harus dilakukan peng-update-an pada semua baris (row) pada tabel, hal ini sangat tidak efisien.
Boyce-Codde Method
merupakan bentuk normal yang digunakan dalam normalisasi database. Ini adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). Suatu relasi yang memenuhi BCNF selalu memenuhi 3 NF, tetapi tidak untuk sebaliknya. Suatu relasi yang memenuhi 3 NF belum tentu memenuhi BCNF. Karena bentuk 3 NF masih memungkinkan terjadi anomali.
gambarnya tidak muncul
BalasHapus