- Home »
- Composite Key , Database , Foreign Key , Primary Key , Relation »
- Jenis-Jenis Kunci Dalam Dalam Relation Database
Fatkhan
On Rabu, 24 Juli 2013
Menurut
para ahli, kunci
(key) hanya memiliki satu makna dalam teori relasional itu adalah
kumpulan dari
satu atau lebih kolom yang nilai-nilai gabungan unik di antara semua
kejadian dalam tabel tertentu. Utama adalah sarana relasional menetapkan
keunikan. Kunci adalah satu atau lebih atribut yang menentukan atribut
lainnya
atau antara atribut lain saling berkaitan.
Dalam metode relasional, ada 6 kunci yang di kenal yang akan di jelas
sebagai berikut.
1.
Candidat key.
Candidate 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. Candidat key 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 candidate key.
Contoh:
File pegawai berisi attribute
File pegawai berisi attribute
Ø
no
induk
Ø
No
ktp
Ø
Nama
Ø
Tempat
lahir
Ø
Tanggal
lahir
Ø
Alamat
Ø
Kota
Kunci kandidat disini adalah:
Ø
No
induk
Ø
No
ktp
2.
Primary Key (kunci utama)
Primary Key (kunci utama) adalah atribut Merupakan candidate key yang telah dipilih untuk
mengidentifikasi setiap record secara unik. Primary key harus merupakan field
yang benar-benar unik dan tidak boleh ada nilai NULL. Pengertian lainya
Primary Key adalah suatu nilai dalam basis data yang digunakan untuk
mengidentifikasi suatu baris dalam table. Primary key, salah satu atrribut
dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb :
Ø
Key tersebut lebih natural untuk
dijadikan acuan
Ø
Key tersebut lebih sederhana
Ø
Key tersebut cukup uniqe
database
tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih
candidate key.
Contoh:
File pegawai berisi attribute
File pegawai berisi attribute
Ø
no
induk
Ø
No
ktp
Ø
Nama
Ø
Tempat
lahir
Ø
Tanggal
lahir
Ø
Alamat
Ø
Kota
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.
3.
Alternate Key (Kunci Alternatif)
Alternate key Adalah candidate key yang tidak terpilih. Misal :
dalam suatu entity terdapat dua field yang bisa dijadikan sebagai kunci.
Sementara yang boleh dijadikan kunci hanya satu, maka anda harus memilih salah
satu. Field yang anda pilih, disebut primary key, sedangkan field yang tidak
dipilih disebut dengan alternate key.
Contoh:
File pegawai berisi attribute
File pegawai berisi attribute
Ø
no
induk
Ø
No
ktp
Ø
Nama
Ø
Tempat
lahir
Ø
Tanggal
lahir
Ø
Alamat
Ø
Kota
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. Dan untuk no ktp menjadi alternate key.
4.
Foreign
Key (kunci Tamu)
Jika sebuah primary key
terhubungan ke table/entity lain, maka keberadaan primary key pada entity
tersebut di sebut sebagai foreign key. Foreign key adalah Sebuah kumpulan field
dalam satu relasi yang digunakan untuk me“refer” (menunjuk) ke suatu baris
(tuple) pada relasi yang lain (harus berkorespondensi dengan primary key pada
relasi yang kedua), seperti: ‘logical pointer’. Sedangkan hubungan antara
keduanya (primary key dan foreign key) di jelaskan sebagai berikut,“Primary
Key” adalah field kunci / utama dari suatu tabel yang menunjukkan bahwa field
yang menjadi kunci tersebut tidak bisa diisi dengan data yang sama, atau dengan
kata lain Primary key menjadikan tiap record memiliki identitas sendiri-sendiri
yang membedakan satu sama lainnya (unik).“Foreign key” adalah satu attribute
yang melengkapi satu relationship yang menunjukan ke induknya, dengan kata lain
keduanya saling berkaitan. Perhatikan gambar berikut.
Pada gambar
diatas, nim pada table mhs adalah primary key. Sedangkan primary key pada table
matkul adalah id_matkul. Lalu id_matkul menempel pada table mhs yang kita sebut
sebagai foreign key.
Biasanya saya
menyebut table yang berisi foreign key sebagai table anak karena table tersebut
mengait pada table lain. Sedangkan table yang terkait saya sebut sebagai table
induk. Pada contoh table di atas, mhs sebagai table anak sedangkan matkul
sebagai table induk
5.
Composite key
Dalam desain
database, composite key 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 composite, 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.
Contohnya, suatu
entitas yang mewakili masing-masing modul siswa hadir di Universitas. entitas
ini memiliki nim dan kode_matakuliah sebagai kunci utama. Setiap atribut yang
membentuk kunci utama adalah kunci sederhana karena masing-masing merupakan
referensi unik ketika mengidentifikasi siswa dalam satu kasus dan modul yang
lain.
Sebaliknya, dengan
menggunakan contoh yang sama, bayangkan kita mengidentifikasi seorang mahasiswa
oleh NamaBelakang + NamaDepan mereka. Di tabel siswa tersebut pada modul kunci
utama yaitu NamaDepan + NamaBelakang + kode_matakuliah. Karena NamaBelakang +
NamaDepan merupakan referensi unik untuk mahasiswa, itu bukanlah sebuah kunci
sederhana, itu adalah kombinasi dari atribut yang digunakan untuk secara unik
mengidentifikasi seorang mahasiswa. Oleh karena itu kunci utama untuk entitas
ini adalah kunci komposit.
Tidak ada
pembatasan diterapkan pada atribut tentang (awal) kepemilikan mereka dalam
model data. Ini berarti bahwa setiap satu, tidak ada, atau semua, dari beberapa
atribut dalam kunci senyawa dapat menjadi kunci asing. Memang, kunci asing
mungkin sendiri menjadi kunci majemuk.
6.
Sekunder key
Sekunder key adalah
sebuah atribut atau kombinasi yang digunakan hanya untuk tujuan pengambilan
data.