Apa itu Ketergantungan Fungsional?
Fungsi Dependency (FD) adalah kekangan yang menentukan hubungan satu atribut dengan atribut yang lain dalam Sistem Pengurusan Pangkalan Data (DBMS). Ketergantungan Fungsional membantu menjaga kualiti data dalam pangkalan data. Ini memainkan peranan penting untuk mencari perbezaan antara reka bentuk pangkalan data yang baik dan buruk.
Ketergantungan fungsional dilambangkan dengan anak panah "→". Ketergantungan fungsional X pada Y ditunjukkan oleh X → Y. Mari kita fahami Ketergantungan Fungsional dalam DBMS dengan contoh.
Contoh:
Nombor pekerja | Nama Pekerja | Gaji | Bandar |
1 | Dana | 50000 | San Francisco |
2 | Francis | 38000 | London |
3 | Andrew | 25000 | Tokyo |
Dalam contoh ini, jika kita mengetahui nilai nombor Karyawan, kita dapat memperoleh Nama Karyawan, kota, gaji, dan lain-lain. Dengan ini, kita dapat mengatakan bahawa kota, Nama Karyawan, dan gaji secara fungsinya bergantung pada nombor Karyawan.
Dalam tutorial ini, anda akan belajar:
- Syarat utama
- Peraturan Pergantungan Fungsional
- Jenis Ketergantungan Fungsional dalam DBMS
- Ketergantungan berbilang nilai dalam DBMS
- Ketergantungan Fungsi Trivial dalam DBMS
- Ketergantungan Fungsi tidak remeh dalam DBMS
- Pergantungan transitif dalam DBMS
- Apakah Normalisasi?
- Kelebihan Ketergantungan Fungsional
Syarat utama
Berikut adalah beberapa syarat utama untuk Ketergantungan Fungsional dalam Pangkalan Data:
Syarat Utama | Penerangan |
Aksioma | Axioms adalah sekumpulan peraturan inferensi yang digunakan untuk menyimpulkan semua kebergantungan fungsional pada pangkalan data relasional. |
Penguraian | Ini adalah peraturan yang menunjukkan jika anda mempunyai jadual yang nampaknya mengandungi dua entiti yang ditentukan oleh kunci utama yang sama maka anda harus mempertimbangkan untuk memecahnya menjadi dua jadual yang berbeza. |
Bergantung | Ia dipaparkan di sebelah kanan rajah ketergantungan fungsional. |
Penentu | Ia dipaparkan di sebelah kiri Diagram ketergantungan fungsional. |
Kesatuan | Ini menunjukkan bahawa jika dua jadual terpisah, dan PK sama, anda harus mempertimbangkan untuk meletakkannya. bersama |
Peraturan Pergantungan Fungsional
Berikut adalah tiga peraturan terpenting untuk Ketergantungan Fungsional dalam Pangkalan Data:
- Peraturan refleksif -. Sekiranya X adalah sekumpulan atribut dan Y is_subset_of X, maka X memegang nilai Y.
- Aturan Augmentasi: Apabila x -> y menahan, dan c ditetapkan atribut, maka ac -> bc juga menahan. Iaitu menambahkan atribut yang tidak mengubah kebergantungan asas.
- Peraturan transitiviti: Peraturan ini sangat serupa dengan peraturan transitif dalam aljabar jika x -> y tahan dan y -> z tahan, maka x -> z juga berlaku. X -> y dipanggil sebagai berfungsi yang menentukan y.
Jenis Ketergantungan Fungsional dalam DBMS
Terdapat terutamanya empat jenis Ketergantungan Fungsional dalam DBMS. Berikut adalah jenis Ketergantungan Fungsional dalam DBMS:
- Ketergantungan Berbilang Nilai
- Ketergantungan Fungsional Trivial
- Ketergantungan Fungsi Bukan Trivial
- Pergantungan Transitif
Ketergantungan Berbilang Nilai dalam DBMS
Ketergantungan berbilang nilai berlaku dalam keadaan di mana terdapat beberapa atribut berbilang nilai bebas dalam satu jadual. Ketergantungan multivalu adalah kekangan lengkap antara dua set atribut dalam hubungan. Ia memerlukan tupel tertentu ada dalam hubungan. Pertimbangkan Contoh Ketergantungan Multivalu berikut untuk difahami.
Contoh:
Model_Kereta | Maf_tahun | Warna |
H001 | 2017 | Logam |
H001 | 2017 | Hijau |
H005 | 2018 | Logam |
H005 | 2018 | Biru |
H010 | 2015 | Logam |
H033 | 2012 | Kelabu |
Dalam contoh ini, maf_year dan warna saling bergantung antara satu sama lain tetapi bergantung pada model_kenderaan. Dalam contoh ini, kedua lajur ini dikatakan berbilang nilai bergantung pada model_kereta.
Pergantungan ini dapat ditunjukkan seperti ini:
kereta_model -> maf_year
kereta_model-> warna
Ketergantungan Fungsional Trivial dalam DBMS
Ketergantungan Trivial adalah sekumpulan atribut yang disebut sepele jika kumpulan atribut termasuk dalam atribut itu.
Jadi, X -> Y adalah kebergantungan fungsi sepele jika Y adalah subset X. Mari kita fahami dengan Contoh Ketergantungan Fungsional Trivial.
Sebagai contoh:
Emp_id | Emp_nama |
AS555 | Harry |
AS811 | George |
AS999 | Kevin |
Pertimbangkan jadual ini dengan dua lajur Emp_id dan Emp_name.
{Emp_id, Emp_name} -> Emp_id adalah kebergantungan fungsi sepele kerana Emp_id adalah subset dari {Emp_id, Emp_name}.
Ketergantungan Fungsi Bukan Trivial dalam DBMS
Ketergantungan fungsional yang juga dikenali sebagai ketergantungan bukan kebiasaan berlaku apabila A-> B berlaku di mana B bukan subkumpulan A. Dalam hubungan, jika atribut B bukan subkumpulan atribut A, maka ia dianggap sebagai tidak sepele kebergantungan.
Syarikat | Ketua Pegawai Eksekutif | Umur |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
epal | Tim Masak | 57 |
Contoh:
(Syarikat} -> {CEO} (jika kita tahu Syarikat, kita tahu nama CEO)
Tetapi Ketua Pegawai Eksekutif bukan sebahagian daripada Syarikat, dan oleh itu ia bergantung kepada fungsi yang tidak sepele.
Ketergantungan Transitif dalam DBMS
Transend Dependency adalah jenis ketergantungan fungsional yang berlaku apabila t secara tidak langsung dibentuk oleh dua kebergantungan fungsional. Mari fahami dengan Contoh Ketergantungan Transitif berikut.
Contoh:
Syarikat | Ketua Pegawai Eksekutif | Umur |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Alibaba | Jack Ma | 54 |
{Syarikat} -> {Ketua Pegawai Eksekutif} (jika kita mengetahui kompaun, kita tahu nama CEOnya)
{CEO} -> {Age} Sekiranya kita kenal CEO, kita akan mengenal Zaman
Oleh itu menurut peraturan peraturan pergantungan transitif:
{Syarikat} -> {Umur} harus dipegang, itu masuk akal kerana jika kita mengetahui nama syarikat, kita dapat mengetahui usianya.
Catatan: Anda perlu ingat bahawa pergantungan transitif hanya dapat terjadi dalam hubungan tiga atau lebih atribut.
Apakah Normalisasi?
Normalisasi adalah kaedah mengatur data dalam pangkalan data yang membantu anda untuk mengelakkan kelebihan data, penyisipan, kemas kini & penghapusan penghapusan. Ini adalah proses menganalisis skema hubungan berdasarkan kebergantungan fungsi dan kunci utama mereka yang berbeza.
Normalisasi sememangnya wujud dalam teori pangkalan data hubungan. Ini mungkin mempunyai kesan menduplikasi data yang sama dalam pangkalan data yang boleh mengakibatkan pembuatan jadual tambahan.
Kelebihan Ketergantungan Fungsional
- Ketergantungan Fungsional mengelakkan kelebihan data. Oleh itu data yang sama tidak berulang di beberapa lokasi dalam pangkalan data tersebut
- Ini membantu anda menjaga kualiti data dalam pangkalan data
- Ini membantu anda untuk menentukan makna dan kekangan pangkalan data
- Ini membantu anda mengenal pasti reka bentuk yang tidak baik
- Ini membantu anda mencari fakta mengenai reka bentuk pangkalan data
Ringkasan
- Ketergantungan Fungsional adalah ketika satu atribut menentukan atribut lain dalam sistem DBMS.
- Aksioma, Penguraian, Bergantung, Penentu, Kesatuan adalah istilah utama untuk kebergantungan fungsional
- Empat jenis kebergantungan fungsional adalah 1) Multivalued 2) Trivial 3) Non-trivial 4) Transitif
- Ketergantungan berbilang nilai berlaku dalam keadaan di mana terdapat beberapa atribut berbilang nilai bebas dalam satu jadual
- Ketergantungan Trivial terjadi apabila sekumpulan atribut yang disebut sepele jika set atribut disertakan dalam atribut tersebut
- Ketergantungan bukan peribadi berlaku apabila A-> B berlaku di mana B bukan subset A
- Transitif adalah jenis kebergantungan fungsional yang berlaku apabila secara tidak langsung dibentuk oleh dua kebergantungan fungsional
- Normalisasi adalah kaedah mengatur data dalam pangkalan data yang membantu anda untuk mengelakkan kelebihan data