Kunci asing memungkinkan administrator basis data dengan mudah mengidentifikasi koneksi berbeda yang ada dalam sistem manajemen basis data SQL.
SQL melakukan operasi matematika pada data dalam sistem manajemen basis data. Database ini berisi tabel berbeda yang masing-masing menyimpan data pada entitas tertentu. Jika Anda memiliki basis data persewaan mobil, entitas (atau tabel) dalam basis data tersebut akan menjadi pelanggan (yang akan menyimpan semua data pribadi pada setiap pelanggan).
Tabel database ini berisi baris dan kolom, di mana setiap baris menjadi tuan rumah catatan dan setiap kolom menyimpan data khusus atribut.
Dalam sistem manajemen database, setiap record (atau baris) harus unik.
Kunci Utama
Meskipun ketentuannya adalah bahwa setiap record dalam tabel harus berbeda, tidak selalu demikian. Melanjutkan dengan contoh database rental mobil, jika database tersebut berisi dua pelanggan yang masing-masing Memiliki nama "John Brown", John Brown dapat diharapkan untuk mengembalikan Mercedes-Benz yang tidak ia miliki menyewa.
Membuat kunci utama akan mengurangi risiko ini. Dalam sistem manajemen basis data SQL, kunci utama adalah pengenal unik yang membedakan satu catatan dari yang lain.
Oleh karena itu, setiap record dalam sistem manajemen database SQL harus memiliki kunci utama.
Menggunakan Kunci Utama dalam Database
Untuk menyertakan kunci utama dalam sistem manajemen database menggunakan SQL, Anda cukup menambahkannya sebagai atribut normal saat membuat tabel baru. Jadi tabel pelanggan akan berisi empat atribut (atau kolom):
- CarOwnerID (yang akan menyimpan kunci utama)
- Nama depan
- Nama keluarga
- Nomor telepon
Terkait: Cara Membuat Tabel di SQL
Sekarang setiap catatan pelanggan yang masuk ke database akan memiliki nomor identifikasi unik, serta nama depan, nama belakang, dan nomor telepon. Nomor telepon tidak cukup unik untuk dijadikan kunci utama, karena meskipun unik untuk satu orang pada satu waktu, seseorang dapat dengan mudah mengubah nomornya, artinya sekarang nomor itu akan menjadi milik orang lain.
Rekaman Dengan Contoh Kunci Primer
/ * membuat rekor baru di tabel pelanggan * /
MASUKKAN KE NILAI Pelanggan
('0004',
'John',
'Cokelat',
'111-999-5555');
Kode SQL di atas akan menambahkan record baru ke yang sudah ada sebelumnya Pelanggan meja. Tabel di bawah ini menunjukkan tabel pelanggan baru dengan dua catatan John Brown.
Kunci Asing
Sekarang Anda memiliki kunci utama yang secara unik membedakan satu penyewa mobil dari yang lain. Satu-satunya masalah adalah, dalam database, tidak ada hubungan nyata antara setiap John Brown dan mobil yang dia sewa.
Oleh karena itu, kemungkinan terjadinya kesalahan masih ada. Di sinilah kunci asing berperan. Menggunakan kunci primer untuk memecahkan masalah ambiguitas kepemilikan hanya dapat dicapai jika kunci primer berfungsi ganda sebagai kunci asing.
Apa Itu Kunci Asing?
Dalam sistem manajemen database SQL, kunci asing adalah pengenal unik atau kombinasi pengenal unik yang menghubungkan dua tabel atau lebih dalam database.
Dari empat sistem manajemen basis data SQL yang ada, sistem manajemen basis data relasional adalah yang paling populer. Saat memutuskan tabel mana dalam database relasional yang harus memiliki kunci asing, Anda harus terlebih dahulu mengidentifikasi tabel mana yang merupakan subjek dan objek dalam hubungannya.
Kembali ke database persewaan mobil, untuk menghubungkan setiap pelanggan ke mobil yang benar, Anda perlu memahami bahwa pelanggan (subjek) menyewa mobil (objek). Oleh karena itu, kunci asing harus ada di tabel mobil.
Kode SQL yang menghasilkan tabel dengan kunci asing sedikit berbeda dari norma.
Membuat Tabel Dengan Contoh Kunci Asing
/ * membuat tabel mobil baru di database persewaan mobil * /
BUAT Mobil TABEL
(
LicenseNumber varchar (30) BUKAN NULL PRIMARY KEY,
CarType varchar (30) NOT NULL,
CustomerID varchar (30) REFERENSI KUNCI ASING Pelanggan (CustomerID)
);
Seperti yang Anda lihat pada kode di atas, kunci asing harus diidentifikasi secara eksplisit, bersama dengan referensi ke kunci utama yang terhubung ke tabel baru.
Terkait: Lembar Curang Perintah SQL Penting untuk Pemula
Untuk menambahkan catatan ke tabel baru, Anda harus memastikan bahwa nilai di bidang kunci asing cocok dengan nilai di bidang kunci utama dari tabel asli.
Menambahkan Record Dengan Contoh Kunci Asing
/ * membuat rekor baru di tabel mobil * /
MASUKKAN KE NILAI-NILAI Mobil
('100012',
'Mercedes-Benz',
'0004');
Kode di atas membuat rekor baru di baru Mobil tabel, menghasilkan hasil sebagai berikut.
Meja Mobil
Dari tabel di atas, Anda dapat mengidentifikasi John Brown yang benar yang menyewa Mercedes-Benz dengan kunci asing dalam catatan.
Advance Foreign Key
Ada dua cara lain untuk menggunakan kunci asing dalam database.
Jika Anda melihat kembali definisi kunci asing di atas, Anda akan menemukan bahwa kunci asing dapat menjadi pengenal unik atau kombinasi pengenal unik.
Kembali ke contoh database persewaan mobil, Anda akan melihat bahwa membuat rekor baru (dari mobil yang sama) setiap kali pelanggan menyewa mobil itu, mengalahkan tujuan dari Mobil meja. Jika mobil akan dijual dan sekali dijual ke satu pelanggan, database yang ada sudah sempurna; tetapi mengingat mobil adalah persewaan, ada cara yang lebih baik untuk menampilkan data ini.
Kunci Komposit
Kunci komposit memiliki dua atau lebih pengenal unik. Dalam database relasional, akan ada contoh ketika penggunaan satu kunci asing tidak cukup mewakili hubungan yang ada dalam database tersebut.
Dalam contoh persewaan mobil, pendekatan yang paling praktis adalah dengan membuat tabel baru yang menyimpan rincian sewa. Agar informasi dalam tabel persewaan mobil berguna, ia harus terhubung ke tabel mobil dan pelanggan.
Membuat Tabel Dengan Kunci Asing Komposit
/ * membuat tabel CarRental di database persewaan mobil * /
BUAT TABEL CarRental
(
DateRented DATE NOT NULL,
LicenseNumber varchar (30) NOT NULL FOREIGN KEY REFERENSI Mobil (LicenseNumber),
CustomerID varchar (30) NOT NULL FOREIGN KEY REFERENSI Pelanggan (CustomerID),
KUNCI UTAMA (DateRented, LicenseNumber, CustomerID)
);
Kode di atas menggambarkan poin penting; meskipun tabel dalam database SQL dapat memiliki lebih dari satu kunci asing, tabel tersebut hanya dapat memiliki satu kunci utama. Ini karena hanya ada satu cara unik untuk mengidentifikasi rekaman.
Ketiga atribut dalam tabel harus digabungkan untuk memiliki kunci yang unik. Seorang pelanggan dapat menyewa lebih dari satu mobil pada hari yang sama (jadi ID Pelanggan dan DateRented bukan kombinasi yang baik) lebih dari satu pelanggan juga dapat menyewa mobil yang sama di hari yang sama (jadi Nomor lisensi dan DateRented bukan kombinasi yang bagus).
Namun, pembuatan kunci komposit yang memberi tahu pelanggan mana, mobil apa, dan pada hari apa membuat kunci unik yang sangat baik. Kunci unik ini mewakili kunci asing komposit dan kunci utama komposit.
Kunci Utama Asing
Oh ya, kunci primer asing memang keluar. Meskipun tidak ada nama resminya, kunci asing juga bisa menjadi kunci utama di tabel yang sama. Ini terjadi saat Anda membuat tabel baru yang berisi data khusus tentang entitas yang sudah ada (atau rekaman di tabel lain).
Katakanlah Fred (yang bekerja di perusahaan persewaan mobil) ada di database perusahaan di bawah tabel karyawan. Setelah beberapa tahun, dia menjadi supervisor dan ditambahkan ke tabel supervisor.
Fred masih seorang karyawan dan masih memiliki nomor id yang sama. Jadi id karyawan Fred sekarang ada di tabel supervisor sebagai kunci asing yang juga akan menjadi yang utama kunci dalam tabel itu (karena tidak masuk akal untuk membuat nomor id baru untuk Fred sekarang karena dia adalah supervisor).
Sekarang Anda Dapat Mengidentifikasi Kunci Asing Di Database SQL
Kunci asing menghubungkan tabel yang berbeda dalam database SQL. Dari artikel ini, Anda dapat melihat apa itu kunci asing, cara kerjanya, dan mengapa penting untuk memilikinya dalam database. Anda juga memahami dasar, dan bahkan lebih kompleks, bentuk kunci asing.
Jika menurut Anda kunci asing menarik, Anda akan memiliki hari lapangan ketika Anda mulai menggunakan proyek dan operasi pemilihan untuk membuat kueri database SQL Anda.
Pahami database relasional SQL dengan memahami operasi Proyek dan Seleksi dengan contoh-contoh ini.
Baca Selanjutnya
- Pemrograman
- Pemrograman
- SQL
- database
Kadeisha Kean adalah Pengembang Perangkat Lunak Tumpukan Penuh dan Penulis Teknis / Teknologi. Dia memiliki kemampuan berbeda untuk menyederhanakan beberapa konsep teknologi yang paling kompleks; menghasilkan materi yang dapat dengan mudah dipahami oleh pemula teknologi apa pun. Dia bersemangat menulis, mengembangkan perangkat lunak yang menarik, dan berkeliling dunia (melalui film dokumenter).
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk mendapatkan tip teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Satu langkah lagi…!
Harap konfirmasi alamat email Anda di email yang baru saja kami kirimkan kepada Anda.