Key adalah satu gabungan dari beberapa atribut yang dapat membedakan semua basis data (row) dalam tabel secara unik.
Key di dalam database berfungsi
sebagai suatu cara untuk
mengidentifikasi dan menghubungkan satu tabel data dengan tabel yang lain.
Jenis-Jenis Key
- Primary Key (Kunci Primer)
Kunci
primer adalah suatu atribut atau satu set minimal atribut yang tidak hanya
mendefinisikan secara unik suatu kejadian spesifik tetapi juga dapat mewakili
setiap kejadian dari suatu kejadian.
Nilai field yang menjadi primary key harus:
- Unik atau tidak boleh ganda
- Tidak boleh Null (kosong, tidak diketahui, tidak dapat
ditentukan)
- Key tersebut lebih natural untuk dijadikan acuan
database tanpa data apapun yang asing. Setiap tabel dapat
memiliki satu atau lebih candidate key.
Key boleh terdiri lebih dari satu field Key yang
terdiri lebih dari satu kolom seperti ini disebut Composite Key
Contoh Primary 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.
Nomor_pesanan sebagai foreign key di tabel
barang_pesanan.
-
Foreign Key (Kunci Tamu)
Foreign Key adalah
satu set atribut atau set atribut sebagai key penghubung kedua tabel dan
melengkapi satu relationship (hubungan) terhadap primary key yang menunjukan
keinduknya.
Jika sebuah primary key terhubungan ke table/entity lain,
maka keberadaan primary key pada entity tersebut di sebut sebagai foreign key.
Contoh Foreign Key :
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 disebut 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.
- Candidat key (Kunci kandidat/kunci calon)
adalah
suatu atribut atau satu set minimal atribut yang hanya mengidentifikasikan
secara unik untuk suatu kejadian spesifik dari entitas.
Candidate key ini harus memenuhi syarat sbb:
Unique Identifier, untuk setiap row/tuple candidate key
harus secara unik dapat menjadi identifier. Artinya, setiap non candidate key
atribut secara fungsional bergantung pada candidate tersebut.
Non Redudancy, tidak ada duplikasi candidate key untuk
menjadi unique identifier, dimana tidak dapat dilakukan penghapusan pada
candidate key dimana tidak merusak sifat unique identifier.
Contoh dari candidate key adalah:
Untuk entiti 'supplier' candidate key yang dapat kita
pilih adalah atribut SNo, karena secara fungsional atribut SName, Status, dan
City bergantung ke atribut SNo.
Contoh Candidate Key
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
- 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.
composite setidaknya satu atribut yang membentuk kunci
komposit bukanlah kunci sederhana.
Contoh Composite Key:
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. Dimana kunci asing mungkin sendiri dapat menjadi kunci majemuk.
—
- Alternative Key adalah candidate key yang tidak dipilih sebagai primary key.
-
Sekunder key adalah sebuah atribut atau kombinasi yang digunakan hanya untuk tujuan pengambilan data.
0 komentar:
Posting Komentar