Langsung ke konten utama

Normalisasi Database

 Normalisasi Database

Pengertian

Normalisasi merupakan sebuah teknik logical desain dalam sebuah basis data yang mengelompokkan atribut dari berbagai entitas dalam suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi/pengulangan data) serta sebagian besar ambiguity bisa dihilangkan.

Atau pengertian singkatnya, Normalisasi Databse adalah proses pengelompokan atribut data yang membentuk entitas sederhana, nonredundan, fleksibel, dan mudah beradaptasi, Sehingga dapat dipastikan bahwa database yang dibuat berkualitas baik.

Tujuan dari proses normalisasi database ialah untuk mengurangi atau meminimalisasi redudansi atau pengulangan data. Selain itu juga untuk memastikan data berada pada posisi yang tepat atau dikatakan memastikan depedensinya. Tidak hanya itu, apabila sebuah database tidak melalui proses normalisasi. Maka akan ada tiga kerugian yang bisa dialami pada sistem secara keseluruhan. Kerugian pertama ialah insert anomali, atau diartikan sebagai keadaan di mana tidak dapat memasukkan sejumlah jenis data di database.

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.

Tahapan 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.

Berikut 3 penjelasan bentuk Normalisasi Database yang akan saya jelaskan :
  • 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:

  • 1NF / First Normal Form
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:

  • 2NF / Second Normal Form
Bentuk normal yang kedua ialah melakukan dekomposisi tabel dan mencari kunci primer dari setiap tabel. Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk dalam 1NF

Contoh:


Komentar

Postingan populer dari blog ini

Boolean - Data Types SQL

 Penjelasan Tipe data boolean pada database adalah tipe data yang memungkinkan penyimpanan nilai kebenaran (true atau false) dalam sebuah tabel database. Penyimpanan nilai boolean dalam sebuah tabel database biasanya dilakukan untuk menyimpan informasi kebenaran dari sebuah kondisi atau status pada suatu data. Misalnya, pada tabel pengguna, kita bisa menambahkan kolom "status" dengan tipe data tinyint untuk menyimpan status aktif/non-aktif pengguna. Jika pengguna aktif, maka nilai statusnya adalah 1 (true), sedangkan jika non-aktif, maka nilai statusnya adalah 0 (false). Dalam bahasa SQL, nilai boolean sering digunakan untuk melakukan pengambilan data berdasarkan kondisi yang diberikan (query). Misalnya, kita bisa menuliskan query untuk menampilkan semua pengguna yang statusnya aktif, yaitu dengan menggunakan perintah SELECT * FROM pengguna WHERE status = 1. Contoh Penggunaan  Berikut adalah contoh penggunaan tipe data BOOLEAN pada SQL: CREATE TABLE students (   student_i...

String - Data Types SQL

 Penjelasan String database adalah tipe data yang digunakan untuk menyimpan data teks pada database. String database dapat digunakan untuk menyimpan berbagai jenis data teks, seperti nama, alamat, teks deskripsi, atau bahkan kode program. Setiap field pada tabel database memiliki tipe data tertentu, termasuk tipe data string. Ketika sebuah record atau baris ditambahkan ke tabel, nilai string database akan disimpan pada field yang sesuai. Berikut adalah 2 contoh penggunaan type data string: Membuat tabel users dengan kolom 'name' dan 'email' yang menggunakan tipe data string: CREATE TABLE users (     id INT(11) NOT NULL AUTO_INCREMENT,     name VARCHAR(255) NOT NULL,     email VARCHAR(255) NOT NULL,     PRIMARY KEY (id) ); Dalam contoh ini, kolom 'name' dan 'email' menggunakan tipe data VARCHAR(255) untuk menyimpan nama dan alamat email pengguna. Memasukkan data ke dalam tabel users: INSERT INTO users (name, email) VALUES ('Kharisya Mer', 'kha...

Pratikum Database

Halo selamat datang! Pada kesempatan kali ini, kita akan membahas tugas praktikum database yang telah diberikan. Database merupakan hal yang sangat penting dalam pengembangan perangkat lunak, sehingga sangatlah penting untuk mempelajari dan memahami cara mengelolanya. Pada tugas praktikum ini, kita akan belajar mengenai konsep dasar database dan juga implementasinya dalam MySQL. Mari kita mulai! 1. Create Table tb_pengguna  Sebelum membuat tabel kita harus masuk ke database belajar dengan perintah "use nama_database" "use belajar". Lalu masukan perintah seperti dibawah untuk mulai membuat tabel.  Kolom userid, nama, dan email didefinisikan sebagai VARCHAR(50) NOT NULL, yang berarti bahwa mereka adalah string karakter variabel dengan panjang maksimum 50 karakter dan tidak bisa kosong. Kolom no_telp didefinisikan sebagai INT(20) NOT NULL, yang berarti bahwa kolom tersebut berisi angka integer dengan panjang maksimum 20 digit dan tidak bisa kosong. Namun, tipe data ini...