Kunci Utama dalam Database SQL: Apa itu, Keuntungan & Cara Memilih

Diterbitkan: 2021-05-25

Daftar isi

Apa itu kunci Primer?

Merancang database baru di SQL hadir dengan pilihan yang tak ada bandingannya. Mengidentifikasi kunci utama yang sesuai adalah salah satu keputusan paling penting yang harus Anda buat. Tujuan yang mendasari kunci utama sederhana dan lugas.

Kunci utama memainkan peran fundamental dua cabang. Satu, ini membantu untuk mendefinisikan suatu hubungan. Dua, ini membantu untuk mengimplementasikan hubungan ini. Dengan kata lain, tanpa kunci utama, database hubungan tidak akan ada. Maklum, gagasan tentang kunci utama terdengar tidak biasa.

Tetapi bagaimana jika kami memberi tahu Anda bahwa Anda telah menggunakan kunci utama dalam kehidupan sehari-hari Anda tanpa menyadarinya. Pada setiap momen bangun di hari kita, kita benar-benar dikelilingi oleh kunci utama di dunia basis data, namun kita menerimanya begitu saja. Misalnya, pertimbangkan ID siswa Anda. Ini adalah contoh klasik dari kebutuhan akan kunci utama. Demikian pula, setiap karyawan memiliki kode perusahaan yang unik, dan setiap negara di dunia memiliki nama dan kode yang unik.

Baca: Normalisasi dalam SQL

Apa Keuntungan dari kunci Primer?

Kunci utama dalam SQL didefinisikan sebagai nilai tunggal atau kombinasi dari beberapa nilai dari sebuah tabel. Ini jelas mewakili setiap catatan dalam tabel. Akses ke nilai ini menjamin akses tepat waktu ke penempatan rekaman terkait dalam tabel, selain nilai lain dari rekaman yang sama. Pada titik ini, Anda mungkin memiliki pertanyaan penting untuk diajukan. Apakah wajib untuk menghasilkan kunci utama di setiap tabel? Sama sekali tidak.

SQL tidak mengharuskan pembuatan kunci utama. Namun, praktik terbaik dan paling efisien dari pemodelan database sangat menyarankan untuk membuat kunci utama untuk setiap tabel di SQL. Selain menjadi bidang tautan umum antar tabel, keuntungan dari kunci utama adalah multifold.

Daftar di bawah ini merangkum keuntungan utama dari kunci utama:

  1. Karena kunci utama berfungsi sebagai indeks, operasi basis data berbasis kecepatan seperti menyortir dan mencari catatan menjadi lebih cepat.
  2. Kunci utama membantu mengidentifikasi dan menemukan baris unik dengan cepat dalam tabel database tertentu.
  3. Dalam mode aman, hanya catatan tertentu yang dapat diidentifikasi secara unik menggunakan kunci utama untuk memastikan bahwa pembaruan dan penghapusan hanya memengaruhi baris tertentu daripada volume data yang lebih besar.
  4. Ketika digunakan sebagai kunci asing di tabel lain dalam database, mereka membantu menjaga integritas referensial.

Bagaimana Cara Memilih Kunci Utama?

Tabel terdiri dari objek utama dalam database SQL. Tabel ini menyimpan data sebagai catatan atau baris. Oleh karena itu, untuk mengidentifikasi setiap baris tabel, kita perlu mencari kolom dalam tabel yang sama dengan nilai input yang berbeda untuk setiap baris. Sebagai contoh, mari kita asumsikan bahwa kita memiliki tabel dengan data setiap warga negara AS. Kolom dengan nama 'social_security_number' akan membantu membedakan satu baris dari yang lain dalam tabel seperti itu.

Demikian pula, mari kita perhatikan contoh lain. Misalkan kita memiliki tabel rekening tabungan di bank swasta. Kolom dengan nama 'account_number' dapat digunakan untuk mengidentifikasi baris tertentu dalam tabel ini secara unik.

Dalam kedua contoh ini, setelah Anda mengidentifikasi kolom dengan nilai yang berbeda untuk setiap baris dalam tabel, yaitu 'social_security_number' dan 'account_number', Anda dapat membuat kunci utama Anda. Kunci utama ini akan menjadi pengidentifikasi utama Anda untuk setiap baris dalam tabel, berdasarkan kolom tertentu yang telah Anda identifikasi.

Tanda dari desain database teladan dengan demikian adalah kunci utama dalam SQL. Oleh karena itu, tidak perlu dikatakan bahwa kunci utama yang dipilih harus 100% unik, dan harus ada nilai kunci utama yang unik untuk setiap baris data. Biasanya, individu menunjukkan kecenderungan untuk mengandalkan sistem manajemen database itu sendiri untuk menghasilkan pengidentifikasi unik.

Ciri-ciri kunci primer yang kuat adalah sebagai berikut:

  1. Kunci utama yang kuat biasanya pendek, padat dan berisi atribut sesedikit mungkin. Tipe data yang panjang dan kunci majemuk menambah kompleksitas SQL. Panjang kunci utama tidak boleh melebihi 900 byte.
  2. Kunci utama yang sepenuhnya numerik membantu dalam meningkatkan kinerja kueri.
  3. Hindari penggunaan karakter khusus atau kombinasi huruf besar dan huruf kecil. Hindari menggunakan tipe data teks karena SQL membutuhkan waktu lebih lama untuk membandingkan nilai string daripada nilai numerik.
  4. Hindari informasi yang dapat diidentifikasi dari kolom non-kunci di baris yang sama seperti kode pos, alamat email, dan nomor jaminan sosial. Jika kunci utama didasarkan pada data dunia nyata, itu mungkin harus diubah di beberapa titik di masa depan, yang merupakan praktik pemodelan yang tidak disarankan. Jika kunci utama adalah pengidentifikasi arbitrer, data yang ditampilkan kepada pengguna dapat berubah nanti, tetapi pengidentifikasi tidak harus berubah.
  5. Nilai kunci utama harus tetap stabil dan tidak diubah.

Sangat penting untuk dicatat bahwa kunci utama menggunakan mekanisme teknis untuk memastikan bahwa setiap baris memiliki nilai unik dan tidak kosong di kolom kunci utama. Ini menyiratkan bahwa nilai kunci utama catatan tidak boleh nol. Selain itu, misalkan Anda mencoba menyisipkan yang baru dengan nilai yang duplikatnya dapat ditemukan di kolom kunci utama. Dalam hal ini, penyisipan baris baru akan ditolak oleh kunci utama.

Lihat: Ide & Topik Proyek SQL

Kunci utama dengan Lebih dari Satu Kolom

Dalam beberapa kasus, tidak ada kunci primer satu kolom alami. Ketika beberapa kolom digunakan untuk mendefinisikan kunci utama, itu dikenal sebagai kunci primer multi-kolom atau komposit. Sebagai contoh, mari kita asumsikan bahwa kita memiliki tabel 'reservasi' dengan kolom, 'customer_name', 'reservation_day', 'reservation_time' dan 'number_of_people'.

Di sini, 'customer_name' tidak dapat digunakan sebagai primary key saja karena secara alami, pelanggan mungkin memiliki lebih dari satu reservasi untuk hari yang berbeda atau bahkan hari yang sama. Oleh karena itu, kami menambahkan 'reservation_day' dan 'reservation_time' ke kunci utama untuk membuat kombinasi unik untuk setiap nilai.

Pertimbangan ini tidak boleh melebihi lebih dari 32 kolom. Semakin besar jumlah kolom, semakin besar pula kebutuhan ruang penyimpanan. Sintaks untuk menambahkan kunci utama multikolom berbeda dengan menambahkan kunci utama satu kolom.

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

Menyimpulkan

Pernahkah Anda menelepon layanan pelanggan dan dimintai nomor pelanggan Anda? Anda bahkan mungkin lupa, yaitu ketika mereka meminta kode pos atau nomor telepon Anda.

Pernahkah Anda bertanya-tanya mengapa? Nah, jawaban singkatnya adalah kunci utama. Jawaban panjangnya adalah bahwa keuntungan dari kunci utama adalah titik awal dari semua sistem basis data. Tanpa kunci utama, database tidak akan berfungsi seperti sekarang, atau tepatnya, tidak akan berfungsi sama sekali.

Jika Anda penasaran untuk belajar tentang SQL, pengembangan tumpukan penuh, lihat Program PG Eksekutif IIIT-B & upGrad dalam Pengembangan Perangkat Lunak Stack Penuh yang dibuat untuk para profesional yang bekerja dan menawarkan 10+ studi kasus & proyek, lokakarya praktis, bimbingan dengan pakar industri, 1-on-1 dengan mentor industri, 400+ jam pembelajaran dan bantuan pekerjaan dengan perusahaan-perusahaan top.

Apa kunci utama dalam SQL?

Kunci utama adalah bidang dengan nilai unik, yang digunakan untuk menentukan identitas suatu entitas. Setelah kunci utama ditentukan, itu tidak dapat dihapus atau dimodifikasi. Padahal, kunci utama adalah karakteristik khusus dari tabel, yang menjadi dasar untuk hubungan tabel. Kunci utama selalu didefinisikan di kolom pertama tabel, yang tidak dapat diubah. Ini memegang peran yang sangat penting dalam struktur catatan logis dan fisik data. Karena kunci utama digunakan untuk mengidentifikasi catatan secara unik, mereka disebut sebagai kunci kandidat.

Apa karakteristik kunci utama dalam SQL?

Kunci utama adalah kolom atau sekelompok kolom yang secara unik mengidentifikasi setiap record dalam sebuah tabel. Sebuah tabel hanya dapat memiliki satu kunci utama. Untuk menjaga integritas, kunci utama selalu diperlukan. Kunci utama harus terdiri dari kombinasi kolom yang berbeda satu sama lain. Jika kunci utama hanya terdiri dari satu kolom, maka itu dikenal sebagai kunci primer sederhana. Mesin database menggunakan kunci utama untuk mencari dan memperbarui catatan dalam database. Kunci utama tidak boleh Null karena Null berarti tidak ditentukan atau tidak diketahui. Kunci utama dapat berupa kolom tunggal atau multi-kolom. Nilai kunci utama bisa unik atau tidak unik. Kunci utama memiliki kemampuan untuk diindeks. Kunci utama membantu mesin database untuk menjaga integritas tabel. Kunci utama dapat dengan mudah diidentifikasi dalam database.

Bagaimana cara memilih kunci utama dalam SQL?

Kunci utama adalah kolom terpenting dalam sebuah tabel. Ini adalah id yang digunakan oleh aplikasi Anda untuk mengidentifikasi setiap record secara unik. Bidang yang Anda pilih sebagai kunci utama harus unik dan bukan nol. Kunci utama biasanya kolom kandidat terbaik untuk pengindeksan. Kunci utama digunakan untuk: Referensi unik untuk setiap catatan dalam tabel, untuk mencari id catatan yang datanya sudah Anda miliki, untuk memastikan bahwa setiap baris memiliki nilai yang valid di kunci utama. Untuk memastikan data dalam tabel tetap valid dan konsisten, pastikan bahwa semua nilai kunci utama adalah unik dan tidak ada nilai kunci utama yang nol.