Jenis-jenis dan Contoh Keys di DBMS

dbms-keys

Apa saja Key dalam DBMS?

Key dalam DBMS adalah atribut atau seperangkat atribut yang membantu kita untuk mengidentifikasi baris (tuple) dalam suatu relasi tabel. Mereka memungkinkan kita untuk menemukan relasi antara dua tabel. Key dapat membantu kita dalam mengidentifikasi baris secara unik dalam tabel dengan kombinasi satu atau beberapa kolom dalam tabel itu. Key juga berguna untuk menemukan record atau baris unik dari tabel. Key database juga berguna untuk menemukan record atau baris unik dari tabel.

Contoh:

EmpIDFirstNameLastName
11NurArdi
22SandiWayudi
33DaditPradityo

Dalam contoh yang diberikan di atas, EmpID adalah Primary Key karena secara unik mengidentifikasi record karyawan. Dalam tabel ini, tidak ada karyawan lain yang dapat memiliki ID Karyawan yang sama.

Mengapa kita membutuhkan Key?

Berikut adalah alasan kenapa kita harus menggunakan key dalam membuat DBMS.
  • Kunci dapat membantu kita dalam mengidentifikasi baris data apa pun dalam tabel. Dalam aplikasi dunia nyata, tabel bisa berisi ribuan record. Selain itu juga, record dapat di duplikasi. Key dalam DBMS memastikan bahwa kita dapat secara unik mengidentifikasi record tabel meskipun ada tantangan ini.
  • Memungkinkan kita untuk membangun relasi antara tabel.
  • Membantu kita untuk menegaskan identitas dan integritas dalam relasi.

Jenis-jenis Key dalam DBMS

Ada delapan jenis key dalam DBMS dan setiap key memiliki fungsi yang berbeda-beda:
  1. Super Key
  2. Primary Key
  3. Candidate Key
  4. Alternative Key
  5. Foreign Key
  6. Compound Key
  7. Composite Key
  8. Surrogate Key
Mari kita lihat masing-masing key dalam DBMS beserta contohnya:
  • Super Key: Super key adalah sekelompok kunci tunggal atau ganda yang mengidentifikasi dalam tabel.
  • Primary Key: adalah kolom atau kelompok dalam tabel yang secara unik mengidentifikasi setiap baris dalam tabel itu.
  • Candidate Key: adalah seperangkat atribut yang secara unik mengidentifikasi tuple dalam tabel. Candidate Key adalah Super key tanpa atribut berulang.
  • Alternative Key: adalah kolom atau kelompok kolom dalam tabel yang secara unik mengidentifikasi setiap baris dalam tabel itu.
  • Foreign Key: adalah kolom yang menciptakan hubungan antara dua tabel. Tujuan dari Foreign key adalah untuk menjaga integritas data dan memungkinkan navigasi antara dua contoh yang berbeda dari suatu entitas.
  • Compound Key: memiliki dua atau lebih atribut yang memungkinkan kita untuk secara unik untuk mengenali record tertentu. Ada kemungkinan bahwa setiap kolom mungkin tidak unik dengan sendirinya dalam database.
  • Composite Key: adalah kombinasi dari dua atau lebih kolom yang secara untuk mengidentifikasi baris dalam tabel. Kombinasi kolom menjamin keunikan, meskipun keunikan secara individu tidak dijamin.
  • Surrogate Key:  kunci buatan memiliki fungsi untuk secara unik mengidentifikasi setiap record disebut surrogate key. Key semacam ini unik karena dibuat ketika kita tidak memiliki kunci alami.

Apa itu Super Key?

Super Key adalah sekelompok kunci tunggal atau ganda yang mengidentifikasi baris dalam tabel. Super Key mungkin memiliki atribut tambahan yang tidak diperlukan untuk mengenali baris secara unik.

Contoh

NIKNoKaryawanNamaKaryawan
99983210AB02Ardi
99982001AB06Wayudi
99092717AE66Pradityo

Dari tabel di atas yang yang merupakan Super Key adalah kolom NIK dan Nomor Karyawan.

Apa itu Primary Key?

Primary Key adalah kolom atau kelompok kolom dalam tabel yang secara unik mengidentifikasi setiap baris dalam tabel tersebut. Primary key tidak bisa menjadi duplikat yang berarti nilai yang sama tidak dapat muncul lebih dari sekali dalam tabel. Tabel tidak dapat memiliki lebih dari satu Primary key.

Aturan untuk mendefinisikan Primary Key

  • Dua baris tidak boleh memiliki nilai Primary Key yang sama.
  • Hanya setiap baris memiliki nilai setiap Primary Key.
  • Field Primary Key tidak boleh NULL.
  • Nilai dalam kolom Primary Key tidak boleh dimodifikasi atau diperbaharui jika ada Foreign Key yang mengacu pada Primary Key tersebut.

Contoh

Dalam contoh di bawah ini EmpID adalah Primary Key.

EmpIDFirstNameLastNameEmail
1TomCruisetom@gmail.com
2AndienMalawaandien@gmail.com
3NickLedonnick@gmail.com

Apa itu Alternative Key?

Alternative Key adalah kolom atau kelompok kolom dalam tabel yang secara unik mengidentifikasi setiap baris dalam tabel tersebut. Tabel dapat memiliki beberapa pilihan untuk Primary Key tetapi hanya satu saja yang dapat ditetapkan sebagai Primary Key. Semua Key yang bukan Primary Key disebut dengan Alternative Key.

Contoh

Dalam tabel ini, EmpID dan Email memenuhi syarat untuk menjadi Primary Key. Tetapi Karena EmpID adalah Primary Key, status email menjadi Alternative Key.

EmpIDFirstNameLastNameEmail
1TomCruisetom@gmail.com
2AndienMalawaandien@gmail.com
3NickLedonnick@gmail.com

Apa itu Candidate Key?

Candidate Key adalah seperangkat atribut yang secara unik mengidentifikasi tabel. Candidate Key adalah Super Key tanpa atribut yang berulang. Primary Key harus dipilih dari Candidate Key. Setiap tabel harus memiliki setidaknya satu Candidate Key. Tabel dapat memiliki beberapa Candidate Key tetapi hanya satu saja Primary Key.

Aturan Candidate Key

  • Harus memiliki nilai unik
  • Candidate Key di SQL mungkin memiliki beberapa atribut.
  • Tidak boleh berisi nilai NULL.
  • Harus memiliki field minimum untuk memastikan keunikan.
  • Mengidentifikasi setiap record secara unik di tabel.
Contoh Candidate Key: dalam tabel EmpID dan Email nilai yang diberikan adalah Candidate Key yang dapat membantu kita mengidentifikasi record pegawai secara unik di tabel.
candidatekey-pakardi

Apa itu Foreign Key?

Foreign Key adalah kolom yang dapat menciptakan relasi antar dua tabel. Tujuan dari foreign key adalah untuk menjaga integritas data dan memungkinkan navigasi antara dua contoh yang berbeda dari suatu entitas. Ini dapat bertindak sebagai referensi silang antara dua tabel karena mengacu pada Primary Key dari tabel lain.
CodePelajaranNamaPelajaran
001Bahasa Inggris
002Bahasa Indonesia
003Matematika
IDGuruFirstNameLastName
A002SitiAisya
A008SarahNindita
A009MikeSitompul

Dalam key ini dalam DBMS, kita memiliki dua tabel, tabel pelajaran dengan tabel guru. Namun, tidak ada yang terkait antara tabel yang satu dengan yang lainnya.

Dalam tabel tersebut, kita dapat menambahkan Foreign Key di CodePelajaran ke Nama Guru, kita dapat membuat relasi antara dua tabel. yang nantinya akan seperti ini.

IDGuruCodePelajaranFirstNameLastName
A002001SitiAisya
A008002SarahNindita
A009003MikeSitompul

Konsep ini juga dikenal sebagai Integritas Referensial.

Apa itu Compound Key?

Compound Key memiliki dua atau lebih atribut yang memungkinkan kita mengenali record secara unik. Ada kemungkinan bahwa setiap kolom mungkin tidak unik dengan sendirinya dalam database. Namun, ketika dikombinasikan dengan kolom lain akan menjadi unik. Tujuan dari Compound Key dalam database adalah untuk secara unik mengidentifikasi record dalam database.

Contoh:

OrderNoProductIDNamaProdukJumlah
B005JAP2213Mouse5
B005JKT9908USB10
B004OMG9900USB15
B002OMG9900Printer3

Dalam contoh ini, OrderNo dan ProductID tidak dapat menjadi kunci utama karena tidak secara unik mengidentifikasi record. Namun, Compound Key OrderNo dan ProductID dapat digunakan karena diidentifikasi secara unik di setiap record.

Apa itu Composite Key?

Composite Key adalah kombinasi dari dua atau lebih kolom secara unik mengidentifikasi baris dalam tabel. Kombinasi kolom menjamin keunikan, meskipun keunikan individu tidak dijamin. Oleh karena itu, mereka digabungkan untuk mengidentifikasi record secara untuk dalam tabel.

Perbedaanya antara compound dan composite key adalah bahwa setiap bagian dari compound key dapat menjadi foreign key, tetapi composite key mungkin atau tidak mungkin dari bagian dari foreign key.

Apa itu Surrogate Key?

Surrogate Key adalah key buatan yang bertujuan untuk secara unik mengidentifikasi setiap record yang disebut surrogate key. Jenis key ini dalam DBMS bersifat unik karena dibuat ketika kita tidak memiliki Primary Key alami. Mereka tidak memberi arti apa pun pada data dalam tabel. Surrogate key dalam DBMS biasanya merupakan bilangan bulat. Surrogate key adalah nilai yang dihasilkan tepat sebelum record dimasukan ke dalam tabel.

FirstNameLastNameStartFinish
AnniSmith09:0018:00
DongJun08:0017:00
AnnaMclean11:0020:00
SamuelShow14:0023:00

Seperti contoh yang ditunjukan di atas, menunjukan waktu shift para karyawan yang berbeda-beda. Dalam contoh ini, surrogate key diperlukan untuk mengidentifikasi secara unik setiap karyawan.

Surrogate dapat digunakan ketika-

  • Tidak ada properti yang memiliki parameter Primary Key.
  • Di tabel ketika Primari Key terlalu besar atau rumit.

Perbedaan Antara Primary Key dengan Foreign Key

Berikut adalah perbedaan yang utama antara Primary Key dengan Foreign Key:

Primary KeyForeign Key
Membantu kita mengidentifikasi record secara unik dalam table.Ini adalah field dalam table yang merupakan Primary Key dari table lain.
Primary Key tidak pernah memiliki nilai NULL.Foreign Key dapat menerima nilai NULL.
Primary Key adalah indeks berkerumun dan data dalam table DBMS secara fisik diatur dalam urutan indeks clustered.Foreign Keu tidak dapat otomatis membuat indeks. Namun, kita dapat membuat indeks secara manual.
Kita dapat memiliki Primary Key tunggal dalam tabel.Kita dapat memiliki beberapa Foreign Key dalam table.


Posting Komentar untuk "Jenis-jenis dan Contoh Keys di DBMS"