Normalisasi (normalize) merupakan salah satu cara pendekatan atau teknik yang digunakan dalam membangun desain logic database relation dengan menerapakan sejumlah aturan dan kriteria standard. Tujuan dari normalisasi adalah untuk menghasilakan struktur tabel yang normal atau baik. Teknik normalisasi adalah upaya agar desain logik tabel-tabel berada dalam bentuk normal(normal form) yang dapat didefinisikan dengan menggunakan ketergantungan fungsi (functional dependency). Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi atau tabel-tabel dalam database dan harus dipenuhi oleh relasi atau tabel tersebut pada level-level normalisasi. Suatu relasi dikatakan dalam bentuk normal tertentu jika memenuhi kondisi tertentu juga. Beberapa bentuk normalisasi diantaranya adalah bentuk tidak normal (unnormalize), bentuk normal pertama (1NF), bentuk normal kedua (2NF), normal ketiga (3NF), dan seterusnya. Mari saya jelaskan satu-persatu. #1 Bentuk Tidak Normal (unnormalize)Bentuk tidak normal (unnormalized) merupakan kumpulan data yang direkam tidak ada keharusan dengan mengikuti suatu format tertentu. Pada bentuk tidak normal terdapat repeating group (Pengulangan Group), sehingga pada kondisi ini data menjadi permasalahan dalam melakukan manipulasi data (insert, update, dan delete) atau biasa disebut anomali. Contoh: #2. Normal Pertama (1 NF)Dalam relational database tidak diperkenankan adanya repeating group karena dapat berdampak terjadinya anomali. Oleh karena itu tahap unnormal akan menghasilkan bentuk normal tahap pertama (1 NF) yang dapat di definisikan sebagai berikut: Normal pertama (1 NF), suatu relasi atau tabel memenuhi normal pertama jika dan hanya jika setiap setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dalam satu baris (record). Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti ganda dan tidak ada set atribut yang berulang-ulang atau atribut bernilai ganda. Pada data tabel sebelumnya data belum normal sehingga harus diubah kedalam bentuk normal pertama dengan cara membuat baris berisi kolom jumlah yang sama dan setiap kolom hanya mengandung satu nilai. Berikut perubahannya: Bentuk normalisasi pertama (1 NF) ini mempunyai ciri yaitu setiap data dibentuk file datar atau rata (flat file), data dibentuk dalam satu record demi satu record dan nilai-nilai dari field-field berupa nilai yang tidak dapat dibagi-bagi lagi. #3. Normal Kedua (2 NF)Dalam perancangan database relational tidak diperkenankan adalah partial functional dependency kepada primary key, karena dapat berdampak terjadinya anomali. Oleh karena itu tahap normalisasi pertama akan menghasilkan bentuk normal kedua (2 NF) yang dapat didefinisikan sebagai berikut: Normalisasi kedua (2 NF), suatu relasi memenuhi relasi kedua jika dan hanya jika relasi tersebut memenuhi normal pertama dan setiap atribut yang bukan kunci (non key) bergantung secara fungsional terhadap kunci utama (Primary key). Berikut perubahannya: Bentuk normal kedua ini mempunyai syarat yaitu bentuk data yang telah memenuhi kriteria bentuk normal pertama. Atribut bukan kunci haruslah bergantung secara fungsional pada kunci utama (primary key), sehingga untuk membentuk normal kedua haruslah sudah ditentukan kunci-kunci field. #4. Normal Ketiga (3 NF)Dalam perancangan database relational tidak diperkenankan adanya transitive dependency karena dapat berdampak terjadinya anomali. Oleh karena itu harus dilakukan normalisasi tahap ketiga (3 NF) yang dapat didefinisikan sebagai berikut: Normalisasi ketiga (3 NF), suatu relasi memenuhi normal ketiga jika dan hanya jika relasi tersebut memenuhi normal kedua dan setiap atribut bukan kunci (non key) tidak mempunyai transitive functional dependency kepada kunci utama (primary key). Berikut perubahannya: Bentuk normal ketiga (3 NF) ini relasi haruslah dalam bentuk normal kedua dan semua atribut bukan kunci utama tidak punya hubungan transitif. Artinya setiap atribut bukan kunci harus bergantung hanya pada primary key secara keseluruhan, dan bentuk normalisasi ketiga sudah didapat tabel yang optimal. KESIMPULANPembahasan kali ini adalah tentang bagaimana melakukan normalisasi data beserta aturannya. Tujuan dari normalisasi adalah untuk menghasilakan struktur tabel yang normal atau baik. Normalisasi data berfungsi untuk meminimalisir redudansi data dan mencegah anomali. Normalisasi dimulai dari tahap tidak normal (unnormalized), bentuk normal pertama (1 NF), bentuk normal kedua (2 NF), dan seterusnya sampai didapatkan struktur tabel yang normal. Dapatkan diskon 75% paket hosting dan gratis domain + extra diskon 5% dengan menggunakan kupon: MFIKRIOrder Sekarang.! Download EBook Sistem Basis Data PDFUnknown | 7:32 AM | IT
Normalisasi database merupakan suatu pendekatan sistematis untuk meminimalkan redundansi data pada suatu database agar database tersebut dapat bekerja dengan optimal. Jika anda seorang database administrator ketika terjadi sesuatu pada database seperti penurunan kinerja, mungkin anda akan ditanya apakah database tersebut telah di normalisasi? Fungsi Normalisasi Database Pada ilmu database atau basis data, normalisasi digunakan untuk menghindari terjadinya berbagai anomali data dan tidak konsistensinya data. Ini merupakan funsi secara umum. Dalam beberapa kasus normalisasi ini sangat penting untuk menunjang kinerja database dan memastikan bahwa data dalam database tersebut aman dan tidak terjadi kesalahan jika mendapat perintah SQL terutama DML yaitu update, insert, dan delete. Perlu diketahui dalam beberapa kasus Normalisasi database terkadang harus diubah menjadi bentuk denormalisasi, terutama untuk data yang telah besar dan membengkak. Denormalisasi ini ditujukan untuk meningkatkan performance dengan meletakkan beberapa field menjadi satu tabel sehingga mudah di tarik. Denormalisasi ini sering digunakan untuk menarik data yang besar dari database. Tujuan Normalisasi Database Tujuan normalisasi database adalah untuk menghilangkan dan mengurangi redudansi data dan tujuan yang kedua adalah memastikan dependensi data (Data berada pada tabel yang tepat). Jika data dalam database tersebut belum di normalisasi maka akan terjadi 3 kemungkinan yang akan merugikan sistem secara keseluruhan.
Normalisasi Database Normalisasi Database terdiri dari banyak bentuk, dalam ilmu basis data ada setidaknya 9 bentuk normalisasi yang ada yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF. Namun dalam prakteknya dalam dunia industri bentuk normalisasi ini yang paling sering digunakan ada sekitar 5 bentuk. Normal Form Data yang direkam dan dimasukkan secara mentah dalam suatu tabel pada bentuk ini sangat mungkin terjadi inkonsistensi dan anomali data Contoh Normal Form Contoh normal form Pada bentuk ini ada beberapa ciri ciri yang penting, yang pertama adalah akan terjadi anomali dalam insert, update, dan delete. Hal ini menyebabkan beberapa Fungsi DML di MYSQL tidak dapat berjalan dengan baik. Sebagai contoh jika ingin menghapus penerbit maka data judul buku akan ikut terhapus begitu juga jika ingin menghapus peminjam, maka data penerbit dan buku yang harusnya tidak terhapus akan ikut hilang. First Normal Form (1NF) Bentuk normal yang pertama atau 1NF mensyaratkan beberapa kondisi dalam sebuah database, berikut adalah fungsi dari bentuk normal pertama ini.
Contoh Normalisasi Database 1NF Normalisasi Database 1NF Pada intinya bentuk normalisasi 1NF ini mengelompokkan beberapa tipe data atau kelompok data yang sejenis agar dapat dipisahkan sehingga anomali data dapat di atasi. Contoh adalah ketika kita ingin menghapus, mengupdate, atau menambahkan data peminjam, maka kita tidak bersinggungan dengan data buku atau data penerbit. Sehingga inkonsistensi data dapat mulai di jaga. Second normal form (2NF) Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk dalam 1NF, berikut adalah beberapa fungsi normalisasi 2NF.
Contoh normalisasi database bentuk 2NF Contoh Normalisasi Database 2NF Contoh di atas kita menggunakan tabel bantuan yaitu tabel transaksi, pada intinya bentu kedua ini adalah tidak boleh ada field yang berhubungan dengan field lainnya secara fungsional. Contoh Judul Buku tergantung dengan id_Buku sehingga dalam bentuk 2NF judul buku dapat di hilangkan karena telah memiliki tabel master tersendiri. Third Normal Form (3NF) Normalisasi database dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau field yang tidak berhubungan dengan primary key. Dengan demikian tidak ada ketergantungan transitif pada setiap kandidat key. Syarat dari bentuk normal ketiga atau 3NF adalah :
Contoh Normalisasi Database Bentuk 3NF Tidak semua kasus atau tabel dapat kita sesuaikan dengan berbagai bentuk normalisasi ini, untuk contoh 3NF kita akan mengambil contoh dari tabel order. Normalisasi Database Bentuk 3NF Pada tabel pertama di atas, apakah semua kolom sepenuhnya tergantung pada primary key? tentu tidak, hanya saja ada satu field yaitu total yang bergantung pada harga dan jumlah, total dapat dihasilkan dengan mengalikan harga dan jumlah. Bentuk 3NF dalam tabel di atas dapat dilakukan dengan membuang field Total. Bentuk SQL
SELECT
ORDERID, HARGA, JUMLAH, TOTAL Menjadi
SELECT ORDERID,
HARGA*JUMLAH AS TOTAL BCNF Boyce–Codd normal form Merupakan sebuah teknik normalisasi database yang sering disebut 3.5NF, memiliki hubungan yang sangat erat dengan bentuk 3NF. Pada dasarnya adalah untuk menghandle anomali dan overlooping yang tidak dapat di handle dalam bentuk 3NF. Normalisasi database bentuk ini tergantung dari kasus yang disediakan, tidak semua tabel wajib di normalisasi dalam bentuk BCNF. |