Sebelum mengetahui perbezaan antara kunci utama dan kunci asing, mari belajar:
Apakah Kunci?
Kunci adalah atribut yang membantu anda mengenal pasti baris (tuple) dalam hubungan (jadual). Mereka membolehkan anda mencari hubungan antara dua jadual. Kekunci membantu anda mengenal pasti baris dalam jadual secara unik dengan gabungan satu atau beberapa lajur dalam jadual tersebut. Kunci pangkalan data juga berguna untuk mencari rekod atau baris unik dari jadual.
Apakah Hubungan Pangkalan Data?
Hubungan pangkalan data adalah perkaitan antara satu atau lebih jadual yang dibuat menggunakan pernyataan bergabung. Ia digunakan untuk mengambil data dari pangkalan data dengan cekap. Terdapat terutamanya tiga jenis hubungan 1) Satu-ke-Satu, 2) Satu-ke-banyak, 3) Banyak-ke-banyak.
Apakah Kunci Utama?
Kekangan kunci utama adalah lajur atau kumpulan lajur yang secara unik mengenal pasti setiap baris dalam jadual sistem pengurusan pangkalan data hubungan. Ini tidak boleh menjadi pendua, yang bermaksud nilai yang sama tidak boleh muncul lebih dari sekali dalam jadual.
Jadual boleh mempunyai lebih daripada satu kunci utama. Kekunci utama dapat ditentukan pada tahap lajur atau jadual. Sekiranya anda membuat kunci utama komposit, kunci tersebut harus ditentukan pada peringkat jadual.
Apakah Kunci Asing?
Kunci asing adalah lajur yang mewujudkan hubungan antara dua jadual. Tujuan kunci Asing adalah untuk mengekalkan integriti data dan membenarkan navigasi antara dua keadaan entiti yang berbeza. Ia bertindak sebagai rujukan silang antara dua jadual kerana merujuk kunci utama jadual lain. Setiap hubungan dalam pangkalan data harus disokong oleh kunci asing.
PERBEZAAN UTAMA:
- Kekangan kunci utama adalah lajur yang secara unik mengenal pasti setiap baris dalam jadual sistem pengurusan pangkalan data hubungan, sementara kunci asing adalah lajur yang mewujudkan hubungan antara dua jadual.
- Kunci Utama tidak pernah menerima nilai nol sedangkan kunci asing boleh menerima beberapa nilai nol.
- Anda hanya boleh mempunyai satu kunci utama dalam jadual sementara anda boleh mempunyai beberapa kunci asing dalam jadual.
- Nilai kunci utama tidak dapat dikeluarkan dari jadual induk sedangkan nilai kunci asing boleh dikeluarkan dari jadual anak.
- Tidak ada dua baris yang boleh mempunyai nilai yang sama untuk kunci utama sebaliknya kunci asing boleh mengandungi nilai pendua.
- Tidak ada batasan dalam memasukkan nilai ke dalam lajur jadual sambil memasukkan nilai apa pun di dalam jadual kunci asing, pastikan bahawa nilai tersebut ada ke dalam lajur kunci utama.
Mengapa menggunakan Kunci Utama?
Berikut adalah keburukan / faedah menggunakan kunci utama:
- Tujuan utama kunci utama adalah untuk mengenal pasti setiap rekod dalam jadual pangkalan data.
- Anda boleh menggunakan kunci utama apabila anda tidak membenarkan seseorang memasukkan nilai nol.
- Sekiranya anda menghapus atau mengemas kini rekod, tindakan yang anda tentukan akan dilakukan untuk memastikan integriti data.
- Lakukan operasi had untuk menolak operasi hapus atau kemas kini untuk jadual induk.
- Data disusun dalam urutan indeks berkelompok setiap kali anda mengatur jadual DBMS secara fizikal.
Mengapa menggunakan Kunci Asing?
Berikut adalah sebab-sebab penting menggunakan kunci asing:
- Kekunci asing membantu anda memindahkan entiti menggunakan kunci utama dari jadual induk.
- Kekunci asing membolehkan anda menghubungkan dua atau lebih jadual bersama.
- Ini menjadikan data pangkalan data anda konsisten.
- Kunci asing boleh digunakan untuk memadankan lajur atau kombinasi lajur dengan kunci primer dalam jadual induk.
- Kekangan kunci asing SQL digunakan untuk memastikan integriti rujukan induk data untuk memadankan nilai dalam jadual anak.
Contoh Kunci Utama
Sintaks:
Berikut adalah sintaks Kunci Utama:
CREATE TABLE(Column1 datatype,Column2 datatype, PRIMARY KEY (Column-Name).);
Di sini,
- Table_Name adalah nama jadual yang harus anda buat.
- Column_Name adalah nama lajur yang mempunyai kunci utama.
Contoh:
Belajar | Gulung No | Nama pertama | Nama terakhir | E-mel |
---|---|---|---|---|
1 | 11 | Tom | Harga | Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
2 | 12 | Nick | Wright | Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
3 | 13 | Dana | Natan | Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya. |
Dalam contoh di atas, kami telah membuat jadual pelajar dengan lajur seperti StudID, Roll No, First Name, Last Name, dan Email. StudID dipilih sebagai kunci utama kerana dapat mengenal pasti baris lain dalam jadual secara unik.
Contoh Kunci Asing
Sintaks:
Berikut adalah sintaks Kunci Asing:
CREATE TABLE