Teman-teman, apabila kamu sudah pernah belajar query database, kamu pastinya sudah mengetahui ya bahwa dalam sebuah database, kamu bisa membuat lebih dari satu tabel. Sama halnya dengan di dalam satu tabel, kamu bisa memiliki lebih dari satu data.

Akan tetapi, apabila kamu memiliki lebih dari satu tabel di dalam sebuah relational database, kamu juga tentunya harus mendefinisikan relasi antartabel yang kamu miliki, teman-teman. Nah, untuk memastikan agar tabel-tabel yang berada di dalam suatu relational database bisa saling terhubung, alat atau tool yang biasa digunakan dinamakan Entity Relationship Diagram atau ERD. Namun, artikel kali ini tidak akan membahas tentang ERD ya, teman-teman.

Artikel kali ini akan membahas tentang bagaimana tabel-tabel kamu bisa saling terhubung satu sama lain. Kira-kira, bagaimana ya cara menghubungkan tabel-tabel dalam database? Yup, kita harus menggunakan key dalam database untuk menjalankan fungsi yang satu ini! Nah, sebelum kamu bertanya-tanya lebih lanjut tentang apa itu key, yuk langsung kita masuk ke pembahasannya!

Apa itu Key?

Key dapat dipahami sebagai ‘tanda pengenal’ untuk mengidentifikasi sebuah baris di dalam tabel. Artinya, masing-masing baris data pasti dan harus memiliki ‘tanda pengenal’-nya sendiri. Key dapat diibaratkan seperti Nomor Induk Kependudukan (NIK) untuk masyarakat Indonesia atau Nomor Induk Mahasiswa (NIM) untuk para mahasiswa. Kita tidak mungkin menemukan dua orang penduduk dengan NIK yang sama, dan kita juga tidak mungkin menemukan dua mahasiswa dengan NIM yang sama ‘kan? Nah, prinsip inilah yang harus kita ingat ketika menentukan atribut yang akan dijadikan key dalam sebuah tabel.

Selain berperan sebagai ‘tanda pengenal’, key dalam database juga berperan sebagai penghubung antara satu tabel dengan tabel lainnya. Seperti yang sudah kita bahas di awal tadi, penting bagi tabel-tabel dalam suatu relational database untuk saling terhubung antara satu dengan yang lainnya. Untuk bisa menghubungkan tabel-tabel dalam suatu relational database, kita perlu menggunakan key dalam database kita. Oleh karena itu, fungsi key yang kedua ini juga tidak kalah penting nih dengan fungsinya sebagai ‘tanda pengenal’!

Jenis-jenis Key dalam Database

Key dalam database sebenarnya adalah atribut biasa yang ditambahkan deklarasi query tertentu untuk menjadikannya key dari tabel tersebut. Akan tetapi, sama seperti NIK dan NIM, atribut yang dijadikan key harus bersifat unik ya, teman-teman. Artinya, tidak boleh ada dua data atau dua baris dalam satu tabel yang memiliki atribut key yang sama. Selain itu, atribut yang dijadikan key juga wajib diisi dan tidak boleh dikosongkan.

Nah, tahukah kamu bahwa ternyata ada beragam jenis key dalam database? Sebelumnya, kita sudah membahas kedua fungsi key, yakni sebagai tanda pengenal dan sebagai penghubung antartabel ‘kan? Ternyata, kedua fungsi key ini memiliki nama yang berbeda loh, teman-teman! Kira-kira, ada berapa key ya yang sering dijumpai dalam database? Yuk, kita telusuri jenis-jenis key tersebut di bawah ini!

1.       Primary Key

Primary Key, salah satu key dalam database yang sering dijumpai

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, ‘kan? 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? Yup, NIM pastinya lebih cocok untuk dijadikan ‘tanda pengenal’ si mahasiswa!

Nah, dari contoh di atas, dapat kita lihat bahwa 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.

2.       Foreign Key

Apabila primary key berfungsi untuk menjalankan fungsi pertama dari key dalam database, yakni sebagai ‘tanda pengenal’, maka foreign key berfungsi untuk menjalankan fungsi kedua dari key dalam database, yakni sebagai penghubung antartabel.

Sebelum mempelajari penggunaan foreign key, mari kita simak kedua tabel di bawah ini:

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 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:

Foreign Key, salah satu key dalam database yang sering dijumpai

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

Nah, itulah kedua key dalam database yang akan sering kamu jumpai, teman-teman! Setelah memahami kedua key ini, kamu bisa banget nih mencari cara menggunakan kedua key di atas pada query kamu! Selain itu, ternyata masih ada banyak jenis key dalam database selain primary key dan foreign key loh! Ada Super Key, Candidate Key, Alternate Key, dan sebagainya. Apabila kamu tertarik untuk mengetahui perbedaannya, kamu juga bisa mencari tahu tentang key-key tersebut sebelum memepelajari query-nya.

Semoga artikel dari Coding Studio kali ini semakin menambah pengetahuan kamu di bidang database ya! Terus semangat belajar, dan sampai jumpa di artikel selanjutnya!