Kuasa Kekunci Asing dalam Pangkalan Data Relasi

Kunci asing membuka pintu ke seluruh dunia data

Pereka pangkalan data menggunakan kunci yang luas apabila membangun pangkalan data hubungan. Antara yang paling biasa kunci ini ialah kunci utama dan kunci asing. Kunci pangkalan pangkalan data ialah medan dalam jadual relasional yang sepadan dengan lajur utama utama jadual lain. Untuk memahami bagaimana kunci asing berfungsi, mari kita lihat lebih dekat pada idea pangkalan data hubungan.

Beberapa Asas Pangkalan Data Relasi

Dalam pangkalan data relasional, data disimpan dalam jadual yang mengandungi baris dan lajur, memudahkan untuk mencari dan memanipulasi. Terdapat beberapa matematik yang serius di belakang konsep pangkalan data relasional (aljabar relasi, yang dicadangkan oleh EF

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

Untuk tujuan praktikal (dan bukan ahli matematik), pangkalan data relasional menyimpan data "berkaitan" dalam baris dan lajur. Lebih jauh-dan di sinilah ia mendapat pangkalan data yang paling menarik direka supaya data dalam satu jadual dapat mengakses data dalam jadual lain. Keupayaan untuk mencipta perhubungan antara jadual adalah kekuatan sebenar pangkalan data hubungan.

Menggunakan Kekunci Asing

Kebanyakan jadual, terutamanya dalam pangkalan data yang besar dan kompleks, mempunyai kunci utama. Jadual yang direka untuk mengakses jadual lain juga mesti mempunyai kunci asing.

Untuk menggunakan pangkalan data Northwinds yang biasa disebut, berikut adalah petikan daripada jadual Produk:

Kotak Meja Produk Pangkalan Data Northwind
ProductID Nama Produk KategoriID QuantityPerU Harga seunit
1 Chai 1 10 kotak x 20 beg 18.00
2 Chang 1 24 - 12 oz botol 19.00
3 Syrup Aniseed 2 12 - botol 550 ml 10.00
4 Perayaan Cajun Chef Anton 2 48 - 6 oz balang 22.00
5 Chef Anton's Gumbo Mix 2 36 kotak 21.35
6 Spread Boyenberry Nenek 2 12 - 8 oz balang 25.00
7 Pear Organik Paman Bob 7 12 - 1 lb pkgs. 30.00

Lajur ProductID ialah kunci utama jadual ini. Ia memberikan ID unik kepada setiap produk.

Jadual ini juga mengandungi lajur utama asing, KategoriID . Setiap produk dalam jadual Produk menghubungkan kepada entri dalam jadual Kategori yang mentakrifkan kategori produk itu.

Perhatikan petikan ini dari jadual Kategori pangkalan data:

Kategori Pangkalan Data Pangkalan Data Northwind
KategoriID Nama kategori Penerangan
1 Minuman Minuman ringan, kopi, teh, bir, dan ales
2 Perasa Sayur-sayuran manis, sihat, menyebar, dan perisa
3 Kesempurnaan Pencuci mulut, gula-gula, dan roti manis
5 Produk tenusu Keju

KategoriID lajur adalah kunci utama lajur ini. (Ia tidak mempunyai kunci asing kerana ia tidak perlu mengakses jadual lain.) Setiap kunci asing dalam jadual Produk menghubungkan kepada kunci utama dalam jadual Kategori. Sebagai contoh, produk Chai diberikan kategori "Minuman", sementara Aniseed Syrup berada dalam kategori Perasa.

Penyambungan semacam ini mewujudkan pelbagai cara untuk menggunakan dan menggunakan semula data dalam pangkalan data hubungan.