Bentuk Normal
Bentuk normal adalah hierarki kondisi pada skema relasional — didefinisikan dalam hal ketergantungan fungsional dan multivalue — yang masing-masing menyingkirkan kelas redundansi tertentu dan anomali yang ditimbulkannya.
Definition
Bentuk normal adalah properti dari skema relasi, yang dinyatakan dalam hal ketergantungan fungsional atau multivalue, yang pemenuhannya menjamin tidak adanya jenis redundansi tertentu dan anomali pembaruan, penyisipan, dan penghapusan terkait.
Scope
Topik ini mencakup bentuk normal dan redundansi yang dihilangkan oleh masing-masing bentuk: bentuk normal pertama (nilai atribut atomik), bentuk normal kedua dan ketiga (menghilangkan ketergantungan parsial dan transitif pada kunci kandidat), bentuk normal Boyce-Codd (setiap ketergantungan fungsional nontrivial memiliki superkey di sisi kirinya), dan bentuk normal keempat (menghilangkan ketergantungan multivalue nontrivial). Ini menjelaskan cara menguji keanggotaan dalam setiap bentuk menggunakan ketergantungan. Ini tidak termasuk mekanisme dekomposisi skema untuk mencapai bentuk normal, yang dibahas di bawah penyempurnaan skema.
Core questions
- Kondisi apa yang diberlakukan oleh setiap bentuk normal, dan redundansi apa yang dihilangkannya?
- Bagaimana ketergantungan parsial dan transitif terkait dengan bentuk normal kedua dan ketiga?
- Kapan suatu skema berada dalam bentuk normal Boyce-Codd tetapi tidak dalam bentuk yang lebih rendah, atau sebaliknya?
- Bagaimana ketergantungan multivalue memotivasi bentuk normal keempat?
- Bagaimana suatu relasi diuji untuk keanggotaan dalam bentuk normal tertentu?
Key concepts
- bentuk normal pertama (atomisitas)
- bentuk normal kedua (tidak ada ketergantungan parsial)
- bentuk normal ketiga (tidak ada ketergantungan transitif)
- bentuk normal Boyce-Codd
- atribut prima dan non-prima
- ketergantungan multivalue
- bentuk normal keempat
- penghapusan anomali
Key theories
- Bentuk normal pertama hingga ketiga
- 1NF mensyaratkan nilai atribut atomik; 2NF menghilangkan ketergantungan atribut non-prima pada bagian dari kunci kandidat; 3NF secara tambahan menghilangkan ketergantungan transitif, sehingga atribut non-prima hanya bergantung pada kunci kandidat.
- Bentuk normal Boyce-Codd
- Skema berada dalam BCNF jika untuk setiap ketergantungan fungsional nontrivial X → Y, X adalah superkey; BCNF menghilangkan semua redundansi karena ketergantungan fungsional tetapi dekomposisi BCNF mungkin gagal mempertahankan semua ketergantungan.
- Bentuk normal keempat dan ketergantungan multivalue
- Bentuk normal keempat Fagin menggeneralisasi BCNF ke ketergantungan multivalue, mensyaratkan bahwa setiap ketergantungan multivalue nontrivial memiliki superkey di sisi kirinya, menghilangkan redundansi yang tidak dapat dijelaskan oleh ketergantungan fungsional.
Clinical relevance
Bentuk normal memberikan desainer basis data daftar periksa konkret untuk menghasilkan skema yang bebas dari anomali yang didorong oleh redundansi; dalam praktiknya sebagian besar basis data operasional menargetkan bentuk normal ketiga atau BCNF, sementara desainer secara sadar melonggarkan bentuk-bentuk ini untuk kinerja dalam beban kerja analitik dan pelaporan.
History
Codd mendefinisikan 1NF, 2NF, dan 3NF pada awal 1970-an; BCNF yang lebih kuat dikembangkan oleh Boyce dan Codd tak lama setelah itu. Ronald Fagin memperkenalkan 4NF (1977) untuk ketergantungan multivalue dan kemudian 5NF untuk ketergantungan gabungan, melengkapi hierarki klasik yang digunakan dalam pengajaran dan praktik.
Key figures
- Edgar F. Codd
- Raymond F. Boyce
- Ronald Fagin
Related topics
Seminal works
- codd1972
- fagin1977
- silberschatz2019
Frequently asked questions
- Bentuk normal mana yang harus saya tuju?
- Sebagian besar desain transaksional menargetkan bentuk normal ketiga atau bentuk normal Boyce-Codd, yang menghilangkan redundansi yang disebabkan oleh ketergantungan fungsional. Bentuk normal keempat dan kelima menangani ketergantungan multivalue dan gabungan yang lebih jarang. Lebih tinggi tidak selalu lebih baik dalam praktik: desainer terkadang berhenti pada 3NF atau melakukan denormalisasi untuk kinerja baca.
- Bisakah suatu skema berada dalam bentuk normal yang lebih tinggi tetapi tidak dalam bentuk yang lebih rendah?
- Bentuk klasik 1NF hingga BCNF bersifat bersarang, jadi berada dalam BCNF menyiratkan berada dalam 3NF, 2NF, dan 1NF. Namun, suatu skema dapat memenuhi 3NF sementara gagal BCNF, yang merupakan kasus umum di mana desainer harus memilih antara BCNF dan mempertahankan semua ketergantungan fungsional.