SQL - Kunci Alternatif

Selamat datang, para ahli basis data masa depan! Hari ini, kita akan mempelajari dunia yang menarik dari SQL dan mengeksplorasi konsep yang sering diabaikan tapi sangat penting: Kunci Alternatif. Jadi grab bagus senjata maya Anda (atau papan ketik), dan mari kita berangkat dalam perjalanan magis ini bersama!

SQL - Alternate Key

Kunci Alternatif SQL

Apa Itu Kunci Alternatif?

Kunci Alternatif, juga dikenal sebagai Kunci Kandidat, adalah kolom atau set kolom dalam tabel basis data yang dapat melayani sebagai kunci utama. Itu seperti memiliki pahlawan cadangan siap untuk menyelamatkan hari jika pahlawan utama kita (kunci utama) tidak tersedia.

mari kitauraikan ini dengan contoh yang menyenangkan. Bayangkan Anda menjalankan sekolah penyihir (karena mengapa tidak?), dan Anda memiliki tabel murid:

CREATE TABLE wizards (
wizard_id INT PRIMARY KEY,
wand_serial_number VARCHAR(20) UNIQUE,
email_address VARCHAR(50) UNIQUE,
wizard_name VARCHAR(100),
house VARCHAR(20)
);

Dalam tabel ini, wizard_id adalah kunci utama kita. Tetapi lihatlah dengan seksama wand_serial_number dan email_address. Ini juga dapat mengidentifikasi setiap penyihir secara unik, membuat mereka kandidat yang sempurna untuk kunci alternatif!

Karakteristik Kunci Alternatif

  1. Unik: Seperti nomor serial tongkat sihir kita, kunci alternatif harus unik untuk setiap rekord.
  2. Bukan Null: Mereka tidak dapat mengandung nilai null. Setiap penyihir memerlukan tongkat sihir dan email!
  3. Minimal: Mereka seharusnya menggunakan jumlah kolom minimum yang diperlukan untuk memastikan keunikan.

Kunci Dalam Tabel

Sekarang kita telah memperkenalkan pemain utama kita, mari kita temui tim keseluruhan kunci yang Anda mungkin temui dalam tabel SQL.

Jenis Kunci

Jenis Kunci Deskripsi Contoh Dalam Tabel Penyihir Kita
Kunci Utama Identifikasi unik untuk setiap rekord wizard_id
Kunci Alternatif Kandidat untuk kunci utama, unik tapi belum dipilih wand_serial_number, email_address
Kunci Asing Menyebutkan kunci utama dalam tabel lain house_id (jika kita memiliki tabel Houses terpisah)
Kunci Komposit Beberapa kolom digabungkan untuk membentuk identifikasi unik (wizard_name, date_of_birth)
Kunci Super Setiap kombinasi kolom yang dapat mengidentifikasi rekord secara unik (wizard_id, wand_serial_number)

Mengapa Kunci Alternatif Penting?

  1. Fleksibilitas: Mereka menyediakan cara alternatif untuk mengidentifikasi rekord.
  2. Integritas Data: Mereka membantu menjaga keunikan data.
  3. Optimasi Query: Mereka dapat digunakan untuk membuat indeks yang efisien.

Lihatlah bagaimana kita dapat menggunakan kunci alternatif dalam query:

SELECT wizard_name, house
FROM wizards
WHERE wand_serial_number = 'OL-123456';

Di sini, kita menggunakan wand_serial_number (sebuah kunci alternatif) untuk menemukan penyihir tertentu. Itu sama efektifnya seperti menggunakan kunci utama, dan dalam beberapa kasus, mungkin lebih mudah!

Implementasi Kunci Alternatif

Sekarang, mari kita roll up lengan dan lihat bagaimana kita dapat mengimplementasikan kunci alternatif dalam basis data penyihir kita.

Menggunakan Constraint UNIQUE

Cara paling sederhana untuk membuat kunci alternatif adalah dengan menggunakan constraint UNIQUE:

CREATE TABLE wizards (
wizard_id INT PRIMARY KEY,
wand_serial_number VARCHAR(20) UNIQUE,
email_address VARCHAR(50) UNIQUE,
wizard_name VARCHAR(100),
house VARCHAR(20)
);

Dalam contoh ini, wand_serial_number dan email_address diatur sebagai UNIQUE, membuat mereka kunci alternatif.

Menggunakan UNIQUE INDEX

Cara lain untuk membuat kunci alternatif adalah dengan menggunakan UNIQUE INDEX:

CREATE TABLE wizards (
wizard_id INT PRIMARY KEY,
wand_serial_number VARCHAR(20),
email_address VARCHAR(50),
wizard_name VARCHAR(100),
house VARCHAR(20)
);

CREATE UNIQUE INDEX idx_wand_serial ON wizards(wand_serial_number);
CREATE UNIQUE INDEX idx_email ON wizards(email_address);

Metode ini sangat berguna saat Anda ingin menambahkan kunci alternatif ke tabel yang sudah ada.

Praktik Terbaik untuk Menggunakan Kunci Alternatif

  1. Pilih Bijak: Tidak setiap kolom unik perlu menjadi kunci alternatif. Pilih yang memiliki makna logis untuk data Anda.

  2. Perhatikan Kinerja: Meskipun kunci alternatif sangat berguna, terlalu banyak dapat memperlambat operasi masukkan dan perbaruan.

  3. Perbaiki Keselarasan: Jika Anda menggunakan kunci alternatif di beberapa tabel (seperti wand_serial_number), pastikan itu konsisten diformat dan divalidasi.

  4. Dokumentasikan Pilihan Anda: Selalu dokumentasikan mengapa Anda memilih kunci alternatif tertentu. Pribadi Anda masa depan (dan rekan kerja Anda) akan berterima kasih!

Kesimpulan

Dan begitulah, para penyihir basis data muda! Kita telah mengeksplorasi realm magis Kunci Alternatif dalam SQL. Ingat, meskipun Kunci Utama mungkin adalah yang dipilih, Kunci Alternatif adalah pahlawan tak dikenal, siap untuk mengambil langkah saat diperlukan.

Saat Anda terus melanjutkan perjalanan Anda dalam dunia basis data, jaga untuk mencari kunci ini. Mereka mungkin saja menjadi mantra yang Anda butuhkan untuk membuka rancangan basis data yang kuat dan efisien!

Sekarang, maju dan mayatkan permintaan Anda agar query Anda selalu optimal dan integritas data Anda tetap utuh!

Credits: Image by storyset