Normalisasi Basis Data

Hallo kawan - kawan kali ini saya akan membahas mengenai apa itu Normalisasi Basis Data. Sebelumnya saya telah membahas tentang Entity Relationship Diagram.
Jika anda sudah mulai bekerja dengan basis data, besar kemungkinan anda akan menemukan istilah normalisasi. Mungkin suatu saat ada yang akan bertanya padamu, "Apakah basis data sudah dinormalisasi?". Istilah Normalisasi merupakan kata yang sulit yang mungkan hanya dibahas oleh kalangan mahasiswa. 

Istilah - istilah dalam Normalisasi

  • Atribut
    Atribut sama artinya dengan kolom data atau field.
  • Record
    Record sama artinya dengan baris data atau kumpulan data dalam satu baris pada sebuah tabel database. Record biasanya berisi informasi.
  • Primary Key
    Primary Key merupakan satu atau beberapa atribut yang dapat menjadi pembeda dari sebuah record dengan record yang lain secara unik. Jika suatu atribut dijadikan key, maka tidak boleh ada dua atau lenih record dengan nilai yang sama.
  • Foreign Key
    Foreign Key biasa digunakan untuk menentukan relasi antara sebuah tabel dengan tabel lain dalam sebuah database.
  • Candidate Key
    Sesuai dengan namanya candidate key adalah satu atau lebih field pada tabel database yang kemungkinan untuk dijadikan Primary Key.
  • Domain dan Tipe Data
    Istilah Domain memiliki kesamaan dengan fungsi tipe data, tipe data lebih kepada kemampuan penyimpanan data yang mungkin bagi suatu atribut, tanpa melihat layak atau tidaknya data tersebut bila dilihat dari kenyataan pemakaian.

Pengertian Normalisasi

Normalisasi merupakan proses pengorganisasian data secara efisien pada suatu database.
Ada 2 tujuan utama dilakukannya Normalisasi antara lain : 
  1. Meniadakan redudansi data (penyimpanan data yang sama pada dua atau lebih tabel).
  2. Memastikan bahwa ketergantungan data masuk akal (hanya data yang memiliki hubungan yang disimpan pada tabel yang sama).

 Bentuk - bentuk Normal

Komunikasi praktisi maupun periset database telah membangun serangkaian aturan untuk memastikan suatu database ternormalkan. Aturan - aturan itu dikenal sebagai bentuk - bentuk normal yang diberi nomor mulai dari 1 hingga nomor 5. 
  1. Bentuk Normal Pertama (1NF)
    Bentuk normal ini menerapkan aturan paling dasar dalam database, antara lain : 
    a. Menghapus kolom yang dobel pada tabel yang sama.
    b. Membuat tabel - tabel yang terpisah untuk setiap kelompk data yang saling berhubungan dan mengindentifikasi tiap baris yang unik (primary key).
  2. Bentuk Normal Kedua (2NF)
    Bentuk ini menerapkan langkah - langkah, yaitu :
    a. Menerapkan semua langkah pada 1NF
    b. Menghapus anggota data yang berlaku pada lebih dari 1 baris pada sebuah tabel
    c. Membuat relasi antara tabel baru dengan tabel sebelumnya menggunakan foreign key
  3. Bentuk Normal Ketiga (3NF)
    Bentuk berikut menerapkan prosedur antara lain :
    a. Menerapkan semua langkah pada 2NF
    b. Menghapus kolom yang tidak bergantung pada primary key
  4. Bentuk Normal Keempat (4NF)
    Bentuk normal keempat ini menerapkan langkah - langkah antara lain :
    a. Menerapkan semua prosedur pada 3NF
    b. Sebuah relasi bertipe 4NF jika tidak memiliki ketergantungan lebih dari satu.

Entity Relationship Diagram


Hallo kawan-kawan semua, apa yang akan kalian pikirkan ketika mendengar kata "ERD" ? Nah kali ini saya akan mencoba mengangkat materi mengenai Entity Relationship Diagram.
Perancangan database memerlukan pemodelan dalam bentuk diagram. Salah satu di antaranya adalah disebut Entity Relationship Diagram (ERD).

Pengertian Entity Relationship Diagram

Yang dimaksud dengan Entity Relationship Diagram (ERD) adalah suatu bentuk diagram khusus yang menggambarkan hubungan antar-entitas dalam sebuah database. ERD umumnya menggunakan simbol-simbol untuk menggambarkan 3 tipe informasi. Simbol-simbol yang digunakan tersebut antara lain kotak, belah ketupat (diamond), dan elips

  1. Entitas
    Entitas merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan satu dengan yang lainnya. Contoh dari entitas antara lain yaitu siswa, mobil, pelanggan, dan rumah.
  2. Atribut
    Atribut merupakan bagian dari karakteristik entitas.  Nama, usia, dan kelas merupakan atribut-atribut bagi entitas siswa. Warna, merk, dan ukuran merupakan atribut dari entitas mobil. Atribut sering juga disebut field.
  3. Relasi
    Relasi adalah jenis hubungan antara-dua entitas atau lebih. Contohnya buku dan penulisnya dihubungkan oleh relasi “ditulis”, artinya buku ditulis oleh penulis dan penulis menulis buku. Sebagai entitas buku memiliki atribut-atribut seperti judul, pengarang, dan penerbit. Sedangkan entitas penulis memiliki atribut-atribut antara lain yaitu nama dan usia.
Contoh Entity Relationship Diagram

Bentuk Relasi Antar-Entitas dalam ERD 

Hubungan (relasi) antara entitas yang satu dengan yang lain dapat berbentuk relasi satu-ke-satu (one to one), satu-ke-banyak (one to many), banyak-ke-satu (many to one), atau banyak-ke-banyak (many to many).
  1. Relasi One to One
    Relasi ini menunjukkan setiap entitas pada himpunan entitas A berhubungan dengan satu entitas pada himpunan entitas B atau sebaliknya. Contohnya 1 pria menikahi 1 wanita. 
  2. Relasi One to Many
    Relasi semacam ini menunjukkan setiap entitas pada himpunan entitas A berhubungan dengan banyak himpunan entitas B, namun setiap entitas pada himpunan entitas B hanya dapat
    berhubungan dengan dengan 1 entitas pada himpunan entitaas A. Contohnya 1 petenis memiliki banyak raket.
  3. Relasi Many to One
    Relasi yang satu ini menunjukkan banyak entitas pada himpunan A hanyak berhubungan dengan satu entitas pada himpunan entitas B. Contohnya banyak penumpang menaiki 1 pesawat.

  4. Relasi Many to Many
    Relasi ini menunjukkan setiap entitas pada himpunan entitas A berhubungan dengan banyak entitas pada himpunan entitas B, dan setiap entitas pada himpunan entitas B berhubungan dengan banyak entitas pada himpunan entitas A. Relasi ini merupakan gabungan dari relasi One to Many dan Many to One. Contohnya 1 guru mengajarkan banyak siswa, dan 1 siswa diajar banyak guru.