Apa itu Kunci Asing dalam Database SQL?

Apa itu Kunci Asing dalam Database SQL?

Kunci asing memungkinkan administrator database untuk dengan mudah mengidentifikasi koneksi yang berbeda yang ada dalam sistem manajemen database SQL.





SQL melakukan operasi matematika pada data dalam sistem manajemen database. Database ini berisi tabel berbeda yang masing-masing menyimpan data pada entitas tertentu. Jika Anda memiliki database persewaan mobil, entitas (atau tabel) dalam database tersebut akan menjadi pelanggan (yang akan menyimpan semua data pribadi pada setiap pelanggan).





Tabel database ini berisi baris dan kolom, di mana setiap baris menyimpan catatan dan setiap kolom menyimpan data khusus atribut.





Dalam sistem manajemen basis data, setiap catatan (atau baris) harus unik.

Kunci Utama

Meskipun ketentuannya adalah bahwa setiap record dalam tabel harus berbeda, hal ini tidak selalu terjadi. Melanjutkan contoh database persewaan mobil, jika database berisi dua pelanggan yang masing-masing memiliki nama John Brown, seorang John Brown dapat diharapkan mengembalikan Mercedes-Benz yang tidak dia sewa.



Membuat kunci utama akan mengurangi risiko ini. Dalam sistem manajemen database SQL, kunci utama adalah pengidentifikasi unik yang membedakan satu catatan dari yang lain.

cara mengetahui sejarah sebuah bangunan

Oleh karena itu, setiap record dalam sistem manajemen database SQL harus memiliki primary key.





Menggunakan Kunci Utama dalam Basis Data

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 menjadi kunci utama, karena meskipun unik untuk satu orang pada satu waktu, seseorang dapat dengan mudah mengubah nomor mereka, yang berarti sekarang akan menjadi milik orang lain.

Sebuah Catatan Dengan Contoh Kunci Utama

/* creates a new record in the customers table */
INSERT INTO Customers VALUES
('0004',
'John',
'Brown',
'111-999-5555');

Kode SQL di atas akan menambahkan catatan 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 masing-masing John Brown dan mobil yang dia sewa.

Oleh karena itu, kemungkinan melakukan kesalahan tetap ada. Di sinilah kunci asing berperan. Menggunakan kunci utama untuk memecahkan masalah ambiguitas kepemilikan hanya dapat dicapai jika kunci utama berfungsi ganda sebagai kunci asing.

Apa itu Kunci Asing?

Dalam sistem manajemen database SQL, kunci asing adalah pengidentifikasi unik atau kombinasi pengidentifikasi unik yang menghubungkan dua atau lebih tabel dalam database.

Dari empat sistem manajemen database SQL yang ada, sistem manajemen database 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 mana objek dalam hubungannya.

Kembali ke database rental mobil, untuk menghubungkan setiap pelanggan ke mobil yang benar, Anda harus 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 biasanya.

Membuat Tabel Dengan Contoh Kunci Asing

/* creates a new cars table in the car rental database */
CREATE TABLE Cars
(
LicenseNumber varchar(30) NOT NULL PRIMARY KEY,
CarType varchar(30) NOT NULL,
CustomerID varchar(30) FOREIGN KEY REFERENCES Customers(CustomerID)
);

Seperti yang Anda lihat dalam kode di atas, kunci asing harus diidentifikasi secara eksplisit, bersama dengan referensi ke kunci utama yang sedang terhubung ke tabel baru.

pemindaian waktu boot vs pemindaian penuh

Terkait: Lembar Cheat 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 Catatan Dengan Contoh Kunci Asing

/* creates a new record in the cars table */
INSERT INTO Cars VALUES
('100012',
'Mercedes-Benz',
'0004');

Kode di atas membuat record baru di new 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.

Lanjutan Kunci Asing

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 berupa 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 dijual dan dijual ke satu pelanggan sekali, database yang ada sempurna; tetapi mengingat bahwa mobil tersebut adalah persewaan, ada cara yang lebih baik untuk merepresentasikan data ini.

Tombol Komposit

Kunci komposit memiliki dua atau lebih pengidentifikasi unik. Dalam database relasional, akan ada contoh ketika penggunaan kunci asing tunggal tidak cukup mewakili hubungan yang ada dalam database itu.

Dalam contoh persewaan mobil, pendekatan paling praktis adalah membuat tabel baru yang menyimpan detail persewaan. Agar informasi di tabel sewa mobil bermanfaat, tabel harus terhubung ke tabel mobil dan pelanggan.

Membuat Tabel Dengan Kunci Asing Gabungan

/* creates a CarRental table in the car rental database */
CREATE TABLE CarRental
(
DateRented DATE NOT NULL,
LicenseNumber varchar(30) NOT NULL FOREIGN KEY REFERENCES Cars(LicenseNumber),
CustomerID varchar(30) NOT NULL FOREIGN KEY REFERENCES Customers(CustomerID),
PRIMARY KEY (DateRented, LicenseNumber, CustomerID)
);

Kode di atas menggambarkan poin penting; meskipun sebuah tabel dalam database SQL dapat memiliki lebih dari satu kunci asing, tabel tersebut hanya dapat memiliki satu kunci utama. Ini karena seharusnya hanya ada satu cara unik untuk mengidentifikasi catatan.

Anda perlu menggabungkan ketiga atribut dalam tabel untuk memiliki kunci unik. Seorang pelanggan dapat menyewa lebih dari satu mobil pada hari yang sama (jadi ID Pelanggan dan TanggalDisewa bukan kombinasi yang baik) lebih dari satu pelanggan juga dapat menyewa mobil yang sama pada hari yang sama (jadi Nomor lisensi dan TanggalDisewa bukan kombinasi yang baik).

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 primer komposit.

apa yang harus dilakukan dengan monitor layar datar lama

Kunci Utama Asing

Oh ya, kunci utama asing memang keluar. Meskipun tidak ada nama resmi untuk itu, kunci asing juga bisa menjadi kunci utama dalam 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 rental 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 akan tetap memiliki nomor id yang sama. Jadi id karyawan Fred sekarang ada di tabel supervisor sebagai kunci asing yang juga akan menjadi kunci utama di tabel itu (karena tidak masuk akal untuk membuat nomor id baru untuk Fred sekarang karena dia seorang supervisor).

Sekarang Anda Dapat Mengidentifikasi Kunci Asing Dalam Basis Data 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 bentuk dasar, dan bahkan lebih kompleks, dari kunci asing.

Jika menurut Anda kunci asing menarik, Anda akan memiliki hari lapangan ketika Anda mulai menggunakan proyek dan operasi pemilihan untuk menanyakan database SQL Anda.

Membagikan Membagikan Menciak Surel Pelajari Cara Menggunakan Proyek dan Operasi Seleksi di SQL

Pahami database relasional SQL dengan memahami operasi Proyek dan Seleksi dengan contoh-contoh ini.

Baca Selanjutnya
Topik-topik yang berkaitan
  • Pemrograman
  • Pemrograman
  • SQL
  • basis data
Tentang Penulis Kadeisha Kean(21 Artikel Diterbitkan)

Kadeisha Kean adalah Pengembang Perangkat Lunak Full-Stack dan Penulis Teknis/Teknologi. Dia memiliki kemampuan yang berbeda untuk menyederhanakan beberapa konsep teknologi yang paling kompleks; menghasilkan materi yang dapat dengan mudah dipahami oleh setiap pemula teknologi. Dia bersemangat menulis, mengembangkan perangkat lunak yang menarik, dan berkeliling dunia (melalui film dokumenter).

More From Kadeisha Kean

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan