Apakah Normalisasi?
Normalisasi adalah teknik reka bentuk pangkalan data yang mengurangkan redundansi data dan menghilangkan ciri-ciri yang tidak diingini seperti Penyisipan, Kemas kini dan Anomali Penghapusan. Peraturan normalisasi membahagi jadual yang lebih besar menjadi jadual yang lebih kecil dan menghubungkannya menggunakan hubungan. Tujuan Normalisasi dalam SQL adalah untuk menghilangkan data berlebihan (berulang) dan memastikan data disimpan secara logik.
Pencipta model hubungan Edgar Codd mengusulkan teori normalisasi data dengan pengenalan Bentuk Normal Pertama, dan dia terus memperluas teori dengan Bentuk Normal Kedua dan Ketiga. Kemudian dia bergabung dengan Raymond F. Boyce untuk mengembangkan teori Boyce-Codd Normal Form.
Bentuk Biasa Pangkalan Data
Berikut adalah senarai Borang Biasa
- 1NF (Bentuk Normal Pertama)
- 2NF (Bentuk Normal Kedua)
- 3NF (Bentuk Normal Ketiga)
- BCNF (Borang Normal Boyce-Codd)
- 4NF (Bentuk Normal Keempat)
- 5NF (Bentuk Normal Kelima)
- 6NF (Bentuk Keenam Normal)
Teori Normalisasi Data dalam pelayan SQL masih dikembangkan lebih jauh. Sebagai contoh, terdapat perbincangan walaupun pada Borang Normal ke- 6 . Walau bagaimanapun, dalam kebanyakan aplikasi praktikal, normalisasi mencapai yang terbaik dalam Bentuk Normal ketiga . Evolusi teori Normalisasi SQL digambarkan di bawah-

Normalisasi Pangkalan Data Dengan Contoh
Contoh Normalisasi Pangkalan Data dapat difahami dengan mudah dengan bantuan kajian kes. Andaikan, perpustakaan video menyimpan pangkalan data filem yang disewa. Tanpa normalisasi dalam pangkalan data, semua maklumat disimpan dalam satu jadual seperti gambar di bawah. Mari kita fahami Normalisasi dalam pangkalan data dengan contoh jadual:
Di sini anda melihat lajur Disewa Filem mempunyai pelbagai nilai. Sekarang mari kita beralih ke Bentuk Normal Pertama:
Peraturan 1NF (Borang Normal Pertama)
- Setiap sel jadual harus mengandungi satu nilai.
- Setiap rekod perlu unik.
Jadual di atas dalam 1NF-
Contoh 1NF
Sebelum meneruskan, mari kita fahami beberapa perkara -
Apa itu KEY?
KUNCI adalah nilai yang digunakan untuk mengenal pasti rekod dalam jadual secara unik. KUNCI boleh menjadi satu lajur atau gabungan beberapa lajur
Catatan: Lajur dalam jadual yang TIDAK digunakan untuk mengenal pasti rekod secara unik disebut lajur bukan kunci.
Apakah Kunci Utama?

Utama adalah nilai lajur tunggal yang digunakan untuk mengenal pasti rekod pangkalan data secara unik.
Ia mempunyai sifat berikut
- Kunci utama tidak boleh NULL
- Nilai kunci utama mestilah unik
- Nilai utama utama jarang diubah
- Kunci utama mesti diberi nilai semasa rekod baru dimasukkan.
Apakah Kunci Komposit?
Kekunci komposit adalah kunci utama yang terdiri daripada beberapa lajur yang digunakan untuk mengenal pasti rekod secara unik
Di pangkalan data kami, kami mempunyai dua orang dengan nama yang sama Robert Phil, tetapi mereka tinggal di tempat yang berbeza.
Oleh itu, kami memerlukan Nama dan Alamat Penuh untuk mengenal pasti rekod secara unik. Itu adalah kunci gabungan.
Mari beralih ke bentuk 2NF normal kedua
Peraturan 2NF (Bentuk Normal Kedua)
- Peraturan 1- Berada dalam 1NF
- Peraturan 2- Kekunci Utama Lajur Tunggal
Sudah jelas bahawa kita tidak dapat bergerak maju untuk membuat pangkalan data mudah kita dalam bentuk Normalisasi kedua kecuali kita membahagi jadual di atas.
Kami telah membahagikan jadual 1NF kepada dua jadual iaitu. Jadual 1 dan Jadual2. Jadual 1 mengandungi maklumat ahli. Jadual 2 mengandungi maklumat mengenai filem yang disewa.
Kami telah memperkenalkan lajur baru yang disebut Membership_id yang merupakan kunci utama untuk jadual 1. Rekod dapat dikenal pasti secara unik dalam Jadual 1 menggunakan id keahlian
Pangkalan Data - Kunci Asing
Dalam Jadual 2, Membership_ID adalah Kunci Asing
Kunci Asing merujuk kunci utama Jadual lain! Ini membantu menghubungkan Jadual anda
- Kunci asing boleh mempunyai nama yang berbeza dari kunci utamanya
- Ini memastikan baris dalam satu jadual mempunyai baris yang sesuai dengan yang lain
- Tidak seperti kunci Utama, mereka tidak harus unik. Selalunya tidak
- Kekunci asing boleh dibatalkan walaupun kunci utama tidak dapat
Mengapa anda memerlukan kunci asing?
Andaikan, seorang pemula memasukkan catatan dalam Jadual B seperti
Anda hanya dapat memasukkan nilai ke dalam kunci asing anda yang terdapat dalam kunci unik dalam jadual induk. Ini membantu dalam integriti rujukan.
Masalah di atas dapat diatasi dengan menyatakan id keahlian dari Jadual2 sebagai kunci asing keahlian dari Jadual1
Sekarang, jika seseorang cuba memasukkan nilai di medan id keahlian yang tidak ada dalam jadual induk, kesalahan akan ditunjukkan!
Apakah pergantungan fungsi transitif?
Ketergantungan fungsional transitif adalah ketika menukar lajur bukan kunci, mungkin menyebabkan lajur bukan kunci lain berubah
Pertimbangkan jadual 1. Menukar lajur bukan kunci Nama Penuh boleh mengubah Salutasi.
Mari beralih ke 3NF
Peraturan 3NF (Borang Normal Ketiga)
- Peraturan 1- Berada di 2NF
- Peraturan 2- Tidak mempunyai pergantungan fungsi transitif
Untuk memindahkan jadual 2NF ke 3NF, sekali lagi kita perlu membahagikan jadual kita lagi.
Contoh 3NF
Berikut adalah contoh 3NF dalam pangkalan data SQL:
Kami sekali lagi membahagikan jadual kami dan membuat jadual baru yang menyimpan Salutations.
Tidak ada pergantungan fungsi transitif, dan oleh itu jadual kami berada dalam 3NF
Dalam Jadual 3 ID salam adalah kunci utama, dan dalam Jadual 1 ID salam adalah kunci utama dalam Jadual 3
Sekarang contoh kecil kita berada pada tahap yang tidak dapat diuraikan lebih jauh untuk mencapai bentuk normalisasi normal yang lebih tinggi. Sebenarnya, ia sudah dalam bentuk normalisasi yang lebih tinggi. Usaha yang berasingan untuk beralih ke tingkat normalisasi data berikutnya biasanya diperlukan dalam pangkalan data yang kompleks. Walau bagaimanapun, kami akan membincangkan tahap normalisasi seterusnya secara ringkas berikut.
BCNF (Borang Normal Boyce-Codd)
Walaupun pangkalan data adalah dalam 3 rd Bentuk Normal, masih akan ada anomali menyebabkan jika ia mempunyai lebih daripada satu Calon Key.
Kadang-kadang BCNF juga disebut sebagai 3.5 Bentuk Biasa.
Peraturan 4NF (Bentuk Normal Keempat)
Sekiranya tidak ada contoh jadual pangkalan data yang mengandungi dua atau lebih, data bebas dan multivalu yang menggambarkan entiti yang berkaitan, maka itu dalam Bentuk Normal ke- 4 .
Peraturan 5NF (Bentuk Normal Kelima)
Jadual berada dalam Bentuk Normal ke- 5 hanya jika berada dalam 4NF dan tidak dapat diuraikan ke dalam sebilangan besar meja yang lebih kecil tanpa kehilangan data.
6NF (Bentuk Normal Keenam) Dicadangkan
Borang Normal ke- 6 tidak diseragamkan, namun dibincangkan oleh pakar pangkalan data untuk beberapa waktu. Mudah-mudahan, kita mempunyai definisi yang jelas & standard untuk Borang Normal ke- 6 dalam masa terdekat ...
Itu sahaja untuk Normalisasi SQL !!!
Ringkasan
- Perancangan pangkalan data sangat penting untuk keberhasilan pelaksanaan sistem pengurusan pangkalan data yang memenuhi keperluan data sistem perusahaan.
- Proses Normalisasi dalam DBMS membantu menghasilkan sistem pangkalan data yang menjimatkan kos dan mempunyai model keselamatan yang lebih baik.
- Pergantungan fungsional adalah komponen yang sangat penting dalam menormalkan proses data
- Sebilangan besar sistem pangkalan data adalah pangkalan data yang dinormalisasi hingga bentuk normal ketiga.
- Kunci utama yang dikenal pasti secara unik adalah rekod dalam Jadual dan tidak boleh kosong
- Kekunci asing membantu menghubungkan jadual dan merujuk kunci utama