Rumah Keuangan Pribadi SQL Form Normal Domain-Key (DK / NF) dan Bentuk Abnormal - dummies

SQL Form Normal Domain-Key (DK / NF) dan Bentuk Abnormal - dummies

Daftar Isi:

Video: Fifth Normal Form 5NF 2024

Video: Fifth Normal Form 5NF 2024
Anonim

Setelah database SQL berada dalam bentuk normal ketiga, Anda telah menghilangkan sebagian besar, tapi tidak semua, kemungkinan anomali modifikasi. Bentuk normal di luar yang ketiga didefinisikan untuk memadamkan beberapa bug yang tersisa.

Bentuk normal kunci-domain (DK / NF)

Bentuk normal Boyce-Codd (BCNF), bentuk normal keempat (4NF), dan bentuk normal kelima (5NF) adalah contoh formulir tersebut. Setiap bentuk menghilangkan anomali modifikasi yang mungkin namun tidak menjamin pencegahan semua kemungkinan modifikasi anomali. Bentuk normal kunci domain, bagaimanapun, memberikan jaminan semacam itu.

bentuk normal domain-kunci (DK / NF) jika setiap kendala pada relasi adalah konsekuensi logis dari definisi kunci dan domain. Kendala dalam definisi ini adalah peraturan yang cukup tepat sehingga Anda dapat mengevaluasi apakah benar atau tidak. Kunci adalah pengenal unik dari sebuah baris dalam sebuah tabel. A domain adalah kumpulan nilai atribut yang diizinkan.
Lihatlah database ini, yaitu di 1NF, untuk melihat apa yang harus Anda lakukan untuk menempatkan database di DK / NF.

Tabel:

PENJUALAN (Customer_ID, Produk, Harga)

Kunci: Customer_ID

Kendala: Customer_ID menentukan Produk

Produk menentukan Harga

  • Customer_ID harus berupa bilangan bulat > 1000

  • Untuk menerapkan Kendala 3 (bahwa Customer_ID harus bilangan bulat lebih besar dari 1000), Anda dapat menentukan domain untuk Customer_ID untuk memasukkan batasan ini. Itu membuat kendala konsekuensi logis dari domain kolom CustomerID. Produk bergantung pada Customer_ID, dan Customer_ID adalah kunci, jadi Anda tidak memiliki masalah dengan Kendala 1, yang merupakan konsekuensi logis dari definisi kunci.

    Kendala 2

adalah

masalah. Harga tergantung pada (adalah konsekuensi logis dari) Produk, dan Produk bukanlah kunci. Solusinya adalah membagi tabel PENJUALAN menjadi dua tabel. Satu tabel menggunakan Customer_ID sebagai kunci, dan yang lainnya menggunakan Produk sebagai kunci. Database, selain berada di 3NF, juga ada di DK / NF. Rancang basis data Anda jadi mereka berada di DK / NF jika memungkinkan. Jika Anda bisa melakukannya, menerapkan batasan kunci dan domain menyebabkan semua kendala terpenuhi, dan anomali modifikasi tidak mungkin dilakukan. Jika struktur database dirancang untuk mencegah Anda memasukkannya ke DK / NF, maka Anda harus membuat batasan ke dalam program aplikasi yang menggunakan database. Database itu sendiri tidak menjamin bahwa kendala akan terpenuhi. Bentuk tidak normal

Seperti dalam kehidupan, jadi di database: Terkadang tidak normal terbayar.Anda bisa terbawa dengan normalisasi dan melangkah terlalu jauh. Anda bisa memecah database menjadi begitu banyak tabel sehingga keseluruhannya menjadi berat dan tidak efisien. Performanya bisa anjlok. Seringkali struktur optimal untuk database Anda agak denormalized.

Sebenarnya, database praktis (yang sangat besar, toh) hampir tidak pernah dinormalisasi sampai ke DK / NF. Anda ingin menormalkan database yang Anda rancang sebanyak mungkin, bagaimanapun, untuk menghilangkan kemungkinan korupsi data yang diakibatkan oleh modifikasi anomali.

Setelah Anda menormalkan database sejauh mungkin, buat beberapa retrievals sebagai run kering. Jika kinerjanya tidak memuaskan, periksalah desain Anda untuk melihat apakah denormalization selektif akan memperbaiki kinerja tanpa mengorbankan integritas. Dengan menambahkan redundansi secara hati-hati di lokasi strategis dan hanya menetapkan

cukup, Anda bisa sampai pada database yang efisien dan aman dari anomali.

SQL Form Normal Domain-Key (DK / NF) dan Bentuk Abnormal - dummies

Pilihan Editor

Bagaimana Menyediakan Dokumen dengan CSS3 - dummies

Bagaimana Menyediakan Dokumen dengan CSS3 - dummies

Menggunakan CSS3 untuk membuat garis besar dokumen berguna bila halaman berisi banyak materi dan Anda ingin pengguna menavigasi dengan mudah. Garis besar bergantung pada berbagai tag yang Anda berikan. Metode pembuatan dokumen saat ini adalah menggunakan tag sampai . Pendekatan ini bekerja dengan baik ...

Cara Mendaftar untuk Akun Google - dummies

Cara Mendaftar untuk Akun Google - dummies

Pembuat google Page menyediakan alat canggih yang memungkinkan bahkan halaman desain perancang pemula Sebelum Anda dapat menggunakan Google Page Creator untuk membuat halaman Web Anda sendiri, Anda harus mendaftar ke akun Google. Untuk mendaftar dan memulai membangun situs Web, ikuti langkah-langkah ini:

Bagaimana mengedarkan tepi dan membuat beberapa kolom dengan CSS3 - dummies

Bagaimana mengedarkan tepi dan membuat beberapa kolom dengan CSS3 - dummies

Daripada memiliki untuk menggunakan hingga empat gambar terpisah untuk memberi ilusi bentuk melengkung di situs Anda, dengan CSS3 Anda sekarang dapat membuat wadah dengan sudut melengkung! Inilah kodenya, yang memiliki deklarasi CSS3 yang didukung penuh di bagian atas diikuti oleh duplikat yang diawali untuk browser lainnya: #box {border-radius: 20px; ...

Pilihan Editor

PHP & MySQL For Dummies Cheat Sheet - dummies

PHP & MySQL For Dummies Cheat Sheet - dummies

Saat menulis program PHP untuk membuat aplikasi database Web Anda dan berkomunikasi Dengan database MySQL, Anda memiliki banyak hal yang perlu diingat. Anda harus mengeja kode dengan benar dan menggunakan sintaks yang sempurna. Lembar Cheat ini memberikan referensi untuk melihat secara cepat sintaks yang benar untuk kode yang paling sering Anda gunakan.

Gunakan kembali Kode di Program PHP melalui Fungsi - dummies

Gunakan kembali Kode di Program PHP melalui Fungsi - dummies

Anda dapat, dengan bantuan sebuah auto_prepend_file, buat sebuah fungsi file yang secara otomatis disertakan dalam semua program PHP Anda. Fungsi ini mungkin sesuatu yang sederhana seperti memulai sesi atau serumit fungsi login keseluruhan. Setiap kali Anda membutuhkan atau berpikir bahwa Anda perlu memiliki fungsi di lebih dari satu file, ...

Memecahkan skrip PHP - dummies

Memecahkan skrip PHP - dummies

Anda tidak dapat menulis skrip tanpa membuat kesalahan tertentu. Caranya adalah dengan melatih diri untuk mengenalinya, putar mata Anda, katakan, "Tidak lagi," dan perbaiki saja. Satu pesan kesalahan yang akan Anda lihat berkali-kali adalah Parse error: parse error in c: test. php on line 7 Ini adalah cara PHP untuk mengatakan "Hah? "Artinya ...

Pilihan Editor

Bagaimana Membangun Kampanye Otomasi Pemasaran untuk Memimpin Memimpin Memelihara - dummies

Bagaimana Membangun Kampanye Otomasi Pemasaran untuk Memimpin Memimpin Memelihara - dummies

Anda dapat memberdayakan tenaga penjualan dengan mengasuh program otomasi pemasaran untuk membantu mereka menjadi lebih efektif dengan waktu mereka. Berikut adalah beberapa item yang perlu dipertimbangkan sebelum Anda membuat program pengasuhan yang spesifik ini: Segmentasi / otomasi: Anda perlu menyiapkan cara agar penjualan mengarah ke program tetes dalam Customer Relationship Management ...

Bagaimana Membangun Kampanye Pemasaran Otomatis untuk Penjualan Dingin Memimpin - dummies

Bagaimana Membangun Kampanye Pemasaran Otomatis untuk Penjualan Dingin Memimpin - dummies

Kampanye pemasaran otomatis pertama Anda harus membangun penjualan setelah menghidupkan pemberdayaan penjualan harus dirancang untuk menangkap dan memelihara prospek yang tidak dapat dicapai penjualan melalui proses penjualan. Prospek ini biasanya jatuh melalui celah-celah dan tidak pernah terdengar lagi. Banyak artikel yang mencakup keefektifan penjualan merujuk pada statistik bahwa ...

Bagaimana Membangun Kampanye Otomasi Pemasaran Memimpin Bersih Memimpin Baru - dummies

Bagaimana Membangun Kampanye Otomasi Pemasaran Memimpin Bersih Memimpin Baru - dummies

Tujuan jaring baru memimpin memupuk program otomasi pemasaran adalah untuk mengambil keputusan baru dari pertunangan pertamanya untuk menjadi timbal penjualan yang siap. Saat membangun program pengasuhan utama bersih pertama, gunakan daftar periksa berikut untuk memastikan bahwa Anda memiliki semua yang Anda butuhkan untuk membuat program hebat: Konten: Anda ...