Database Instrumental 2 - Ketergantungan Fungsional dan Relasi Antar Data pada Database
Assalamu'alaikum
Selamat pagi, selamat berakhir pekan dan Salam data management. Berjumpa lagi dengan saya mimin yang tampan, baik hati dan tidak sombong. Kali ini kita akan melanjutkan kembali pembahasan yang sudah di jelaskan sebelumnya yaitu tentang database. Karena di pembahasan sebelumnya kita sudah mengetahui apa itu database. Maka pada artikel kali ini saya ingin membahas tentang ketergantungan fungsional dan relasi antar data (bukan tabel) pada database.
Relational Data Model
Pada dasarnya database memiliki banyak jenis atau modelnya. Seperti model database jaringan, hirarki, atau database relational yang kita pelajari kali ini. Database relational ini pertama kali diperkenalkan oleh Dr. E.F. Codd, peneliti IBM tahun 1970 pada seminar "A Relational model of data for large shared banks", Communication of ACM, pada juni 1970. Dimana tujuan dari model data relational ini adalah :
- Memungkinkan data independence, artinya program aplikasi tidak akan mempengaruhi perubahan data pada database.
- Menyediakan dasar substansi untuk berkaitan dengan data semantik, konsistensi data, dan masalah kerangkapan data.
- Memungkinkan ekspansi/perluasan bahasa manipulasi data yang berorientasi set.
Model data relasional adalah suatu model basis data yang menggunakan tabel dua dimensi yang terdiri dari baris dan kolom untuk menggambarkan record-record datanya.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH7N71uhwd4uzuirY75sHNOM6zJPykTBr-hWSUl1bYBtcTuBIRGTFQyBYvkt1HvUnCB8dWDDacGZMvyPC2QZU1smO68rx46Le_PgVKLpYuIEEsx0nwsxAWYjI0Rj2xH5u5qStbtP8iFlL3/s1600/3.png)
Struktur Data Relational
Selain model, relational database juga memiliki struktur sebagai berikut.
- Entitas, adalah tabel dengan baris dan kolom. Contoh: tabel MAHASISWA, tabel DOSEN, tabel MATA KULIAH.
- Atribut, adalah nama kolom dari sebuah relasi. Contoh atribut dari MAHASISWA adalah NPM, nama mahasiswa, alamat, tempat lahir, tanggal lahir.
- Domain, adalah sekumpulan nilai untuk satu atau lebih atribut.
- Tuple, adalah baris dari suatu relasi.
- Degree, adalah derajat dari relasi yaitu jumlah atribut dalam sebuah relasi.
- Cardinality, adalah jumlah tuple dalam sebuah relasi.
- Basis data relasional adalah, kumpulan dari tabel-tabel normal.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhynyCbzbjyRJ2ZG8H4ZpWI7ZHVHWkmZC4bPkJs7u3kWbU26fYNo7E7v8V-1arUlDj45TMcq-D_xcsWQjZh6UApf5Y9WRDpRCV9CGhFG3bk7aBjO1TtPDNWsPjpfW826QXS4FgE2D5DGTpF/s1600/editan1.png)
Keterangan :
- Atribut: NPM, NamaMhsw, Jurusan, NoTelpon
- Domain(Jurusan)=char(20)
- Domain(NPM)=char (5)
- Cardinality(MAHASISWA)=5
- Degree(MAHASISWA)=4
Ketergantungan Fungsional Database
Dalam sebuah tabel database, terdapat suatu hubungan data antar attribut pada suatu tabel. Hubungan inilah yang bisa kita sebut sebagai ketergantungan fungsional. Ketergantungan fungsional terjadi ketika nilai satu attribut menentukan nilai attribut yang kedua, ketiga dan lainnya sesuai ketentuan relasinya. Nilai attribut penentu nilai ini kita sebut sebagai determinant.
Namun, ada beberapa tabel yang memiliki lebih dari satu determinant (penentu nilai attribut yang lain). Ini lah yang disebut sebagai ketentuan dari ketergantungan fungsional. Untuk memudahkannya disini saya akan memberikan contoh ketergantungan fungsinal dari sebuah data. Semisal kita memiliki slip atau sebuah kertas transaksi yang berhubungan dengan database dengan contoh sebagai sebagai berikut.
Dari contoh slip transaksi tersebut, kita ubah kedalam ketergantungan fungsional attributnya.
Maka list ketergantungan fungsionalnya adalah sebagai berikut.
- No Sales > Tgl
- No Sales > Nama
- No Sales > Alamat
- No Sales > Telp
- No Sales > Kode Bag
- No Sales > Grand Total
- No Sales & Kode Bag > Jumlah
- Kode Bag > Nama Barang
- Kode Bag > Harga
- Jumlah & Harga > Total
Pada data dalam database ini, terdapat lebih dari satu determinant. Hal ini dikarenakan suatu nilai attribut ada berdasarkan induk dari attribut tersebut (determinant). Hal ini menandakan bahwa semua attribut memiliki induk yang sama. Karena ini hubungan determinant dan nilai attribut disesuaikan dengan kondisi fungsionalnya.
Dilihat dari list ketergantungan diatas, maka banyak timbul pertanyaan kenapa attribut ini bergantung pada determinant ini atau mengapa determinant ini menentukan nilai attribut tersebut. Berikut rinciannya.
- No Sales > Tgl, Nama, Alamat, Telp. Determinant No Sales menentukan Tgl, Nama, Alamat, dan Telp ini sudah mutlak karena informasi no sales tersebut ada pada attribut yang disebutkan.
- No Sales > KodeBag. Hubungan ini juga termasuk mutlak karena Kode Bag tidak mungkin ada jika no sales tidak berjalan pada transaksi. Walaupun Kode Bag juga merupakan sebuah determinant.
- No Sales > Grand Total. Hubungan ini terjadi karena nilai akhir sebuah data untuk melengkapi informasi No Sales.
- No Sales & Kode bag > Jumlah. Relasi ini memiliki 2 determinant untuk menentukan satu attribut. Hal ini dikarenakan jumlah tidak akan ada jika kedua determinant ini tidak ada. Karena itu nilai jumlah bergantung kepada kedua determinant ini.
- Kode Bag > Nama Barang. Hubungan fungsional ini sudah mutlak karena ini merupakan data sebuah barang (inventory).
- Kode Bag > Harga. Hubungan ini juga mutlak karena harga tidak bergantung kepada determinant No Sales. Namun, harga ada pada nilai jual sebuah barang.
- Jumlah & Harga > Total. Hubungan determinant ini terjadi dengan penggunaan operator jumlah. Dimana Jumlah + Harga akan menghasilan total harga.
0 komentar:
Post a Comment