Skip to main content

Kekuatan Kunci Asing dalam Database Relasional

Develop Mobile Apps without Infrastructure (Firebase Dev Summit 2016) (Juni 2026)

Develop Mobile Apps without Infrastructure (Firebase Dev Summit 2016) (Juni 2026)
Anonim

Perancang basis data membuat penggunaan kunci secara luas ketika mengembangkan basis data relasional. Di antara yang paling umum dari kunci ini adalah kunci primer dan kunci asing. Kunci asing database adalah bidang dalam tabel relasional yang cocok dengan kolom primary key dari tabel lain. Untuk memahami cara kerja kunci asing, mari kita lihat lebih dekat gagasan basis data relasional.

Beberapa Dasar-Dasar Database Relasional

Dalam database relasional, data disimpan dalam tabel yang berisi baris dan kolom, membuatnya mudah untuk mencari dan memanipulasi. Ada beberapa matematika serius di balik konsep database relasional (aljabar relasional, yang diusulkan oleh E.F.

Codd di IBM pada tahun 1970), tetapi itu bukan topik artikel ini.

Untuk tujuan praktis (dan non-matematikawan), database relasional menyimpan data terkait dalam baris dan kolom. Lebih lanjut - dan di sinilah ia menjadi menarik - sebagian besar database dirancang sedemikian rupa sehingga data dalam satu tabel dapat mengakses data di tabel lain. Kemampuan untuk membuat hubungan antar tabel ini adalah kekuatan nyata dari database relasional.

Menggunakan Kunci Asing

Sebagian besar tabel, terutama yang dalam database besar dan rumit, memiliki kunci utama. Tabel yang dirancang untuk mengakses tabel lain juga harus memiliki kunci asing.

Untuk menggunakan database Northwinds yang biasa disebut, berikut adalah kutipan dari tabel Produk:

Kutipan Tabel Produk Database Northwind
ID ProdukNama ProdukCategoryIDQuantityPerUPatokan harga
1Chai110 kotak x 20 tas18.00
2Chang124 - 12 oz botol19.00
3Syrup adas manis212 - 550 botol ml10.00
4Bumbu Cajun Chef Anton248 - 6 ons botol22.00
5Campuran Gumbo Chef Anton236 kotak21.35
6Penyebaran Boysenberry Nenek212 - 8 oz botol25.00
7Pir Kering Organik Paman Bob712 - 1 pon pkgs.30.00

Itu ID Produk kolom adalah kunci utama tabel ini. Ini menetapkan ID unik untuk setiap produk.

Tabel ini juga berisi kolom kunci asing, CategoryID. Setiap produk dalam tabel Produk menaut ke entri di tabel Kategori yang mendefinisikan kategori produk tersebut.

Catat kutipan ini dari tabel Kategori database:

Database Northwind Kategori Tabel Kutipan
CategoryIDNama KategoriDeskripsi
1MinumanMinuman ringan, kopi, teh, bir, dan bir
2BumbuSaus manis dan gurih, relish, menyebar, dan bumbu
3ConfectionsMakanan penutup, permen, dan roti manis
5Produk susuKeju

Kolom CategoryID adalah kunci utama kolom ini. (Tidak memiliki kunci asing karena tidak perlu mengakses tabel lain.) Setiap kunci asing dalam tabel Produk terhubung ke kunci utama dalam tabel Kategori. Sebagai contoh, produk Chai diberi kategori "Minuman", sedangkan Syrup Aniseed berada dalam kategori Condiments.

Jenis penautan ini menciptakan berbagai cara untuk menggunakan dan menggunakan kembali data dalam basis data relasional.