A. Dasar Teori
Proses Normalisasi merupakan proses pengelompokan data elemen menjadi tabel – tabel yang menunjukkan entity dan relasinya. Proses Normalisasi juga bisa diartikan sebagai proses untuk menciptakan suatu tabel (relasi) dalam basis data dengan tujuan untuk mengurangi kemubaziran.
Pada proses normalisasi selalu diuji pada beberapa kondisi. Apakah ada kesulitan pada saat menambah/insert, menghapus/delete, mengubah/update, membaca/retrieve pada suatu database. Bila ada kesulitan pada pengujian tersebut maka relasi tersebut dipecahkan pada beberapa table lagi atau dengan kata lain perancangan berjumlah mendapat database yang optimal.
Pada normalisasi dikenal istilah anomali yang berarti masalah-masalah yang timbul dalam pembuatan tabel. Anomali adalah proses pada basis data yang mempunyai efek samping yang tidak diharapkan. Misal : ketidak konsistenan data, suatu data hilang pada saat dihapus, dll.
Sebelum mengenal lebih jauh mengenai normalisasi, ada beberapa konsep yang harus diketahui terlebih dahulu yaitu :
a. Atribut Tabel (Table Attribute)
Atribut yang sebenarnya identik dengan pemakaian istilah kolom data. Istilah atribut ini lebih umum digunakan dalam perancangan basis data, karena kata itu lebih impresif menunjukkan fungsinya sebagai pembentuk karakteristik yang melekat pada sebuah tabel.
Disamping penamaan yang unik berdasarkan fungsinya disetiap tabel, atribut – atribut itu dapat dibedakan berdasarkan sejumlah pengelompokan. Ada atribut yang dijadikan sebagai key dan yang lainnya disebut atribut deskriptif. Ada pula atribut yang tergolong atribut sederhana ataupun atribut komposit, dan sebagainya.
Key dan Atribut Deskriptif
Setiap file selalu terdapat kunci dari dari file 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 antribut lainnya mengenai seorang pegawai tersebut.
Ada tiga macam key yang dapat diterapkan pada suatu tabel, yaitu :
1. Superkey : merupakan satu atau lebih atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
2. Candidate Key : merupakan sekumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Sebuah candidate-key tidak boleh berisi atribut atau kumpulan atribut yang telah menjadi superkey yang lain.
3. Primary Key : merupakan satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entitas.
Atribut Deskriptif adalah atribut – atribut yang tidak menjadi key atau merupakan atribut yang merupakan anggota dari primary key.
b. Ketergantungan Fungsional (Functional Dependency)
Definisi dari functional dependency adalah :
Diberikan sebuah relasi R, atribut Y dari R adalah bergantung fungsi pada atribut X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat Continue reading →