Dijelaskan 7 Jenis Kunci dalam DBMS

Diterbitkan: 2021-03-12

Daftar isi

Apa Kunci dalam DBMS?

Kunci dalam DBMS adalah atribut atau sekumpulan atribut yang membantu mengidentifikasi secara unik sebuah tuple (atau baris) dalam suatu relasi (atau tabel). Kunci juga digunakan untuk membangun hubungan antara tabel dan kolom yang berbeda dari database relasional. Nilai individu dalam sebuah kunci disebut nilai kunci.

Blog ini akan mencakup semua yang perlu Anda ketahui tentang kunci dalam DBMS dan penutupan atribut untuk temukan Kunci dari setiap relasi (tabel). Tetap sampai akhir artikel untuk beberapa pertanyaan penting GATE tentang kunci di DBMS.

Mengapa Kunci Diperlukan?

Sebuah kunci digunakan dalam definisi berbagai macam batasan integritas. Sebuah tabel dalam database mewakili kumpulan record atau event untuk relasi tertentu. Sekarang bisa ada ribuan dan ribuan catatan seperti itu, beberapa di antaranya mungkin diduplikasi.

Harus ada cara untuk mengidentifikasi setiap catatan secara terpisah dan unik, yaitu tidak ada duplikat. Kunci memungkinkan kita untuk bebas dari kerumitan ini.

Mari kita ambil contoh kehidupan nyata dari database setiap siswa yang belajar di sebuah perguruan tinggi teknik.

Apa atribut siswa yang menurut Anda akan secara unik mengidentifikasi masing-masing dari mereka? Anda dapat merujuk ke siswa dengan menggunakan nama, departemen, tahun, dan bagian mereka. Atau, Anda dapat menyebutkan hanya nomor daftar universitas siswa, dan Anda bisa mendapatkan semua detail lainnya dari itu.

Kunci dapat berupa kombinasi lebih dari satu atribut (atau kolom) atau hanya satu atribut. Motif utama dari ini adalah untuk memberikan setiap catatan identitas yang unik .

Baca Juga: DBMS vs RDBMS

Jenis Kunci dalam DBMS

Secara umum ada tujuh jenis kunci dalam DBMS:

  1. Kunci utama
  2. Kunci Kandidat
  3. Kunci Super
  4. Kunci asing
  5. Kunci Komposit
  6. Kunci Alternatif
  7. Kunci Unik

Mari kita lihat masing-masing secara terpisah.

1. Kunci Utama

Kunci utama adalah kolom tabel atau kumpulan kolom yang membantu mengidentifikasi setiap record yang ada di tabel itu secara unik. Hanya ada satu Kunci utama dalam sebuah tabel. Juga, Kunci utama tidak dapat memiliki nilai yang sama berulang untuk setiap baris. Setiap nilai dari kunci utama harus berbeda tanpa pengulangan.

Batasan PRIMARY KEY (PK) yang diletakkan pada kolom atau kumpulan kolom tidak akan mengizinkannya memiliki nilai nol atau duplikat apa pun. Satu tabel hanya dapat memiliki satu batasan kunci utama. Nilai apa pun dalam kunci utama tidak dapat diubah oleh kunci asing apa pun (dijelaskan di bawah) yang merujuk padanya.

2. Kunci Super

Super Key adalah kumpulan semua kunci yang membantu mengidentifikasi baris dalam tabel secara unik. Ini berarti bahwa semua kolom tabel yang mampu mengidentifikasi kolom lain dari tabel itu secara unik semuanya akan dianggap sebagai kunci super.

Super Key adalah superset dari kunci kandidat (dijelaskan di bawah). Kunci Utama dari sebuah tabel diambil dari kumpulan kunci super untuk dijadikan atribut identitas tabel.

3. Kunci Kandidat

Kunci kandidat adalah atribut yang secara unik mengidentifikasi baris tabel. Kunci Utama tabel dipilih dari salah satu kunci kandidat. Jadi, kunci kandidat memiliki properti yang sama dengan kunci utama yang dijelaskan di atas. Bisa ada lebih dari satu kunci kandidat dalam sebuah tabel.

4. Kunci Alternatif

Seperti yang dinyatakan di atas, sebuah tabel dapat memiliki beberapa pilihan untuk kunci utama; namun, ia hanya dapat memilih satu. Jadi, semua kunci yang tidak menjadi kunci utama disebut kunci alternatif.

5. Kunci Asing

Kunci Asing digunakan untuk membangun hubungan antara dua tabel. Kunci asing akan membutuhkan setiap nilai dalam kolom atau kumpulan kolom agar sesuai dengan Kunci Utama dari tabel referensial. Kunci asing membantu menjaga data dan integritas referensial.

6. Kunci Komposit

Composite Key adalah satu set dua atau lebih atribut yang membantu mengidentifikasi setiap tuple dalam tabel secara unik. Atribut dalam himpunan mungkin tidak unik jika dipertimbangkan secara terpisah. Namun, ketika diambil bersama-sama, mereka akan memastikan keunikan.

7. Kunci Unik

Unique Key adalah kolom atau kumpulan kolom yang secara unik mengidentifikasi setiap record dalam sebuah tabel. Semua nilai harus unik dalam Kunci ini. Kunci unik berbeda dari kunci utama karena hanya dapat memiliki satu nilai nol, sedangkan Kunci utama tidak dapat memiliki nilai nol.

Ketergantungan Fungsional

Sekarang setelah kita mengetahui jenis kunci yang berbeda dalam DBMS, mari kita lihat bagaimana mengidentifikasinya ketika diberi tabel dari database. Untuk ini, kami menggunakan konsep dependensi fungsional.

Sebuah ketergantungan fungsional (FD) adalah kendala antara dua set atribut. Batasan ini untuk dua tupel t1 dan t2 di r jika t1[X] = t2[X], maka mereka memiliki t1[Y] = t2[Y]. Ini berarti nilai komponen X dari tupel secara unik menentukan nilai komponen Y.

FD dilambangkan sebagai X ? Y (ini dibaca sebagai “Y secara fungsional bergantung pada X”). Ruas kiri disebut determinan, dan ruas kanan disebut dependen.

Penutupan satu set Atribut

Penutupan adalah satu set semua FD yang mungkin diturunkan dari satu set FD yang diberikan. Hal ini juga disebut sebagai satu set lengkap FD. Jika F digunakan untuk mendonasikan himpunan FD untuk relasi R, maka penutupan himpunan FD yang diimplikasikan oleh F dilambangkan dengan F+ .

Kami sekarang akan mendefinisikan penutupan satu set atribut mengenai satu set FD yang diberikan. Ini akan membantu mengidentifikasi Kunci super dari hubungan dan menemukan apakah FD dapat disimpulkan dari kumpulan FD tertentu atau FD berlebihan. Setelah menemukan sekumpulan dependensi fungsional pada suatu relasi, langkah selanjutnya adalah menemukan Super Key untuk relasi tersebut (tabel).

Kemudian kami menemukan himpunan penutupan atribut untuk memutuskan apakah suatu atribut (atau kumpulan atribut) dari tabel mana pun adalah kunci untuk tabel itu atau tidak. Himpunan atribut yang secara fungsional bergantung pada atribut X disebut Attribute Closure of X , dan dapat direpresentasikan sebagai X+.

Di bawah ini adalah beberapa aturan yang diperlukan untuk menentukan F+:

  1. Refleksivitas: Jika X adalah superset dari Y atau Y adalah himpunan bagian dari X, maka X ? Y.
  2. Augmentasi: Jika X ? Y, lalu XZ ? YZ. Atau Jika Z W, dan X ? Y, lalu XW ? YZ.
  3. Transitivitas: Jika X ? Y dan Y? Z, lalu X? Z.
  4. Serikat: Jika X ? Y dan X? Z, lalu X? YZ.
  5. Penguraian: Jika X ? YZ, lalu X ? Y dan X? Z.
  6. Pseudo-Transitivitas: Jika X ? Y dan YW? Z, lalu XW ? Z.

Bagaimana cara menemukan Candidate Key dan Super Keys menggunakan Attribute Closure?

  • Jika penutupan atribut dari suatu himpunan atribut berisi semua atribut relasi, himpunan atribut tersebut akan menjadi super Key dari relasi tersebut.
  • Jika tidak ada subset dari himpunan atribut ini yang secara fungsional dapat menentukan semua atribut relasi, himpunan tersebut akan menjadi kunci kandidat.

Mari kita bahas beberapa pertanyaan GATE yang diajukan sebelumnya untuk melihat aplikasi penutupan atribut.

GERBANG 2014

Pertimbangkan skema relasi R = {E, F, G, H, I, J, K, L, M, N} dan himpunan dependensi fungsional {{E, F} ? {G}, {F} ? {Saya, J}, {E, H} ? {K, L}, K ? {M}, L ? {N} pada R. Apa kunci untuk R?

(A) {E, F}

(B) {E, F, H}

(C) {E, F, H, K, L}

(D) {E}

Pendekatan: Kami akan memeriksa penutupan atribut dari semua opsi yang disediakan. Himpunan yang penutupannya akan memberi kita seluruh relasi R akan menjadi jawaban yang benar.

J: {E, F} + = {EFGIJ} R

B: {E, F, H} + = {EFGHIJKLMN} = R

C: {E, F, H, K, L} + = {EFGHIJKLMN} = R

D: {E} + = {E} R

Kedua opsi B dan C memberi kita seluruh skema relasi. Namun, kami memilih opsi minimal untuk menjadi jawaban yang benar karena Kunci Kandidat harus berupa Kunci Super minimal .

Menjawab: B

GERBANG 2013

Relasi R memiliki delapan atribut ABCDEFGH. Bidang R hanya berisi nilai atom. F = {CH ? G, A? SM, B? CFH, E ? A, F? EG} adalah himpunan dependensi fungsional (FD) sehingga F+ persis himpunan FD yang berlaku untuk R.

Berapa banyak kunci kandidat yang dimiliki relasi R?

(A) 3

(B) 4

(C) 5

(D) 6

Pendekatan: Kami akan mengambil LHS dari setiap ketergantungan fungsional yang diberikan dalam pertanyaan dan menemukan penutupan atributnya.

CH+ = G

A+ = ABCEFGH

B+ = ABCEFGH

E+ = ABCEFGH

F+ = ABCEFGH

Jadi kita melihat bahwa penutupan A, B, E, F memiliki seluruh hubungan kecuali untuk atribut D. Jadi ada total 4 kunci kandidat AD, BD, ED dan FD.

Jawaban: B

Pelajari Kursus Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Kesimpulan

Kunci dan dependensi fungsional memainkan peran yang sangat vital dalam mendesain database. Konsep-konsep ini juga membantu untuk menemukan perbedaan antara desain database yang baik dan yang buruk. Proses terakhir untuk menghilangkan redundansi dan membuat database menjadi efisien adalah normalisasi , yang menggunakan semua konsep yang disebutkan dalam artikel ini.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang pengembangan tumpukan penuh, lihat Program PG Eksekutif upGrad & IIIT-B dalam Pengembangan Perangkat Lunak Tumpukan Penuh, yang dirancang untuk profesional yang bekerja dan menawarkan 500+ jam pelatihan ketat, 9+ proyek, dan penugasan, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.

Apa saja jenis-jenis kunci dalam DBMS?

Ada beberapa jenis kunci yang digunakan dalam database. Kunci utama digunakan untuk mengidentifikasi baris tertentu dalam sebuah tabel. Kunci unik digunakan untuk memastikan bahwa hanya ada satu entri dalam tabel tertentu. Kunci asing digunakan untuk menghubungkan entri dalam satu tabel ke tabel lainnya. Kunci komposit adalah kumpulan beberapa kolom dalam tabel yang semuanya digunakan untuk mengidentifikasi baris. Tombol-tombol ini membantu Anda mengidentifikasi kolom tertentu dari deretan tabel secara akurat dan unik. Oleh karena itu, sangat penting untuk menggunakan kolom yang akurat sebagai kunci sesuai kasus penggunaan Anda.

Apa itu kunci asing dalam DBMS?

Kunci asing adalah kolom atau kumpulan kolom yang digunakan untuk menghubungkan baris satu tabel ke baris tabel lain. Ini digunakan untuk mencegah inkonsistensi data. Dalam DBMS, kunci asing diimplementasikan menggunakan satu kolom atau satu set kolom (kolom logis) dan DBMS memeriksa apakah nilai dalam kolom ini cocok dengan nilai dalam kolom yang direferensikan (kunci utama). Sebagai contoh, katakanlah tabel A dan tabel B keduanya memiliki kolom yang disebut kolom A. Anda dapat mengatakan bahwa kolom A pada tabel A adalah referensial ke kolom A pada tabel B. Ini dapat dibayangkan sebagai panah dengan nilai kunci asing yang menunjuk ke meja sasaran.

Apa itu kunci komposit dalam DBMS?

Kunci komposit adalah superkey. Ini adalah kombinasi dari satu atau lebih kolom. Hal ini memungkinkan satu kunci yang akan dibangun dari kombinasi kolom yang berbeda. Ini juga disebut pengidentifikasi komposit, kunci komposit, atau kunci majemuk. Singkatnya, Anda dapat menggunakan sekumpulan kolom untuk mengidentifikasi baris unik di tabel Anda, jika Anda tidak memiliki satu kolom pun yang dapat mengidentifikasi baris secara unik. Dalam kasus seperti itu, kumpulan semua kolom yang akan Anda gunakan akan dianggap sebagai kunci komposit. Oleh karena itu, dapat dikatakan bahwa kunci utama memiliki lebih dari satu kolom, itu dinamai sebagai kunci komposit.