Perbedaan antara kunci asing dan kunci primer

Anonim

Kunci asing vs Kunci utama

Kolom atau kumpulan kolom, yang dapat digunakan untuk mengidentifikasi atau mengakses baris atau kumpulan baris dalam database disebut kunci. Kunci utama dalam basis data relasional adalah gabungan kolom dalam tabel yang secara unik mengidentifikasi deretan tabel. Kunci asing dalam database relasional adalah field dalam tabel yang cocok dengan primary key tabel lain. Kunci asing digunakan untuk melewati tabel referensi.

Apa itu Kunci Utama?

Kunci utama adalah kolom atau kombinasi kolom yang secara unik mendefinisikan baris dalam tabel basis data relasional. Sebuah tabel dapat memiliki paling banyak satu primary key. Kunci utama memberlakukan batasan NOT NULL implisit. Jadi kolom yang didefinisikan sebagai primary key tidak bisa memiliki nilai NULL di dalamnya. Kunci utama bisa menjadi atribut normal dalam tabel yang dijamin unik seperti nomor jaminan sosial atau bisa juga menjadi nilai unik yang dihasilkan oleh sistem manajemen basis data seperti Globine Unique Identifier (GUID) di Microsoft SQL Server. Kunci primer didefinisikan melalui batasan PRIMARY KEY dalam ANSI SQL Standard. Kunci utama juga bisa didefinisikan saat membuat tabel. SQL memungkinkan primary key terdiri dari satu atau lebih kolom dan setiap kolom yang disertakan dalam primary key secara implisit didefinisikan sebagai NOT NULL. Tetapi beberapa sistem manajemen basis data memerlukan pembuatan kolom primary key secara eksplisit NOT NULL.

Apa itu foreign key?

Kunci asing adalah batasan referensi antara dua tabel. Ini mengidentifikasi kolom atau kumpulan kolom dalam satu tabel, yang disebut tabel referensi yang mengacu pada satu set kolom di tabel lain, yang disebut tabel yang direferensikan. Kunci asing atau kolom di tabel referensi harus merupakan kunci utama atau kunci kandidat (kunci yang dapat digunakan sebagai primary key) pada tabel yang direferensikan. Kunci asing digunakan untuk menghubungkan data ke beberapa tabel. Oleh karena itu, kunci asing tidak dapat berisi nilai yang tidak muncul dalam tabel yang mengacu padanya. Kemudian referensi yang diberikan oleh foreign key dapat digunakan untuk menghubungkan informasi dalam beberapa tabel dan ini akan menjadi penting dengan database yang dinormalisasi. Beberapa baris di tabel referensi mungkin merujuk ke satu baris dalam tabel yang direferensikan. Dalam standar ANSI SQL, kunci asing didefinisikan menggunakan batasan FOREIGN KEY. Selanjutnya, kunci asing dapat didefinisikan saat membuat tabel itu sendiri. Sebuah tabel dapat memiliki beberapa kunci asing dan mereka dapat mereferensi tabel yang berbeda.

Apa perbedaan antara foreign key dan Primary key?

Diference utama antara primary key dan foreign key adalah primary key adalah kolom atau satu set kolom yang dapat digunakan untuk mengidentifikasi secara unik sebuah baris dalam sebuah tabel sedangkan foreign key adalah kolom atau satu set kolom. yang mengacu pada kunci primer atau kunci kandidat dari tabel lain.Kunci asing terutama menyediakan metode untuk menghubungkan informasi dalam beberapa tabel. Perbedaan lainnya adalah bahwa sebuah tabel dapat memiliki satu primary key, namun dapat memiliki beberapa foreign key yang bisa mereferensikan tabel yang berbeda.