Ketergantungan fungsional berlaku untuk seluruh basis data atau hubungan tertentu?

8

Saya baru mengenal dbms. Saya melihat video ceramah tentang dependensi fungsional. Tetapi saya agak bingung bahwa apakah ketergantungan fungsional merupakan kendala pada seluruh database atau pada skema tertentu?

Saravanan
sumber

Jawaban:

9

Sebuah ketergantungan fungsional adalah apa istilah menyiratkan - output dari fungsi tersebut selalu ditentukan oleh input. Jika misalnya kita memiliki fungsi f () , dan menyediakan variabel x , dan kami selalu menerima output y , maka y secara fungsional tergantung pada x. Anda dapat memikirkan ini seperti fungsi grafik sederhana. 2x + 1 = y Memasukkan beberapa nilai sampel ke dalam fungsi yang kita dapatkan:

X    Y
------
1    3
2    5
3    7

dan seterusnya. Jadi kita tahu bahwa untuk setiap nilai x, ada nilai y yang akan selalu menjadi nilai y untuk x itu.

Codd mengadaptasi ini ke manajemen data sehubungan dengan menentukan apakah nilai elemen data selalu menghasilkan nilai yang diketahui dari elemen data kedua seolah-olah itu adalah input dan output dari suatu fungsi. Jadi misalnya, jika kami menemukan bahwa setiap karyawan dari sebuah perusahaan kecil diberi nomor karyawan, dan kami membuat daftar sederhana jumlah dan nama karyawan, kami menemukan bahwa nama itu secara fungsional tergantung pada jumlah karyawan itu. Setiap kali kita melihat karyawan nomor 7 misalnya, kita melihat nama "Jim Brown." Ini mewakili dalam database proposisi yang benar di dunia nyata - yaitu bahwa karyawan nomor 7 adalah orang yang bernama "Jim Brown" yang dapat kita tunjuk dan katakan "itu dia."

Ketergantungan fungsional dapat diimplementasikan sebagai kendala unik karena ada hubungan satu-satu antara input ke fungsi dan output yang diharapkan. Dalam contoh aljabar, ketika kita memasukkan 2 ke persamaan 2x + 1 kita akan selalu mendapatkan 5. Menerapkan contoh itu ke manajemen data dalam contoh di atas, setiap kali kita memiliki nomor karyawan 7 kita perlu memiliki satu dan hanya satu nama dan karakteristik lain yang menyertainya. Kita tidak dapat memiliki karyawan nomor 7 yang dikaitkan dengan "Jim Brown" dan "Bob Jones" lebih daripada yang dapat kita katakan bahwa memasukkan 7 ke 2x + 1 dapat menghasilkan 15 dan 25.

Ketergantungan fungsional menurut definisi diterapkan ketika kendala unik ditempatkan pada setiap tabel yang mengidentifikasi setiap set elemen data yang memiliki hubungan satu ke satu dengan set elemen data lainnya dan yang nilainya selalu bervariasi dengan set pertama. Notasi biasanya:

A,B ---> C

Ini berarti bahwa nilai A dan B menentukan nilai C. Mungkin A adalah nomor karyawan dan B adalah Nomor Tanggungan, dan C adalah nama dependen. Jadi dalam pengertian ini mereka berlaku untuk masing-masing dan setiap tabel di masing-masing dan setiap skema di masing-masing dan setiap database.

Beberapa referensi bagus tentang teori relasional adalah Seri Yayasan Basis Data Praktis Fabian Pascal dan buku Relasional Teori untuk Para Profesional Komputer dari Chris Date .

Todd Everett
sumber