Normalisasi benar-benar digunakan di dunia nyata ... dan mudah-mudahan Anda tahu bahwa 3NF hanyalah yang ketiga dari ... apa yang sekarang, 8? Tetapi 3NF harus menjadi target yang mudah.
Namun ... Saya berani mengatakan bahwa tidak ada alat seperti itu.
Normalisasi, secara teknis, adalah atribut dari setiap tabel. Dalam database yang diberikan, tabel yang berbeda mungkin memiliki tingkat normalisasi yang berbeda.
Setiap tabel mewakili fakta ... fakta tentang kejadian jenis tertentu (orang, akun, pesanan, pengiriman, barang, lokasi) termasuk, kadang-kadang, kunci asing yang mengarahkan Anda ke jenis fakta lain tentang hal itu.
Normalisasi berkaitan dengan seberapa akurat dan efisien fakta diwakili dalam tabel serta kemampuan desain tabel untuk mencegah pola data yang ambigu dan berlebihan.
Dengan demikian, diperlukan pemahaman tentang fakta aktual ... yang berada di luar ruang lingkup alat otomatis.
Q: Is a table with { student, subject, instructor } in 3NF?
A: What are students, subjects and instructors?
Di dunia di mana semua instruktur mengajar semua mata pelajaran dan setiap siswa dapat mengambil kombinasi apa pun tetapi tidak lebih dari satu mata pelajaran pada setiap mata pelajaran dari masing-masing instruktur, tabel ini memang bisa dikatakan berada di 3NF. Di dunia nyata, membuat klaim 3NF untuk tabel ini tidak masuk akal.
Untuk memahami apa yang tidak ada dalam 3NF diperlukan pemahaman tentang sifat fakta yang diwakilinya. Dalam kenyataan kami, tabel ini tidak akan menjadi 3NF karena (antara alasan lain) subjek dan instruktur dikaitkan bersama dengan cara-cara yang tidak ada hubungannya dengan siswa. Jika kita memiliki kursus di mana instruktur mengajar mata pelajaran yang disimpan di tempat lain dalam database kita, mengapa kita menyalin kedua nilai di sini alih-alih kunci asing dari tabel lain yang menunjukkan bahwa siswa telah mendaftar untuk kursus? Jika instruktur diganti, kami harus mengubah banyak catatan di banyak tempat.
Semakin normal suatu basis data, semakin konsisten secara intrinsik dengan dunia nyata dan dengan dirinya sendiri, dan semakin sulit untuk fakta-fakta basis data secara tidak sengaja menjadi tidak benar. Desain basis data adalah seni, tetapi yang paling pasti adalah ilmu juga.
Meskipun saya tidak melihat secara langsung dengan semua yang ditulisnya, saya akan merekomendasikan buku Chris Date, Desain Basis Data dan Teori Relasional: Bentuk Normal dan All That Jazz yang masuk ke detail luar biasa tentang teori yang mendasari model relasional.