RUANGDEVELOPER.com – Halo semuanya, selamat datang kembali di Ruang Developer Blog. Apabila sebelumnya kita sudah membahas tentang SQL vs NoSQL Database, kali ini kita akan lanjut Demi membahas tentang database Ialah normalisasi database. Apa itu normalisasi database? Yuk kita mulai!
Normalisasi Database
Normalisasi database adalah proses mengatur struktur tabel database dengan tujuan Demi menghindari redundansi dan meningkatkan integritas data. Ini dilakukan dengan mengelompokkan data ke dalam tabel yang lebih kecil dan lebih ternormalisasi, yang kemudian dihubungkan melalui Rekanan. Eksis beberapa Strata normalisasi, mulai dari tingkat pertama (1NF) hingga tingkat kelima (5NF). Normalisasi database sangat Krusial karena membantu menjamin integritas data, memudahkan pemeliharaan dan pembaruan data, serta meningkatkan kinerja sistem.
Normalisasi Tingkat 1NF
Tingkat pertama normalisasi database (1NF) adalah tingkat dasar normalisasi yang harus dipenuhi oleh suatu database. Berikut adalah Contoh tabel sebelum dan sesudah diubah menjadi 1NF:
Contoh sebelum diubah menjadi 1NF:
Nama | Alamat | No. Telp |
---|---|---|
John | Jl. Kebon Sirih No. 10 | 08123456789 |
Jane | Jl. Merdeka No. 20 | 08987654321 |
Contoh sesudah diubah menjadi 1NF:
Tabel 1:
Nama | No. Telp |
---|---|
John | 08123456789 |
Jane | 08987654321 |
Tabel 2:
Nama | Alamat |
---|---|
John | Jl. Kebon Sirih No. 10 |
Jane | Jl. Merdeka No. 20 |
Setelah diubah menjadi 1NF, masing-masing tabel hanya Mempunyai satu atribut yang Spesial dan Enggak terdapat atribut yang bersifat multivalued. Selain itu, setiap atribut harus terikat pada entitas yang sesuai, Ialah entitas “orang” pada Contoh di atas. Dengan demikian, database tersebut sudah memenuhi tingkat pertama normalisasi.
Normalisasi Tingkat 2NF
Tingkat kedua normalisasi database (2NF) mengharuskan suatu tabel Demi memenuhi tingkat pertama normalisasi (1NF) dan Mempunyai setiap atribut non-kunci terikat pada kunci Primer tabel tersebut. Berikut adalah Contoh tabel sebelum dan sesudah diubah menjadi 2NF:
Contoh sebelum diubah menjadi 2NF:
Nama | Alamat | No. Telp | Kota |
---|---|---|---|
John | Jl. Kebon Sirih No. 10 | 08123456789 | Jakarta |
Jane | Jl. Merdeka No. 20 | 08987654321 | Bandung |
Contoh sesudah diubah menjadi 2NF:
Tabel 1:
Nama | No. Telp | Kota |
---|---|---|
John | 08123456789 | Jakarta |
Jane | 08987654321 | Bandung |
Tabel 2:
Nama | Alamat |
---|---|
John | Jl. Kebon Sirih No. 10 |
Jane | Jl. Merdeka No. 20 |
Setelah diubah menjadi 2NF, setiap atribut non-kunci terikat pada kunci Primer tabel tersebut. Dalam Contoh di atas, atribut “Alamat” adalah atribut non-kunci yang terikat pada kunci Primer tabel 2, Ialah “Nama”. Dengan demikian, database tersebut sudah memenuhi tingkat kedua normalisasi.
Normalisasi Tingkat 3NF
Tingkat ketiga normalisasi database (3NF) mengharuskan suatu tabel Demi memenuhi tingkat kedua normalisasi (2NF) dan Enggak Eksis atribut yang Enggak terikat secara langsung pada kunci Primer tabel tersebut. Berikut adalah Contoh tabel sebelum dan sesudah diubah menjadi 3NF:
Contoh sebelum diubah menjadi 3NF:
Nama | Alamat | No. Telp | Kota | Provinsi |
---|---|---|---|---|
John | Jl. Kebon Sirih No. 10 | 08123456789 | Jakarta | DKI Jakarta |
Jane | Jl. Merdeka No. 20 | 08987654321 | Bandung | Jawa Barat |
Contoh sesudah diubah menjadi 3NF:
Tabel 1:
Nama | No. Telp | Kota |
---|---|---|
John | 08123456789 | Jakarta |
Jane | 08987654321 | Bandung |
Tabel 2:
Kota | Provinsi |
---|---|
Jakarta | DKI Jakarta |
Bandung | Jawa Barat |
Tabel 3:
Nama | Alamat |
---|---|
John | Jl. Kebon Sirih No. 10 |
Jane | Jl. Merdeka No. 20 |
Setelah diubah menjadi 3NF, Enggak Eksis atribut yang Enggak terikat secara langsung pada kunci Primer tabel tersebut. Dalam Contoh di atas, atribut “Provinsi” Enggak terikat secara langsung pada kunci Primer tabel 1, Ialah “Nama”. Oleh karena itu, atribut tersebut dipindahkan ke tabel baru yang Mempunyai kunci Primer “Kota”. Dengan demikian, database tersebut sudah memenuhi tingkat ketiga normalisasi.
Normalisasi Tingkat 4NF
Tingkat keempat normalisasi database (4NF) adalah tingkat normalisasi yang lebih tinggi daripada tingkat ketiga (3NF). Tingkat 4NF mengharuskan suatu tabel Demi memenuhi tingkat ketiga normalisasi (3NF) dan Enggak Eksis atribut multivalued yang Enggak terikat secara langsung pada kunci Primer tabel tersebut. Apabila suatu tabel memenuhi tingkat 4NF, maka tabel tersebut Enggak akan Mempunyai atribut multivalued yang Enggak terikat secara langsung pada kunci Primer tabel tersebut.
Contoh tabel sebelum dan sesudah diubah menjadi 4NF:
Contoh sebelum diubah menjadi 4NF:
Nama | Alamat | No. Telp | Kota | Provinsi |
---|---|---|---|---|
John | Jl. Kebon Sirih No. 10 | 08123456789 | Jakarta | DKI Jakarta |
John | Jl. Merdeka No. 20 | 08987654321 | Jakarta | DKI Jakarta |
Jane | Jl. Merdeka No. 20 | 08123456789, 08987654321 | Bandung | Jawa Barat |
Contoh sesudah diubah menjadi 4NF:
Tabel 1:
Nama | No. Telp | Kota |
---|---|---|
John | 08123456789 | Jakarta |
John | 08987654321 | Jakarta |
Jane | 08123456789, 08987654321 | Bandung |
Tabel 2:
Kota | Provinsi |
---|---|
Jakarta | DKI Jakarta |
Bandung | Jawa Barat |
Tabel 3:
Nama | Alamat | No. Telp |
---|---|---|
John | Jl. Kebon Sirih No. 10 | 08123456789 |
John | Jl. Merdeka No. 20 | 08987654321 |
Jane | Jl. Merdeka No. 20 | 08123456789, 08987654321 |
Setelah diubah menjadi 4NF, Enggak Eksis atribut multivalued yang Enggak terikat secara langsung pada kunci Primer tabel tersebut. Dalam Contoh di atas, atribut “No. Telp” merupakan atribut multivalued yang Enggak terikat secara langsung pada kunci Primer tabel 1, Ialah “Nama”. Oleh karena itu, atribut tersebut dipindahkan ke tabel baru yang Mempunyai kunci Primer “Nama” dan “Alamat”. Dengan demikian, database tersebut sudah memenuhi tingkat keempat normalisasi.
Normalisasi Tingkat 5NF
Tingkat kelima normalisasi database (5NF) adalah tingkat normalisasi yang lebih tinggi daripada tingkat keempat (4NF). Tingkat 5NF mengharuskan suatu tabel Demi memenuhi tingkat keempat normalisasi (4NF) dan Enggak Eksis dependensi fungsional tersembunyi di dalam tabel tersebut. Apabila suatu tabel memenuhi tingkat 5NF, maka tabel tersebut Enggak akan Mempunyai dependensi fungsional tersembunyi di dalamnya.
Contoh tabel sebelum dan sesudah diubah menjadi 5NF:
Contoh sebelum diubah menjadi 5NF:
Nama | Alamat | No. Telp | Kota | Provinsi |
---|---|---|---|---|
John | Jl. Kebon Sirih No. 10 | 08123456789 | Jakarta | DKI Jakarta |
Jane | Jl. Merdeka No. 20 | 08987654321 | Bandung | Jawa Barat |
Jane | Jl. Merdeka No. 20 | 08123456789, 08987654321 | Bandung | Jawa Barat |
Contoh sesudah diubah menjadi 5NF:
Tabel 1:
Nama | No. Telp | Kota |
---|---|---|
John | 08123456789 | Jakarta |
Jane | 08987654321 | Bandung |
Jane | 08123456789, 08987654321 | Bandung |
Tabel 2:
Kota | Provinsi |
---|---|
Jakarta | DKI Jakarta |
Bandung | Jawa Barat |
Tabel 3:
Nama | Alamat |
---|---|
John | Jl. Kebon Sirih No. 10 |
Jane | Jl. Merdeka No. 20 |
Setelah diubah menjadi 5NF, Enggak Eksis dependensi fungsional tersembunyi di dalam tabel tersebut. Dalam Contoh di atas, atribut “Alamat” tergantung pada atribut “Nama”, sehingga Enggak Eksis dependensi fungsional tersembunyi. Dengan demikian, database tersebut sudah memenuhi tingkat kelima normalisasi.
Perlu dicatat bahwa tingkat kelima normalisasi (5NF) adalah tingkat normalisasi terakhir yang umumnya diterapkan dalam database. Tingkat normalisasi di atas tingkat kelima (5NF) jarang diterapkan dalam praktik sehari-hari karena biasanya sudah cukup memenuhi kebutuhan database.
Apakah Normalisasi Berlaku Demi NoSQL Database?
Normalisasi database merupakan suatu teknik yang diterapkan dalam sistem manajemen database relasional (RDBMS). NoSQL database merupakan jenis database yang Enggak menggunakan sistem manajemen database relasional, sehingga Enggak memerlukan teknik normalisasi database. Tetapi, meskipun NoSQL database Enggak memerlukan teknik normalisasi database, terdapat beberapa prinsip yang dapat diterapkan dalam mengelola data di NoSQL database agar data tetap terorganisir dengan Bagus dan mudah diakses.
Konklusi
Normalisasi database adalah proses mengatur struktur tabel database dengan tujuan Demi menghindari redundansi dan meningkatkan integritas data. Normalisasi database terdiri dari beberapa Strata, mulai dari tingkat pertama (1NF) hingga tingkat kelima (5NF).
Tingkat pertama normalisasi (1NF) mengharuskan setiap tabel hanya Mempunyai satu atribut yang Spesial dan Enggak terdapat atribut yang bersifat multivalued. Setiap atribut harus terikat pada entitas yang sesuai.
Tingkat kedua normalisasi (2NF) mengharuskan setiap tabel memenuhi tingkat pertama normalisasi (1NF) dan Mempunyai setiap atribut non-kunci terikat pada kunci Primer tabel tersebut.
Tingkat ketiga normalisasi (3NF) mengharuskan setiap tabel memenuhi tingkat kedua normalisasi (2NF) dan Enggak Eksis atribut yang Enggak terikat secara langsung pada kunci Primer tabel tersebut.
Tingkat keempat normalisasi (4NF) mengharuskan setiap tabel memenuhi tingkat ketiga normalisasi (3NF) dan Enggak Eksis atribut multivalued yang Enggak terikat secara langsung pada kunci Primer tabel tersebut.
Tingkat kelima normalisasi (5NF) mengharuskan setiap tabel memenuhi tingkat keempat normalisasi (4NF) dan Enggak Eksis dependensi fungsional tersembunyi di dalam tabel tersebut.
Normalisasi database sangat Krusial karena membantu menjamin integritas data, memudahkan pemeliharaan dan pembaruan data, serta meningkatkan kinerja sistem. Tingkat normalisasi di atas tingkat kelima (5NF) jarang diterapkan dalam praktik sehari-hari karena biasanya sudah cukup memenuhi kebutuhan database.
NoSQL database merupakan jenis database yang Enggak menggunakan sistem manajemen database relasional, sehingga Enggak memerlukan teknik normalisasi database.