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.
- INSERT Anomali : Situasi dimana tidak memungkinkan memasukkan beberapa jenis data secara langsung di database.
- DELETE Anomali: Penghapusan data yang tidak sesuai dengan yang diharapkan, artinya data yang harusnya tidak terhapus mungkin ikut terhapus.
- UPDATE Anomali: Situasi dimana nilai yang diubah menyebabkan inkonsistensi database, dalam artian data yang diubah tidak sesuai dengan yang diperintahkan atau yang diinginkan.
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.
- Menghilangkan duplikasi kolom dari tabel yang sama.
- Buat tabel terpisah untuk masing-masing kelompok data terkait dan mengidentifikasi setiap baris dengan kolom yang unik (primary key).
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.
- Menghapus beberapa subset data yang ada pada tabel dan menempatkan mereka pada tabel terpisah.
- Menciptakan hubungan antara tabel baru dan tabel lama dengan menciptakan foreign key.
- Tidak ada atribut dalam tabel yang secara fungsional bergantung pada candidate key tabel tersebut.
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 :
- Memenuhi semua persyaratan dari bentuk normal kedua.
- Menghapus kolom yang tidak tergantung pada primary key.
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
FROM ORDER
FROM ORDER
Menjadi
SELECT ORDERID,
HARGA*JUMLAH AS TOTAL
FROM ORDER
FROM ORDER
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.
No comments:
Post a Comment