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.
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.
0 comments:
Post a Comment