Apa itu Normalisasi?
Penemuan Model Relasional oleh Edgar Codd mengusulkan teori normalisasi data dengan diperkenalkannya bentuk Normal Pertama, dan ia terus memperluas teori dengan bentuk Normal Kedua dan Ketiga. Kemudian ia bergabung dengan Raymond F. Boyce untuk mengembangkan teori Boyce-Codd Normal Form (BCNF).
Database Normal Form
- 1NF (Bentuk Normal Pertama)
- 2NF (Bentuk Normal Kedua)
- 3NF (Bentuk Normal Ketiga)
- BCNF (Normalisasi Boyce-Codd)
- 4NF (Bentuk Normal Keempat)
- 5NF (Bentuk Normal Kelima)
- 6NF (Bentuk Normal Keenam)
Teori Normalisasi data di server MySQL masih dikembangkan lebih lanjut. Misalnya, ada diskusi bahkan sampai tahap ke enam dalam normalisasinya. Namun, dalam aplikasi yang paling sederhana, normalisasi hanya mencapai tahap tiga Form Normalisasinya. Evolusi Normalisasi dalam teori SQL dapat di ilustrasikan seperti di bawah ini -
Normalisasi Database dengan Contohnya
Aturan 1NF (Bentuk Normal Pertama)
- Setiap sel tabel harus berisi nilai tunggal.
- Setiap record harus unik.
Apa itu Key dalam SQL?
Catatan: Kolom dalam tabel yang TIDAK digunakan untuk mengidentifikasi record secara unik disebut kolom non-key.
Apa itu Primary Key?
Primary adalah nilai kolom tunggal yang digunakan untuk mengidentifikasi record database secara unik.
Primary Key memiliki atribut seperti berikut -
- Sebuah Primary Key Tidak boleh NULL.
- Nilai Primary Key harus unik.
- Primary Key jarang diubah.
- Primary Key harus diberi nilai ketika record baru disisipkan.
Apa itu Composite Key?
Dalam database ini, ada dua orang yang memiliki nama yang sama Robert Phil, tetapi mereka tinggal di tempat yang berbeda.
Oleh karena itu, kita memerlukan nama lengkap dan alamat untuk mengidentifikasi record secara unik ini yang disebut dengan Composite Key.Setelah bentuk normal pertama kita 1NF sudah terselesaikan, maka selanjutnya pindah ke bentuk normal 2NF.
Aturan 2NF (Bentuk Normal Kedua)
- Harus sudah melewati Bentuk Normal Pertama 1NF
- Dari tiap kolom memiliki Primary Key yang tidak secara fungsional bergantung pada subset hubungan Candidate Key.
Kita telah melihat kolom baru yang disebut Membership_ID yang merupakan Primary key untuk tabel 1. Record dapat diidentifikasi secara unik di Tabel 1 menggunakan Membership ID.
Peran Foreign Key
- Foreign key dapat memiliki nama yang berbeda dari Primary Key.
- Ini dapat memastikan bahwa dalam satu tabel memiliki baris yang sesuai di tabel lain.
- Tidak seperti Primary Key, mereka tidak harus unik.
- Foreign key bisa batal meskipun Primary key tidak bisa.
Mengapa kita membutuhkan foreign key?
Masalah di atas dapat diatasi dengan menyisipkan terlebih dahulu Membership ID sebagai Primary key Tabel 1 dan kemudian menyisipkan kembali record yang sebelumnya ke dalam Tabel 2.
Sekarang, jika seseorang mencoba menyisipkan record di field Membership ID yang tidak ada di tabel induk, pesan Error akan muncul.
Apa itu dependensi fungsional transitif?
Contoh pada Tabel 1. Mengubah kolom non-key Full Names dapat mengubah kolom Salutation.
Selanjutnya kita pindah ke bentuk normal ketiga 3NFAturan 3NF (Bentuk Normal Ketiga)
- Sudah melewati tahap 2NF
- Tidak memiliki dependensi fungsional transitif
Contoh 3NF
Kita telah membuat Tabel 3 yaitu Salutation setelah kita membaginya lagi.
Sudah tidak ada lagi dependensi fungsional transitif, dan karenanya tabel kita berada di bentuk normal ketiga 3NF.
Dalam Tabel 3 Salutation ID adalah Primary Key, dan dalam Tabel 1 Salutation ID adalah foreign key untuk primary key Tabel 3.
Contoh sederhana di atas sudah berada pada tingkat yang tidak dapat diuraikan lebih lanjut untuk mencapai jenis normalisasi bentuk normal yang lebih tinggi dalam DBMS. Bahkan, sudah dalam bentuk normalisasi yang lebih tinggi. Upaya terpisah untuk pindah ke tingkat berikutnya dari normalisasi data biasanya diperlukan dalam database yang lebih kompleks. Namun, kita akan membahas tingkat normalisasi berikutnya dalam DBMS secara singkat.
BCNF (Boyce-Codd Normal Form)
Terkadang BCNF juga disebut sebagai Bentuk Normal 3,5.
Aturan 4NF (Bentuk Normal Keempat)
Aturan 5NF (Bentuk Normal Kelima)
Aturan 6NF (Bentuk Normal Keenam)
Semua itu hanyalah untuk Normalisasi dalam SQL.
Posting Komentar untuk "Apa itu Normalisasi di DBMS Beserta Contohnya"