Rumah Kewangan Peribadi Bagaimana Menangani Pengubahsuaian SQL Anomali dan Bentuk Yang Normal - dummies

Bagaimana Menangani Pengubahsuaian SQL Anomali dan Bentuk Yang Normal - dummies

Video: C$50 Finance 2024

Video: C$50 Finance 2024
Anonim

Banyak masalah - dipanggil pengubahsuaian anomali - boleh melumpuhkan pangkalan data jika anda tidak menstruktur Pangkalan data SQL dengan betul. Untuk mengelakkan masalah ini, anda boleh menormalkan struktur pangkalan data. Normalisasi biasanya melibatkan pembahagian satu jadual pangkalan data menjadi dua jadual yang lebih mudah.

Pengubahsuaian anomali dinamakan begitu kerana ia dijana oleh penambahan, perubahan kepada, atau pemadaman data dari jadual pangkalan data.

Misalkan, sebagai contoh, syarikat anda menjual produk pembersihan rumah, dan anda mengecaj semua pelanggan dengan harga yang sama untuk setiap produk. Jadual jualan menjejaki segala-galanya untuk anda. Anggapkan pelanggan 1001 bergerak dan tidak lagi pelanggan. Anda tidak peduli apa yang dia beli pada masa lalu, kerana dia tidak akan membeli apa-apa daripada anda lagi. Anda mahu memadamkan barisnya dari jadual.

Jika anda berbuat demikian, bagaimanapun, anda tidak hanya kehilangan hakikat bahawa pelanggan 1001 telah membeli detergen pakaian; anda juga kehilangan hakikat bahawa kos pencuci pakaian berharga $ 12. Keadaan ini dipanggil anomali penghapusan. Dalam menghapuskan satu fakta (pelanggan 1001 membeli detergen pakaian), anda secara tidak sengaja memadam fakta lain (kos pencuci pakaian itu bernilai $ 12).

Anda boleh menggunakan jadual yang sama untuk menggambarkan anomali penyisipan. Contohnya, katakan anda mahu menambah penghalau kayu ke barisan produk anda pada harga $ 2. Anda tidak boleh menambah data ini ke jadual JUALAN sehingga pelanggan membeli kayu bakar.

Masalah dengan jadual JUALAN adalah bahawa jadual ini mempunyai lebih daripada satu perkara: Ini tidak hanya membedakan produk yang dibeli oleh pelanggan, tetapi juga kos produk. Untuk menghapuskan anomali, anda perlu membahagikan jadual JUALAN ke dalam dua jadual, masing-masing berurusan dengan hanya satu tema atau idea.

  • CUST_PURCH, yang menangani idea tunggal pembelian pelanggan.

  • PROD_PRICE, yang berkaitan dengan idea tunggal harga produk.

Anda kini boleh memadamkan baris untuk pelanggan 1001 dari CUST_PURCH tanpa kehilangan fakta bahawa kos pencuci pakaian berharga $ 12. (Kos detergen pakaian kini disimpan dalam PROD_PRICE.) Anda juga boleh menambah penasihat kayu kepada PROD_PRICE sama ada atau tidak sesiapa telah membeli produk tersebut. Maklumat pembelian disimpan di tempat lain, dalam jadual CUST_PURCH.

Proses memecah jadual ke beberapa jadual, setiap satu mempunyai tema tunggal, dipanggil normalisasi. Operasi normalisasi yang menyelesaikan satu masalah mungkin tidak menjejaskan masalah lain.Anda mungkin perlu melaksanakan beberapa operasi normalisasi berturut-turut untuk mengurangkan setiap jadual yang dihasilkan kepada tema tunggal.

Setiap jadual pangkalan data harus berurusan dengan satu - dan hanya satu - tema utama. Kadang-kadang (seperti yang anda mungkin meneka) menentukan bahawa jadual benar-benar berurusan dengan dua atau lebih tema boleh menjadi sukar.

Anda boleh mengklasifikasikan jadual mengikut jenis anomali ubahsuaian yang mereka subjek. Dalam kertas 1970, E. F. Codd mengenal pasti tiga sumber anomali pengubahsuaian dan membentuk bentuk biasa pertama, kedua dan ketiga (1NF, 2NF, 3NF) sebagai remedi terhadap jenis-jenis anomali. Pada tahun-tahun berikutnya, Codd dan lain-lain menemui jenis anomali tambahan dan menetapkan bentuk biasa baru untuk menangani mereka.

Borang normal Boyce-Codd (BCNF), bentuk normal keempat (4NF), dan bentuk normal kelima (5NF) masing-masing memberikan tahap perlindungan yang lebih tinggi terhadap anomali pengubahsuaian. Walau bagaimanapun, sehingga tahun 1981, ada kertas, yang ditulis oleh Ronald Fagin, menerangkan bentuk normal utama domain atau DK / NF. Menggunakan borang biasa yang terakhir ini membolehkan anda menjamin bahawa jadual bebas daripada pengubahsuaian anomali.

Bentuk normal bersarang dalam erti kata bahawa jadual yang dalam 2NF secara automatik juga dalam 1NF. Begitu juga, jadual dalam 3NF secara automatik dalam 2NF, dan sebagainya. Bagi kebanyakan aplikasi praktikal, meletakkan pangkalan data dalam 3NF cukup untuk memastikan integriti yang tinggi. Untuk memastikan integriti sepenuhnya, anda mesti meletakkan pangkalan data ke dalam DK / NF.

Selepas anda menormalkan pangkalan data sebanyak mungkin, anda mungkin mahu membuat penyahpilihan tertentu untuk meningkatkan prestasi. Sekiranya anda berbuat demikian, ketahui jenis-jenis anomali yang mungkin menjadi mungkin.

Bagaimana Menangani Pengubahsuaian SQL Anomali dan Bentuk Yang Normal - dummies

Pilihan Editor

Bagaimana Meditasi Mengubah Brain - dummies

Bagaimana Meditasi Mengubah Brain - dummies

Bersenjata dengan maklumat terkini tentang cara kerja otak, penyelidik telah mempelajari korelasi antara meditasi, pengaktifan bahagian otak yang berlainan, dan perubahan tingkah laku, kognisi, dan emosi. Hasilnya adalah jauh dari konklusif - mereka lebih seperti mengintip sekilas tentang bidang eksplorasi baru yang luas - tetapi mereka ...

Pilihan Editor

Cara Menghitung Umur dengan Formula Excel - patung

Cara Menghitung Umur dengan Formula Excel - patung

Salah satu cara yang paling mudah untuk mengira umur apa-apa pun adalah untuk menggunakan fungsi Excel DATEDIF. Fungsi misterius ini tidak muncul dalam fail Bantuan Excel, tetapi telah wujud sejak Excel 2000. Fungsi ini membuat pengiraan apa-apa jenis tarikh perbandingan angin. Untuk mengira usia seseorang menggunakan fungsi DATEDIF, anda ...

Bagaimana Menghitung Masa Berlalu di Excel - dummies

Bagaimana Menghitung Masa Berlalu di Excel - dummies

Salah satu perhitungan yang lebih biasa dilakukan dengan nilai masa melibatkan pengiraan masa berlalu - iaitu bilangan jam dan minit antara waktu mula dan waktu tamat. Jadual dalam gambar menunjukkan senarai masa mula dan akhir bersama dengan masa berlalu yang dikira. Anda boleh melihat bahawa formula ...

Bagaimana Menghitung Nilai Masa Depan dalam Excel 2013 - dummies

Bagaimana Menghitung Nilai Masa Depan dalam Excel 2013 - dummies

Fungsi Masa Depan Nilai (FV) Excel 2013 ditemui di menu lungsur butang Financial pada tab Rumus Ribbon (Alt + MI). Fungsi FV mengira nilai masa depan pelaburan. Sintaks fungsi ini ialah = FV (rate, nper, pmt, [pv], [type]) Kadar, nper, pmt, dan jenis argumen adalah sama seperti yang digunakan oleh PV ...

Pilihan Editor

Memindahkan Imej Digital dari Kamera Anda ke Komputer Windows - dummies

Memindahkan Imej Digital dari Kamera Anda ke Komputer Windows - dummies

, Anda boleh dengan mudah memindahkan imej dari kamera digital anda ke komputer anda. Pemindahan kamera ke komputer memerlukan anda memasang pemandu kamera anda pada PC anda. Untuk memindahkan foto dari kamera digital atau pembaca kad anda ke PC anda

Memindahkan Foto Digital dari Kad Memori Anda ke Komputer Anda dengan Adapter Kad PC

Memindahkan Foto Digital dari Kad Memori Anda ke Komputer Anda dengan Adapter Kad PC

Banyak komputer riba mempunyai slot untuk menyambungkan peranti PC Card (seperti modem). Anda boleh membeli penyesuai untuk kad memori anda supaya mereka boleh muatkan slot tersebut. Selepas anda memasang perisian penyesuai (ikuti arahan yang disertakan dengan penyesuai anda), memindahkan fail imej ke komputer anda adalah satu snap: