Sabtu, 11 November 2023

Primary Key, Foreign Key dan Candidate Key



 1. Primary Key



primary key adalah suatu nilai yang ada didalam suatu basis data yang dimana digunakan untuk mengidentifikasi suatu baris yang ada di dalam tabel. Nilai yang ada didalam primary key adalah unik. Sedangkan secara sederhananya primary key dapat juga diartikan sebagai kolom yang berisi nilai unik, yang dimana memiliki fungsi sebagai identitas yang untuk membedakan setiap record yang ada didalam suatu tabel. 

Primary Key merupakan ‘tanda pengenal’ yang ditetapkan untuk suatu tabel. Primary Key ini harus merupakan atribut yang paling cocok dan paling dapat membedakan data-data yang ada di dalam tabel tersebut. Misalnya, setiap mahasiswa pasti memiliki NIM dan nomor ponsel. Kedua atribut ini pasti merupakan data yang unik. Tidak ada dua mahasiswa yang memiliki NIM dan nomor ponsel yang sama persis. Akan tetapi, mana atribut yang paling cocok untuk menjadi ‘tanda pengenal’ dari mahasiswa? jawabannya adalah NIM yang pastinya lebih cocok untuk dijadikan ‘tanda pengenal’ si mahasiswa.

dari contoh di atas, dapat kita lihat bahwa jenis key dalam database mungkin ada lebih dari satu atribut yang dapat dijadikan ‘tanda pengenal’ dari suatu tabel, karena sifatnya yang memang unik. Akan tetapi, perlu kita pertimbangkan lagi manakah atribut yang paling cocok untuk dijadikan ‘tanda pengenal’ tabel tersebut.


Berikut ini adalah contoh Primary Key:

1. Kode Produk: Dalam tabel "Produk," kolom "Kode Produk" bisa menjadi primary key untuk mengidentifikasi setiap produk yang dijual.

2. Nomor Karyawan: Dalam tabel "Karyawan," kolom "Nomor Karyawan" bisa menjadi primary key untuk mengidentifikasi setiap karyawan.

3. Nomor Kendaraan: Dalam tabel "Kendaraan," kolom "Nomor Kendaraan" bisa menjadi primary key untuk mengidentifikasi setiap kendaraan dalam sebuah perusahaan.

4. Nomor Pesanan: Dalam tabel "Pesanan," kolom "Nomor Pesanan" bisa menjadi primary key untuk mengidentifikasi setiap pesanan yang ditempatkan oleh pelanggan.


5. ID Pelanggan: Dalam tabel "Pelanggan," kolom "ID Pelanggan" bisa digunakan sebagai primary key untuk mengidentifikasi setiap pelanggan secara unik.

2.Foreign Key

Foreign key adalah sebuah atribut atau sebuah gabungan dari atribut yang terdapat di dalam sebuah tabel dan digunakan untuk menciptakan hubungan atau relasi dari dua tabel.

Dalam dunia database, keberadaan dan penggunaan dari foreign key ini akan merujuk pada sebuah kunci primer dimana posisinya terdapat pada tabel pertama atau bisa juga dikenal dengan tabel master. Kunci asing ini bisa berlaku penggunaannya dalam pengolahan relasional database.

Dari kedua tabel di atas, kita dapat melihat bahwa ada siswa dan ada kelas dalam suatu sekolah. Akan tetapi, kita tidak bisa melihat siswa mana masuk di kelas mana. Untuk memperjelas tabel di atas, kita dapat mengetahui jenis key dalam database menghubungkan kedua tabel dengan menggunakan foreign key.

Dari tabel di atas, dapat kita ketahui bahwa primary key dari tabel siswa adalah NIS atau Nomor Induk Siswa. Sementara, primary key dari tabel kelas adalah Kode Kelas. Untuk menghubungkan kedua tabel di atas, kita cukup menambahkan Kode Kelas sebagai foreign key pada Tabel Siswa. Dengan begitu, tampilan tabel siswa secara keseluruhan akan seperti di bawah ini:

Perlu diingat bahwa jenis key dalam database memiliki atribut. Atribut yang akan kamu gunakan sebagai foreign key haruslah merupakan primary key pada tabel asalnya ya, teman-teman.

Secara sederhana foreign key ini dapat diartikan sebagai kunci asing. Yang dimana definisi ini juga berlaku didalam pengolahan relasional database. Kunci asing (foreign key) adalah sebuah atribut yang terdapat didalam suatu tabel yang dimana untuk digunakan untuk menciptakan hubungan  antara dua tabel.

Di dalam relational database penggunaan foreign key merujuk pada suatu kunci primer yang terdapat pada tabel pertama atau juga dikenal dengan tabel master.

Fungsi dari forign key adalah foreign key digunakan untuk menandakan hubungan tabel yang satu dengan yang lainnya. Yang dimana istilah ini dikenal sebagai parent dan child. Suatu tabel dapat dikatakan sebagai child apabila didalam suatu tabel terdapat kolom yang merupakan rujukan terhadap tabel pertama atau parent. Selain itu juga foreign key ini memiliki fungsi:

  • Dengan menggunakan kunci asing maka anda akan secara otomatis database akan konsisten dalam mempertahankan yang namanya integritas referensial. Dengan begitu maka database anda akan dapat memonitor setiap data yang akan dimasukan.
  • Ketika anda telah menetapkan kunci primer di tabel utama anda maka itu akan memudahkan anda juga dalam melihat perancangan fisik database dengan menggunakan komponen yang saling terkait.
  • Dengan membuat kolom yang digunakan sebagai foreign key maka dapat juga memudahkan anda untuk melakukan operasi pengolahan setiap data yang akan disimpan didalam database anda.

Berikut ini adalah contoh Foreign Key:

1. ID Pelanggan (dalam tabel Pesanan): Dalam tabel "Pesanan," kolom "ID Pelanggan" mungkin berfungsi sebagai foreign key yang merujuk pada primary key "ID Pelanggan" dalam tabel "Pelanggan." Hal ini digunakan untuk menghubungkan setiap pesanan dengan pelanggan yang melakukan pesanan tersebut.

2. ID Kategori Produk (dalam tabel Produk): Dalam tabel "Produk," kolom "ID Kategori Produk" bisa berperan sebagai foreign key yang merujuk ke primary key "ID Kategori Produk" dalam tabel "Kategori Produk." Ini membantu dalam mengkategorikan setiap produk sesuai dengan kategori yang sesuai.

3. ID Supervisor (dalam tabel Karyawan): Dalam tabel "Karyawan," kolom "ID Supervisor" mungkin berfungsi sebagai foreign key yang merujuk pada primary key "ID Karyawan" dalam tabel yang sama (Karyawan). Hal ini digunakan untuk menunjukkan hubungan hierarki antara karyawan dan supervisor mereka dalam organisasi.

4. ID Kota (dalam tabel Alamat Pelanggan): Dalam tabel "Alamat Pelanggan," kolom "ID Kota" bisa digunakan sebagai foreign key yang merujuk ke primary key "ID Kota" dalam tabel "Kota" atau "Daerah." Ini membantu dalam menghubungkan alamat pelanggan dengan kota atau daerah tempat mereka tinggal.

5. ID Pemasok (dalam tabel Pembelian): Dalam tabel "Pembelian," kolom "ID Pemasok" bisa berperan sebagai foreign key yang merujuk ke primary key "ID Pemasok" dalam tabel "Pemasok." Hal ini digunakan untuk menghubungkan setiap pembelian dengan pemasok yang menyediakan barang atau layanan.

3.Candidate Key

Candidate Key adalah satu atau beberapa  atribut unik yang salah satu bisa menjadi kunci primer.  Artinya atribut  kunci kandidat  (calon kunci) adalah salah satu dari beberapa atribut objek yang masing-masingnya memiliki nilai unik (superkey minimal) dalam tabel basis data. Salah satu dari atribut kunci kandidat (candidate-key) tersebut akan menjadi Kunci primer (Primary Key) dan yang tidak terpilih disebut kunci alternatif. OLeh karena alasan tersebut Candidate key (kunci kandidat) tertentu berkaitan erat dengan kunci utama (primary key), kunci sekunder  atau kunci alternatif.

Berikut ini adalah contoh Candidate Key:

1.Nomor Karyawan (dalam tabel Karyawan): Dalam tabel "Karyawan," kolom "Nomor Karyawan" dapat dianggap sebagai candidate key karena setiap nomor karyawan harus unik, dan Anda dapat menggunakannya sebagai primary key untuk mengidentifikasi karyawan.

2.Nomor Pesanan (dalam tabel Pesanan): Dalam tabel "Pesanan," kolom "Nomor Pesanan" bisa menjadi candidate key karena nomor pesanan harus unik untuk setiap pesanan, dan Anda dapat menggunakannya sebagai primary key.

3.Nomor ID Pelanggan (dalam tabel Pelanggan): Dalam tabel "Pelanggan," kolom "Nomor ID Pelanggan" bisa menjadi candidate key karena setiap nomor ID pelanggan harus unik, dan Anda dapat menggunakannya sebagai primary key.

4.Nomor Paspor (dalam tabel Penumpang): Dalam tabel "Penumpang" pada sistem penerbangan, kolom "Nomor Paspor" bisa menjadi candidate key karena nomor paspor adalah identifikasi yang unik untuk setiap penumpang.

5.Nomor Serial Produk (dalam tabel Produk): Dalam tabel "Produk," kolom "Nomor Serial Produk" bisa dianggap sebagai candidate key karena nomor seri produk harus unik untuk setiap produk yang dijual.



Tidak ada komentar:

Posting Komentar