Definisi Normalisasi
Normalisasi diartikan sebagai suatu teknik yang menstrukturkan atau mendekomposisi atau memecah data menggunakan cara-cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data. Permasalahan yang dimaksud adalah berkaitan dengan penyimpangan- penyimpangan (anomalies) yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi pengolahan.Proses normalisasi akan menghasilkan relasi yang optimal, yaitu :
- Memiliki struktur record yang mudah untuk dimengerti.
- Memiliki struktur record yang sederhana dalam pemeliharaan.
- Memiliki struktur record yang mudah untuk ditampilkan kembali untuk memenuhi kebutuhan pemakai.
- Minimalisasi kerangkapan data guna meningkatkan kinerja sistem.
Dalam pendekatan normalisasi, perancangan basis data bertitik tolak dari situasi nyata. Ia telah memiliki item-item data yang siap ditempatkan dalam baris dan kolom pada tabel-tabel relasional. Demikian juga dengan sejumlah aturan tentang keterhubungan antara item-item data tersebut. Sementara pendekatan model data ER lebih tepat dilakukan jika yang diketahui baru prinsip sistem secara keseluruhan.
Pada penerapannya dua pendekatan tersebut dilakukan secara bersama-sama dan, berganti-ganti. Untuk kepentingan evaluasi dan dokumentasi, hasil normalisasi diwujudkan dalam sebuah model data. Model data yang sudah jadi tersebut bisa saja dimodifikasi dengan pertimbangan tertentu. Selanjutnya Hasil modifikasinya diimplementasikan dalam bentuk sejumlah struktur tabel dalam sebuah basis data. Struktur ini dapat diuji kembali dengan menerapkan aturan-aturan normalisasi, hingga akhirnya diperoleh sebuah struktur basis data yang benar-benar efektif dan efisien. Begitulah kedua pendekatan dapat saling memperkuat satu sama lain.
Domain dan Tipe Data Konsep pendukung teknik normalisasi
Beberapa konsep yang harus dipahami sebelum mengimplementasikan teknik normalisasi data antara lain ialah: 1) ketergantungan fungsional (sudah dibahas dalam kegiatan belajar tujuh). 2) Domain dan tipe data. 3) Konsep key atribut (Field/atribute kunci).
Penetapan tipe data pada setiap atribut (kolom) digunakan untuk keperluan penentuan struktur setiap tabel. Penetapan tipe data ini akan berimplikasi pada adanya batas–batas nilai yang mungkin disimpan atau diisikan kesetiap atribut tersebut. Jika telah menetapkan bahwa tipe data untuk sebuah atribut adalah integer, maka kita hanya mungkin untuk menyimpan data angka yang bulat diantara -32.768 hingga 32.768. Pengguna tidak mungkin untuk memasukkan data diluar batas nilai tersebut. untuk memasukkan data pecahan pengguna harus menggunakan data nbertipe string atau text.
Domain memiliki banyak kesamaan pengertiannya dengan fungsi tipe data tersebut. Akan tetapi, tipe data merujuk pada kemampuan penyimpanan data yang mungkin bagi suatu atribut secara fisik, tanpa melihat layak tidaknya data tersebut bila dilihat dari kenyataannya pemakaiannya. Sementara domain nilai lebih ditetapkan pada batas-batas nilai yang diperbolehkan bagi suatu atribut, dilihat dari kenyataanya yang ada.
Key Attribute
Setiap file atau tabel selalu mempunyai kunci (key) yaitu berupa satu field atau satu set field yang dapat mewakili record. Misalnya nomor pegawai merupakan kunci dari tabel pegawai suatu perusahaan. setiap pencarian cukup dengan menyebut nomor pegawai tersebut maka dapat diketahui nama, alamat dan atribute lainnya mengenai seorang pegawai tersebut.Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam table secara unik.Macam-macam Filed/attribute kunci:
- Candidate Key (Kunci Kandidat/Kunci calon )
- Primary Key (Kunci Primer)
- Alternate Key (Kunci Alternatif)
- Foreign Key (Kunci Tamu)
Misalnya tabel Pegawai berisi attribute:No Induk Pegawai (NIP) , No KTP, Nama, Tempat Lahir, Tanggal Lahir, Alamat, KotaKunci kandidat disini antara lain ialah :
- No Induk Pegawai (NIP), karena unik tidak mungkin ganda.
- No KTP, karena unik tidak mungkin ganda.
- Nama, sering dipakai sebagai kunci pencarian namun tidak dapat dikatakan kunci karena sering seseorang punya nama yang sama.
- Nama + Tanggal lahir, mungkin dapat dipakai sebagai kunci karena kemungkinan sangat kecil seseorang punya nama sama yang lahir pada hari yang sama.
- Nama + tempat lahir + tanggal lahir, dapat dipakai sebagai kunci
- Alamat, kota (bukan kunci)
Primary Key adalah satu atribute atau satu set minimal atribute yang tidak hanya mengidentitikasi secara unik suatu kejadian spesific, tapi juga dapat mewakili setiap kejadian dari suatu entity. Setiap kunci kandidat punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yang ada. Contoh:
- No Induk (NIP), karena unik tidak mungkin ganda dan mewakili secara menyeluruh terhadap entity Pegawai, dan setiap pegawai selalu punya nomor induk.
- No KTP, ini hanya dipakai bila sampai dengan pembayaran gaji pegawai
ternyata nomor induk belum keluar.
Alternate Key (Kunci alternatif)adalah kunci kandidat yang tidak dipakai sebagai primary key. Kerap kali kunci alternatif dipakai sebagai kunci pengurutan dalam laporan.Contoh: Kunci Alternatif untuk pengurutan berdasarkan nama.
Foreign Key (Kunci Tamu/Asing)Foreign Key adalah satu atribute (atau satu set atribute) yang melengkapi satu relationship (hubungan) yang menunjukkan ke induknya. Kunci tamu ditempatkan pada entity anak dan sama dengan kunci primary induk direlasikan. Contoh:
Hubungan antara file tersebut adalah banyak lawan banyak yaitu satu Pegawai
mengerjakan lebih dari 1 proyek dan satu proyek dikerjakan oleh beberap
File Proyek_Pegawai berisi atribute : Nomor Proyek, NIP, Jam Kerja (proyek tersebut dikerjakan oleh pegawai ter-tentu selama sekian jam kerja) Maka pada file Proyek_Pegawai terdapat kunci tamu yaitu Nomor Proyek dan NIP. Kedua atribute tersebut juga merupakan kunci primary.



Tidak ada komentar:
Posting Komentar