Apa itu Normalisasi? Contoh Database 1NF, 2NF, 3NF, BCNF

Daftar Isi:

Anonim

Apa itu Normalisasi?

Normalisasi adalah teknik desain database yang mengurangi redundansi data dan menghilangkan karakteristik yang tidak diinginkan seperti Penyisipan, Pembaruan, dan Anomali Penghapusan. Aturan normalisasi membagi tabel yang lebih besar menjadi tabel yang lebih kecil dan menautkannya menggunakan hubungan. Tujuan Normalisasi dalam SQL adalah untuk menghilangkan data yang berlebihan (berulang) dan memastikan data disimpan secara logis.

Penemu model relasional Edgar Codd mengajukan teori normalisasi data dengan pengenalan Bentuk Normal Pertama, dan ia melanjutkan untuk memperluas teori dengan Bentuk Normal Kedua dan Ketiga. Kemudian bergabung dengan Raymond F. Boyce untuk mengembangkan teori Bentuk Normal Boyce-Codd.

Bentuk Normal Database

Berikut adalah daftar Bentuk Normal

  • 1NF (Bentuk Normal Pertama)
  • 2NF (Bentuk Normal Kedua)
  • 3NF (Bentuk Normal Ketiga)
  • BCNF (Bentuk Normal Boyce-Codd)
  • 4NF (Bentuk Normal Keempat)
  • 5NF (Bentuk Normal Kelima)
  • 6NF (Bentuk Normal Keenam)

Teori Normalisasi Data di SQL server masih terus dikembangkan. Misalnya ada pembahasan genap tentang Bentuk Normal ke- 6 . Namun, dalam aplikasi praktis yang paling, normalisasi mencapai yang terbaik dalam 3 rd Normal Form . Evolusi teori Normalisasi SQL diilustrasikan di bawah ini-

Bentuk Normal Database

Normalisasi Database Dengan Contoh

Contoh Normalisasi Basis Data dapat dengan mudah dipahami dengan bantuan studi kasus. Asumsikan, perpustakaan video menyimpan database film yang disewakan. Tanpa normalisasi dalam database, semua informasi disimpan dalam satu tabel seperti yang ditunjukkan di bawah ini. Mari kita pahami Normalisasi dalam database dengan contoh tabel:

Di sini Anda melihat kolom Film Rented memiliki beberapa nilai. Sekarang mari beralih ke Bentuk Normal ke-1:

Aturan 1NF (Bentuk Normal Pertama)

  • Setiap sel tabel harus berisi satu nilai.
  • Setiap rekaman harus unik.

Tabel di atas di 1NF-

Contoh 1NF

Sebelum kita melanjutkan, mari kita pahami beberapa hal -

Apa itu KUNCI?

KEY adalah nilai yang digunakan untuk mengidentifikasi record dalam tabel secara unik. KUNCI dapat berupa satu kolom atau kombinasi dari beberapa kolom

Catatan: Kolom dalam tabel yang TIDAK digunakan untuk mengidentifikasi record secara unik disebut kolom non-kunci.

Apa itu Kunci Utama?

Primer adalah nilai kolom tunggal yang digunakan untuk mengidentifikasi rekaman database secara unik.

Ini memiliki atribut berikut

  • Kunci utama tidak boleh NULL
  • Nilai kunci utama harus unik
  • Nilai kunci utama sebaiknya jarang diubah
  • Kunci utama harus diberi nilai ketika catatan baru dimasukkan.

Apa itu Kunci Komposit?

Kunci komposit adalah kunci utama yang terdiri dari beberapa kolom yang digunakan untuk mengidentifikasi rekaman secara unik

Dalam database kami, kami memiliki dua orang dengan nama yang sama Robert Phil, tetapi mereka tinggal di tempat yang berbeda.

Oleh karena itu, kami memerlukan Nama Lengkap dan Alamat untuk mengidentifikasi catatan secara unik. Itu adalah kunci komposit.

Mari pindah ke bentuk normal kedua 2NF

Aturan 2NF (Bentuk Normal Kedua)

  • Aturan 1- Berada di 1NF
  • Aturan 2- Kunci Utama Kolom Tunggal

Hal ini jelas bahwa kita tidak bisa bergerak maju untuk membuat database sederhana kami dalam 2 nd bentuk Normalisasi kecuali kita partisi tabel di atas.

Kami telah membagi tabel 1NF kami menjadi dua tabel yaitu. Tabel 1 dan Tabel2. Tabel 1 berisi informasi anggota. Tabel 2 berisi informasi tentang film yang disewa.

Kami telah memperkenalkan kolom baru bernama Membership_id yang merupakan kunci utama untuk tabel 1. Catatan dapat diidentifikasi secara unik di Tabel 1 menggunakan id keanggotaan

Database - Kunci Asing

Di Tabel 2, Membership_ID adalah Kunci Asing

Kunci Asing merujuk kunci utama dari Tabel lain! Ini membantu menghubungkan Tabel Anda

  • Kunci asing dapat memiliki nama yang berbeda dari kunci utamanya
  • Ini memastikan baris dalam satu tabel memiliki baris yang sesuai di tabel lain
  • Tidak seperti kunci Primer, mereka tidak harus unik. Seringkali tidak
  • Kunci asing bisa menjadi nol meskipun kunci utama tidak bisa

Mengapa Anda membutuhkan kunci asing?

Misalkan, seorang pemula menyisipkan rekaman di Tabel B seperti

Anda hanya akan bisa memasukkan nilai ke dalam kunci asing Anda yang ada di kunci unik di tabel induk. Ini membantu dalam integritas referensial.

Masalah di atas dapat diatasi dengan mendeklarasikan id keanggotaan dari Tabel2 sebagai kunci asing dari id keanggotaan dari Tabel1

Sekarang, jika seseorang mencoba memasukkan nilai di bidang id keanggotaan yang tidak ada di tabel induk, kesalahan akan ditampilkan!

Apa itu dependensi fungsional transitif?

Ketergantungan fungsional transitif adalah ketika mengubah kolom non-kunci, dapat menyebabkan salah satu kolom non-kunci lainnya berubah

Perhatikan tabel 1. Mengubah kolom non-kunci Nama Lengkap dapat mengubah Salam.

Mari beralih ke 3NF

Aturan 3NF (Bentuk Normal Ketiga)

  • Aturan 1- Berada di 2NF
  • Aturan 2- Tidak memiliki ketergantungan fungsional transitif

Untuk memindahkan tabel 2NF kita menjadi 3NF, kita perlu lagi membagi tabel kita.

Contoh 3NF

Di bawah ini adalah contoh 3NF dalam database SQL:

Kami sekali lagi membagi tabel kami dan membuat tabel baru yang menyimpan Salam.

Tidak ada dependensi fungsional transitif, dan karenanya tabel kami dalam 3NF

Pada Tabel 3 Salutation ID adalah primary key, dan pada Tabel 1 Salutation ID adalah foreign key pada Tabel 3

Sekarang contoh kecil kita berada pada tingkat yang tidak dapat diuraikan lebih lanjut untuk mencapai bentuk normalisasi yang lebih tinggi. Faktanya, itu sudah dalam bentuk normalisasi yang lebih tinggi. Upaya terpisah untuk berpindah ke tingkat normalisasi data berikutnya biasanya diperlukan dalam database yang kompleks. Namun, kita akan membahas tingkat normalisasi berikutnya secara singkat berikut ini.

BCNF (Bentuk Normal Boyce-Codd)

Bahkan ketika database dalam 3 rd Normal Form, masih akan ada anomali mengakibatkan jika memiliki lebih dari satu Calon Key.

Terkadang BCNF juga disebut sebagai 3.5 Bentuk Normal.

Aturan 4NF (Bentuk Normal Keempat)

Jika tidak ada contoh tabel database yang berisi dua atau lebih, data independen dan multinilai yang menggambarkan entitas yang relevan, maka itu ada dalam Bentuk Normal ke- 4 .

Aturan 5NF (Bentuk Normal Kelima)

Sebuah tabel berada dalam Bentuk Normal ke- 5 hanya jika dalam 4NF dan tidak dapat didekomposisi menjadi sejumlah tabel yang lebih kecil tanpa kehilangan data.

6NF (Bentuk Normal Keenam) Diusulkan

Bentuk Normal ke- 6 memang belum terstandarisasi, namun sudah dibahas oleh pakar database untuk beberapa waktu. Mudah-mudahan, kami akan memiliki definisi yang jelas & terstandarisasi untuk Bentuk Normal ke- 6 dalam waktu dekat…

Itu semua untuk Normalisasi SQL !!!

Ringkasan

  • Perancangan basis data sangat penting untuk keberhasilan implementasi sistem manajemen basis data yang memenuhi persyaratan data dari sistem perusahaan.
  • Proses Normalisasi dalam DBMS membantu menghasilkan sistem database yang hemat biaya dan memiliki model keamanan yang lebih baik.
  • Dependensi fungsional adalah komponen yang sangat penting dari proses normalisasi data
  • Kebanyakan sistem database adalah database yang dinormalisasi hingga ke bentuk normal ketiga.
  • Kunci utama yang secara unik mengidentifikasi adalah rekaman dalam Tabel dan tidak boleh kosong
  • Kunci asing membantu menghubungkan tabel dan mereferensikan kunci utama