Normalisasi file adalah suatu proses pengelompokan elemen data ke dalam tabel yang menyatakan hubungan antar entitas sehingga terwujud suatu bentuk yang memudahkan adanya perubahan dengan dampak terkecil. Proses pada pengolahan data yang mengakibatkan efek samping yang tidak diharapkan sering disebut dengan istilah anomali yang dapat terjadi akibat inserting, updating atau deleting. Oleh karena itulah diperlukan normalisasi file. Adapun teknik penyusunan normalisasi file adalah dengan menentukan hal-hal sebagai berikut:
KUNCI ATRIBUT
Setiap file selalu mempunyai kunci berupa satu field atau satu set field yang dapat mewakili record. Sebagai contoh pada tabel barang terdapat field kunci berupa kode barang yang mewakili nama barang, harga barang, jumlah barang dan sebagainya.
KUNCI KANDIDAT (CANDIDATE KEY)
Kunci kandidat adalah satu atribut atau satu set minimal atribut yang mengidentifikasi secara unik suatu kejadian spesifik dari entiti. Jika kunci kandidat berisi lebih dari satu atribut, maka biasanya disebut sebagai kunci gabungan (Composite Key).
KUNCI PRIMER (PRIMARY KEY)
Kunci primer adalah satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian spesifik tetapi juga dapat mewakili setiap kejadian dari suatu entiti. Setiap kunci kandidat mempunyai peluang untuk menjadi kunci primer, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entiti yang ada. Contohnya adalah NIM, sifatnya unik dan tidak mungkin ganda dan mewakili secara menyeluruh terhadap entiti mahasiswa dan setiap mahasiswa selalu memiliki NIM. Selain itu kita harus melihat juga fungsi No KTP, ini dapat digunakan bila sampai suatu saat mahasiswa harus memiliki Kartu Tanda Mahasiswa tetapi NIM belum keluar maka No KTP dapat digunakan.
KUNCI ALTERNATIF (ALTERNATE KEY)
Kunci alternatif adalah kunci kandidat yang tidak dipakai sebagai kunci primer. Biasanya kunci ini digunakan sebagai kunci pengurutan data saja, misalnya dalam pembuatan laporan.
KUNCI TAMU (FOREIGN KEY)
Kunci tamu adalah satu atribut (atau satu set atribut) yang melengkapi satu hubungan yang menunjukkan ke tabel induknya. Kunci tamu biasanya ditempatkan pada entiti anak dan sama dengan kunci primer induk yang direlasikan. Hubungan antara entiti induk dengan anak adalah (biasanya) hubungan satu ke banyak (one to many).
BENTUK-BENTUK NORMALISASI
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 dikumpulkan apa adanya sesuai dengan bentuk asalnya.
BENTUK NORMAL KESATU (1NF)
Bentuk normal kesatu mempunyai ciri yaitu setiap data dibentuk dalam flat file, data dibentuk record demi record dan nilai tiap field berupa “Atomic Value”. Tidak ada set atribut yang terduplikasi (multi value). Contoh data dapat dilihat pada tabel di bawah ini :
Kode Dokter Nama Dokter Spesialisasi Nama Pasien
D1 Bashri Kandungan Rini
D1 Bashri Kandungan Santi
D2 Andarini Kulit Shanti
D2 Andarini Kulit Anwar
D3 Irawan Mata Wijaya
BENTUK NORMAL KEDUA
Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi syarat normal kesatu. Atribut bukan kunci harus bergantung secara fungsional pada kunci primer sehingga untuk membentuk normal kedua haruslah ditentukan kunci-kunci field dan kunci-kunci itu arus unik dan dapat mewakili atribut lain yang menjadi anggotanya. Contoh data terlihat pada tabel di bawah ini:
Kode Dokter Nama Dokter Spesialisasi
D1 Bashri Kandungan
D2 Andarini Kulit
D3 Irawan Mata
Kode Dokter Nama Pasien
D1 Rini
D1 Santi
D2 Shanti
D2 Anwar
D3 Wijaya
BENTUK NORMAL KETIGA
Syarat bentuk normal ketiga adalah data telah memenuhi syarat normal kedua dan semua atribut yang bukan kunci primer tidak mempunyai hubungan transitif. Dengan kata lain, setiap atribut bukan kunci harus bergantung hanya pada kunci primer secara meyeluruh. Contoh data terlihat pada tabel berikut ini.
KodeDkt NamaDkt KodePsn NamaPsn No KodeObt NamaObt
D1 Bashri P1 Shanti 1 OB01 Refagan
D1 Bashri P1 Shanti 2 OB02 Panadol
D1 Bashri P1 Shanti 3 OB03 Balpirix
D2 Andarini P2 Anwar 1 OB02 Panadol
D2 Andarini P2 Anwar 2 OB03 Balpirix
D3 Irawan P3 Wijaya 1 OB02 Panadol
D3 Irawan P3 Wijaya 2 OB03 Balpirix
KodeObt NamaObt
OB01 Refagan
OB02 Panadol
OB03 Balpirix
Dengan asumsi tabel pasien telah dipecah berarti bentuk normal kedua telah terpenuhi, maka sekarang tinggal memecah tabel obat yang datanya masih terduplikasi.
Jika diamati lebih seksama, nomor urut di kolom 5 tidak dapat dijadikan sebagai kunci field, karena ketika terjadi diagnosa berikutnya nomor urut obat akan terduplikasi (kembali menjadi 1, 2, 3 dan seterusnya). Oleh karena itu nomor rekam medis diperlukan di tabel resep (menjadi tabel detail)
Cara membuat normalisasi file:
1. UNNORMAL
tulis semua field dari semua tabel dalam database seperti apa adanya
2. NORMAL 1
tulis semua field dari semua tabel dalam database, kecuali field index primer dari
masing-masing tabel jangan ditulis dua kali dan berilah tanda *.
3. NORMAL 2
tulis dan pisahkan masing-masing field dalam tabel kecuali tabel transaksi (disatukan)
dan berilah tanda relasinya.
4. NORMAL 3
tulis dan pisahkan masing-masing field dalam tabel berikut dipisahkannya tabel
transaksi dan berilah tanda relasinya.