Kunci utama memainkan peran penting dalam basis data relasional dengan memperkuat integritas data dan memungkinkan pengambilan data yang sukses. Selain itu, kunci utama dapat direferensikan oleh jenis kunci lain untuk mendefinisikan hubungan antar tabel dalam basis data relasional.
Contoh kunci utama yang sering dikutip yang ditemukan di berbagai basis data meliputi:
Sebelum menjelajahi detail kunci utama, akan sangat membantu jika kita memahami sistem basis data relasional dan peran kunci seperti kunci utama dalam desain basis data.
Basis data relasional menyimpan data yang terstruktur di beberapa tabel, dengan titik data terkait di berbagai tabel. Basis data tersebut dikelola melalui sistem manajemen basis data relasional (RDBMS) seperti IBM Db2, Oracle Database, Microsoft SQL Server, dan sistem basis data sumber terbuka seperti PostgreSQL dan mySQL.
Structured query language (SQL) adalah bahasa pemrograman umum yang digunakan untuk interaksi basis data, meskipun beberapa sistem manajemen basis data mendukung bahasa lain.
Dalam konteks basis data, kunci adalah kolom atau kumpulan kolom yang diurutkan yang digunakan untuk mengidentifikasi baris data dalam tabel. Kunci membantu mengatur basis data dengan menunjukkan hubungan antara tabel yang terkait, mengidentifikasi catatan unik, dan memastikan keakuratan dan integritas data. Manfaat ini mendukung kueri SQL Database yang sukses dan efisien.
Kunci utama, juga dikenal sebagai kunci utama SQL, memberikan pengenal unik untuk setiap catatan yang terkait dengan nilai kunci utama. Karakteristik penting dari kunci utama meliputi:
Kunci primer mungkin merupakan kolom yang ada dalam satu tabel, dalam hal ini dikenal sebagai kunci alami. Namun, terkadang tidak ada satu kolom pun di dalam tabel yang memenuhi batasan kunci utama-aturan kunci utama yang nilainya harus unik dan tidak boleh nol.
Dalam keadaan seperti itu, kolom baru dengan nilai unik, yang tidak berasal dari data yang ada di tabel, dapat dibuat untuk berfungsi sebagai kunci utama. Kunci primer yang dihasilkan secara artifisial ini dikenal sebagai kunci pengganti.
Sistem manajemen basis data relasional biasanya menampilkan kemampuan untuk menghasilkan nilai unik untuk kolom, yang kemudian dapat digunakan sebagai kunci pengganti. Salah satu contohnya adalah fitur peningkatan otomatis mySQL.
Kunci primer juga dapat berupa kunci komposit, yang berarti mereka terdiri dari lebih dari satu kolom nilai.
Kunci utama komposit—kombinasi unik dari kolom yang dapat digunakan untuk mengidentifikasi catatan—dapat berfungsi sebagai alternatif untuk menghasilkan kunci pengganti. Sebagai contoh, kolom nama belakang pelanggan dapat dipasangkan dengan kolom yang berisi tanggal lahir untuk membentuk kunci primer gabungan.
SQL mendukung berbagai tipe data, mulai dari cap waktu (representasi tanggal dan waktu) hingga varchar (string karakter dengan panjang variabel). Tetapi tidak setiap tipe data adalah pilihan yang baik untuk kunci utama.
Sering direkomendasikan bahwa kolom yang berisi nilai numerik, terutama bilangan bulat, digunakan sebagai kunci utama karena biasanya diproses lebih cepat oleh sistem manajemen basis data relasional.
Kunci lain yang digunakan dalam manajemen basis data meliputi:
Kunci primer adalah bagian dari kunci unik. Kunci unik mengikuti apa yang dikenal sebagai batasan unik-aturan bahwa nilai dari sebuah kunci hanya valid jika kunci tersebut unik. Sementara semua kunci utama adalah kunci unik, tidak semua kunci unik adalah kunci utama. Itu karena, tidak seperti kunci utama, kunci unik mungkin menyertakan nilai nol.
Kunci kandidat adalah kunci yang dapat berfungsi sebagai kunci utama karena mengandung nilai unik dan tidak ada nilai nol. Perbedaan antara kunci utama dan kunci kandidat adalah bahwa tabel yang ada dapat memiliki beberapa kunci kandidat, tetapi hanya satu kunci utama.
Kunci super mirip dengan kunci utama komposit karena dapat mencakup beberapa kolom dan digunakan untuk mengidentifikasi catatan. Namun, kunci super juga dapat menyertakan lebih banyak kolom atau informasi daripada yang benar-benar dibutuhkan untuk mengidentifikasi record secara unik, sementara kunci primer komposit tidak menyertakan lebih banyak kolom atau data daripada yang diperlukan.
Kunci asing dalam satu tabel mengacu pada kunci primer tertentu di tabel lain untuk mendefinisikan hubungan antar tabel. Sebagai contoh, kunci asing dalam tabel dengan informasi pesanan pelanggan dapat merujuk ke kolom kunci utama ID pelanggan unik yang merupakan bagian dari tabel lain yang berisi data pelanggan. Dengan cara ini, pesanan dari pelanggan tertentu dapat ditautkan ke informasi penting tentang pelanggan tersebut, seperti alamat email dan tanggal lahir.
Untuk memahami bagaimana primary key dan foreign key mendefinisikan hubungan antar tabel dalam basis data relasional, ada baiknya mempertimbangkan batasan integritas referensial.
Batasan integritas referensial, juga dikenal sebagai batasan referensial atau batasan kunci asing, adalah aturan yang mengharuskan nilai kunci asing dalam satu tabel cocok dengan nilai kunci utama di tabel lain.
Sebagai contoh, dalam basis data karyawan, batasan integritas referensial dapat menentukan bahwa setiap karyawan dalam tabel EMPLOYEE harus menjadi anggota dari departemen perusahaan yang ada yang tercantum dalam tabel DEPARTMENT.
Dalam kasus ini, kunci primer tabel DEPARTEMEN adalah kolom yang menyimpan nomor departemen yang unik, sedangkan kunci asing tabel KARYAWAN adalah kolom yang menyimpan nomor departemen unik yang sama. Kolom yang cocok ini berarti tabel mematuhi batasan kunci asing.
Karena tabel DEPARTEMEN adalah rumah bagi kunci utama yang dirujuk oleh kunci asing tabel EMPLOYEE, kunci EMPLOYEE dianggap memiliki ketergantungan pada tabel DEPARTEMEN. Pada gilirannya, tabel DEPARTEMEN dianggap sebagai “tabel induk” dalam hubungan tabel ini.
Kendala integritas referensial dapat memblokir penyisipan data yang salah ke dalam basis data. Batasan tersebut, misalnya, akan mencegah pengguna untuk menambahkan catatan karyawan ke tabel EMPLOYEE (seperti yang digambarkan di bawah ini) jika nomor departemen dalam catatan karyawan tersebut tidak ada di TABEL DEPARTEMEN.
Sistem manajemen basis data relasional dapat membuat atau memerlukan pembuatan indeks unik untuk setiap kunci utama dalam basis data. Dalam konteks desain basis data, indeks adalah sekumpulan pointer yang mengacu pada baris dalam tabel. Indeks dapat digunakan untuk meningkatkan kinerja, termasuk pengoptimalan pengambilan data.
Pemodelan data menyediakan representasi visual dari skema basis data, atau cetak biru untuk hubungan data di antara tabel-tabel dalam basis data. Model data dapat menyertakan informasi mengenai kunci utama dan kunci asing yang digunakan untuk mempertahankan hubungan tersebut.
Pernyataan SQL adalah perintah yang digunakan untuk berinteraksi dengan basis data relasional. Di bawah sintaks SQL, kunci utama untuk tabel dapat ditetapkan atau ditambahkan menggunakan pernyataan CREATE TABLE atau ALTER TABLE.
Misalnya, pertimbangkan pernyataan CREATE TABLE untuk tabel nama karyawan yang disebut EMP menggunakan Db2 IBM. Nama kolom adalah ID (untuk ID karyawan), dan FIRSTNME dan LASTNAME (dengan maksimum 15 karakter untuk masing-masing). Ketika ID dipilih sebagai kunci utama, pernyataan dapat terlihat seperti ini:
Dalam pernyataan ALTER TABLE (untuk tabel yang sudah ada) di Db2, klausa yang digunakan untuk menambahkan kunci utama adalah ADD PRIMARY KEY, sedangkan kunci asing ditambahkan melalui ADD CONSTRAINT yang dikombinasikan dengan referensi ke tabel induk.
Gunakan solusi database IBM untuk memenuhi berbagai kebutuhan beban kerja di hybrid cloud.
Jelajahi IBM Db2, database relasional yang menghadirkan kinerja tinggi, skalabilitas, dan keandalan untuk menyimpan dan mengelola data terstruktur. Database ini tersedia sebagai SaaS di IBM Cloud atau untuk hosting mandiri.
Buka nilai data perusahaan dengan IBM Consulting, membangun organisasi berbasis insight yang memberikan keuntungan bisnis.