Jenis-jenis Atribut Kunci (Key Field) dalam Basis Data
Pengertian Atribut (Field/Kolom)
Atribut identik dengan istilah “kolom data” tetapi dapat menunjukkan fungsinya sebagai pembentuk karakteristik (sifat-sifat) yang melekat dalam sebuah tabel.Pada penerapan aturan normalisasi, bisa berdampak pada penghilangan atau penambahan kolom tertentu, atau bahkan dapat memebentuk suatu tabel baru.
Contoh :
- Tabel kelompokfilm memiliki 2 atribut, yaitu : jenis dan harga_sewa
- Tabel film memiliki 5 atribut, yaitu : kode_film, jenis, judul, jml_keping, jml_film
Selain penamaan yang unik berdasarkan fungsinya di tiap tabel, atribut juga dapat dibedakan berdasarkan sejumlah pengelompokkan sbb :
- Atribut kunci dan Atribut Deskriptif
- Atribut Sederhana ( Simple Attribute ) dan Atribut Komposit ( Composite Attribute )
- Atribut Bernilai Tunggal ( Single-Valued Attribute ) dan Atribut Bernilai Banyak ( Multi-Valued Attribute )
- Atribut Harus Bernilai ( Mandatory Attribute ) dan Atribut Nilai Null ( Null Value Attribute)
- Atribut Turunan ( Derrived Attribute )
Atribut Kunci
Atribut Kunci adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data dalam tabel secara unik. Dikatakan unik jika pada atribut yang dijadikan kunci tidak boleh ada baris data dengan nilai yang sama.
Dalam metode relasional, ada 6 kunci yaitu :
Kunci Calon (Candidat key)
Kunci calon adalah salah satu rangkaian yang mempunyai nilai unik untuk membedakan atau mengidentifikasi nilai-nilai kombinasi yang unik diantara semua kejadian yang spesifik dari entetitas. Kunici calon ini tidak boleh berisi atribut dari tabel yang lain. kombinasi dari atribut yang dapat digunakan untuk mengidentifikasi secara unik rekor database tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih kunci calon.
Contoh:
Tabel pegawai berisi atribut
Contoh:
Tabel pegawai berisi atribut
- nip
- no_ktp
- nama
- tempat_lahir
- tanggal_lahir
- alamat
- Kota
Kunci Calon disini adalah:
- nip
- no_ktp
Kunci Utama (Primary Key)
Kunci utama adalah atribut merupakan kunci calon yang telah dipilih untuk mengidentifikasi setiap record secara unik. Kunci utama harus merupakan atribut yang benar-benar unik dan tidak boleh ada nilai NULL. Kunci utama adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam table. Salah satu dari kunci calon dapat dipilih menjadi kunci utama dengan 3 kriteria sbb:
- Kunci tersebut lebih natural untuk dijadikan acuan
- Kunci tersebut lebih sederhana
- Kunci tersebut cukup unik
No induk dan no ktp adalah kunci calon (Candidate Key) dan untuk kunci utama (primary key) adalah salah satu yang dipilih dari kunci calon. Misalnya No. induk di jadikan primary key, maka primary key nya adalah no induk.
Kunci Alternatif (Alternate Key)
Kunci Alternatif adalah kunci alternatif yang tidak terpilih. Misal : dalam suatu entitas terdapat dua atribut yang bisa dijadikan sebagai kunci. Sementara yang boleh dijadikan kunci hanya satu, maka anda harus memilih salah satu. Atribut yang dipilih, disebut kunci utama. sedangkan atribut yang tidak dipilih disebut dengan kunci .
Contoh:
Tabel pegawai berisi atribut
Contoh:
Tabel pegawai berisi atribut
- nip
- no_ktp
- nama
- tempat_lahir
- tanggal_lahir
- alamat
- kota
nip dan no_ktp adalah kunci calon dan untuk kunci utama adalah salah satu yang dipilih dari kunci calon. Misalnya nip di jadikan kunci utama, maka no_ktp otomatis menjadi kunci alternatif.
Kunci Tamu (Foreign Key)
Jika sebuah kunci utama terhubungan ke tebel lain, maka keberadaan kunci utama pada tersbut di sebut sebagai kunci tamu. Kunci tamu adalah Sebuah kumpulan atribut dalam satu relasi yang digunakan untuk me“refer” (menunjuk) ke suatu baris (tuple) pada relasi yang lain (harus berkorespondensi dengan kunci utama pada relasi yang kedua), seperti: ‘logical pointer’.
Sedangkan hubungan antara keduanya (kunci utama dan kunci tamu) di jelaskan sebagai berikut:
- Kunci utama adalah atribut kunci dari suatu tabel yang menunjukkan bahwa atribut tersebut tidak bisa diisi dengan data yang sama, atau dengan kata lain kunci utama menjadikan setiap record memiliki identitas sendiri-sendiri yang membedakan satu sama lainnya (unik).
- Kunci tamu adalah atribut yang melengkapi satu relationship yang menunjukan ke induknya, dengan kata lain keduanya saling berkaitan.
Perhatikan gambar diatas, atribut jenis pada tabel kelompokfilm adalah kunci utama karena bersifat unik. Pada tabel film juga terdapat atribut jenis disebut sebagai kunci tamu karena digunakan me”refer” dengan atribut jenis yang terdapat pada tabel kelompok film.
Biasanya table yang berisi atribut kunci primer yang di”refer” oleh tabel lain sering disebut table induk. Contohnya pada gambar diatas, tabel kelompokfilm merupakan tabel induk bagi tabel film. Sedangkan tabel yang mengandung kunci tamu yang merefer tabel lain disebut sebagaia tabel anak. Dalam contoh diatas maka tabel film merupakan tebel anak bagi tabel kelompokfilm.
Kunci Komposit (Composite key)
Dalam desain basisdata, kunci komposit adalah kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci sederhana dalam haknya sendiri.
Hal ini sering bingung dengan kunci gabungan, meskipun ini juga merupakan kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian, setidaknya satu atribut yang membentuk kunci komposit bukanlah kunci sederhana.
Hal ini sering bingung dengan kunci gabungan, meskipun ini juga merupakan kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian, setidaknya satu atribut yang membentuk kunci komposit bukanlah kunci sederhana.
Sebagai contoh pada tabel detailmenyewa dapat kita ketahui bahwa baik atributkode_sewa maupun kode_film tidaklah bersifat unik karena merupakan kunci tamu dari tabelmenyewa dan tabel film. Namun jika digambungkan (dikompositkan), yaitu kode_sewa +kode_film, maka diperoleh atribut komposit yang bersifat unik dimana tidak ada kode_sewayang sekaligus memiliki kode_film yang sama.
Kunci Sekunder (Secondary Key)
Kunci sekunder adalah sebuah atribut atau kombinasi yang digunakan hanya untuk tujuan pengambilan data.
Atribut Deskriptif
Atribut Deskriptif adalah atribut-atribut yang tidak menjadi atau merupakan anggota dari primary key.Jadi, dalam tabel mahasiswa yang menjadi atribut deskriptif adalah selain NIM.
Atribut Sederhana (simple attribute )
Atribut Sederhana adalah atribut atomik yang tidak dapat dipilah lagi. Contoh Atribut Sederhana pada tabel customer adalah no_identitas dan jaminan, dimana atribut ini tidak bisa dipecah lagi.
Atribut Komposit (composite attribute )
Atribut Komposit (composite attribute ) adalah atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna.
Contoh pada tabel customer adalah atribut alamat, dimana dapat diuraikan lagi menjadi alamat, kota dan kode_pos.
Atribut Bernilai Tunggal (single-valued attribute)
Atribut bernilai tunggal adalah atribut-atribut yang memiliki paling banyak satu nilai untuk setiap baris data. Contoh : Bila seorang mahasiswa memiliki 2 tempat tinggal, maka hanya 1 saja yang boleh diisikan ke atribut alamat_mhs.
Atribut Bernilai Banyak (multiple-valued attribute)
Atribut bernilai banyak adalah atribut-atribut yang dapat diisi dengan lebih dari satu nilai, tetapi jenisnya sama. Contoh : Atribut hobi pada data mahasiswa.Ada mahasiswa yang punya banyak hobi, ada yang cuma satu hobi dan ada yang tidak ada sama sekali.
Atribut Harus Bernilai (mandatory attribute)
Atribut harus bernilai adalah jika berisi data dan nilainya tidak boleh kosong.
Contoh : no_identitas dan nama_customer harus ada nilainya dalam tabel customer.
Contoh : no_identitas dan nama_customer harus ada nilainya dalam tabel customer.
Atribut Nilai Null ( non-mandatory attribute )
Atribut nilai null adalah atribut yang nilainya boleh dikosongkan. Dapat digunakan untuk menyatakan/mengisi atribut-atribut yang nilainya memang belum siap atau tidak ada.Nilai null tidak sama dengan spasi.
Atribut Turunan
Atribut turunan adalah atribut-atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut tabel lain yang berhubungan.Dapat ditiadakan dari sebuah tabel, karena nilainya bergantung pada nilai yang ada di atribut lain.