Apakah Kunci dalam DBMS?
KUNCI dalam DBMS adalah atribut atau sekumpulan 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 juga berguna untuk mencari rekod atau baris unik dari jadual. Kekunci pangkalan data juga berguna untuk mencari rekod atau baris unik dari jadual.
Contoh:
ID pekerja | Nama pertama | Nama terakhir |
11 | Andrew | Johnson |
22 | Tom | Kayu |
33 | Alex | Hale |
Dalam contoh yang diberikan di atas, ID pekerja adalah kunci utama kerana ia mengenal pasti rekod pekerja secara unik. Dalam jadual ini, tidak ada pekerja lain yang boleh mempunyai ID pekerja yang sama.
Dalam tutorial ini, anda akan belajar:
- Apa itu Kunci?
- Mengapa kita memerlukan Kunci?
- Pelbagai Kunci dalam Sistem Pengurusan Pangkalan Data
- Apa itu kunci Super?
- Apakah Kunci Utama?
- Apakah kunci Alternatif?
- Apakah Kunci Calon?
- Apakah kunci Asing?
- Apakah kunci Compound?
- Apakah kunci Komposit?
- Apakah Kunci Surrogate?
- Perbezaan Antara Kekunci Utama & Kekunci Asing
Mengapa kita memerlukan Kunci?
Berikut adalah beberapa sebab untuk menggunakan kunci sql dalam sistem DBMS.
- Kekunci membantu anda mengenal pasti sebarang baris data dalam jadual. Dalam aplikasi dunia nyata, jadual dapat berisi ribuan rekod. Lebih-lebih lagi, rekod boleh diduplikasi. Kunci memastikan anda dapat mengenal pasti rekod jadual secara unik walaupun menghadapi cabaran ini.
- Membolehkan anda menjalin hubungan antara dan mengenal pasti hubungan antara jadual
- Bantu anda untuk menegakkan identiti dan integriti dalam hubungan.
Jenis Kekunci dalam Sistem Pengurusan Pangkalan Data
Terdapat tujuh jenis Kekunci terutamanya di DBMS dan setiap kunci mempunyai fungsi yang berbeza:
- Kekunci Super - Kekunci super adalah sekumpulan kekunci tunggal atau berbilang yang mengenal pasti baris dalam jadual.
- Kunci Utama - adalah lajur atau kumpulan lajur dalam jadual yang mengenal pasti setiap baris dalam jadual itu secara unik.
- Kunci Calon - adalah sekumpulan atribut yang mengenal pasti tupel secara unik dalam jadual. Kunci Calon adalah kunci super tanpa atribut berulang.
- Kunci Alternatif - adalah lajur atau kumpulan lajur dalam jadual yang mengenal pasti setiap baris dalam jadual itu secara unik.
- 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.
- Kunci Kompaun - mempunyai dua atau lebih atribut yang membolehkan anda mengenali rekod tertentu secara unik. Ada kemungkinan bahawa setiap lajur mungkin tidak unik dengan sendirinya dalam pangkalan data.
- Kunci Komposit - Kekunci tiruan yang bertujuan untuk mengenal pasti setiap rekod secara unik dipanggil kunci pengganti. Kunci jenis ini unik kerana kunci dibuat apabila anda tidak mempunyai kunci utama semula jadi.
- Kunci Surrogate - Kunci tiruan yang bertujuan untuk mengenal pasti setiap rekod secara unik dipanggil kunci pengganti. Kunci jenis ini unik kerana kunci dibuat apabila anda tidak mempunyai kunci utama semula jadi.
Apakah kunci Super?
Kekunci super adalah sekumpulan kekunci tunggal atau berbilang yang mengenal pasti baris dalam jadual. Kekunci Super mungkin mempunyai atribut tambahan yang tidak diperlukan untuk pengenalan unik.
Contoh:
EmpSSN | EmpNum | Memberi nama |
9812345098 | AB05 | Ditunjukkan |
9876512345 | AB06 | Roslyn |
199937890 | AB07 | James |
Dalam contoh yang diberikan di atas, nama EmpSSN dan EmpNum adalah superkeys.
Apakah Kunci Utama?
KUNCI PRIMARY adalah lajur atau kumpulan lajur dalam jadual yang mengenal pasti setiap baris dalam jadual itu secara unik. Kunci Utama tidak boleh menjadi pendua yang bermaksud nilai yang sama tidak dapat muncul lebih dari sekali dalam jadual. Jadual tidak boleh mempunyai lebih daripada satu kunci utama.
Peraturan untuk menentukan kunci Utama:
- Dua baris tidak boleh mempunyai nilai kunci utama yang sama
- Setiap baris mesti mempunyai nilai kunci utama.
- Medan kunci utama tidak boleh kosong.
- Nilai dalam lajur kunci primer tidak akan dapat diubah atau dikemas kini jika ada kunci asing merujuk kepada kunci utama itu.
Contoh:
Dalam contoh berikut, StudID
adalah Kunci Utama.
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. |
Apakah kunci Alternatif?
ALTERNATE KEYS adalah lajur atau kumpulan lajur dalam jadual yang mengenal pasti setiap baris dalam jadual itu secara unik. Jadual boleh mempunyai banyak pilihan untuk kunci utama tetapi hanya satu yang boleh ditetapkan sebagai kunci utama. Semua kunci yang bukan kunci utama dipanggil Kunci Alternatif.
Contoh:
Dalam jadual ini, StudID, Roll No, Email layak untuk menjadi kunci utama. Tetapi kerana StudID adalah kunci utama, Roll No, E-mel menjadi kunci alternatif.
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. |
Apakah Kunci Calon?
CANDIDATE KEY adalah sekumpulan atribut yang mengenal pasti tupel secara unik dalam jadual. Kunci Calon adalah kunci super tanpa atribut berulang. Kunci Utama harus dipilih dari kunci calon. Setiap jadual mesti mempunyai sekurang-kurangnya satu kunci calon. Jadual boleh mempunyai beberapa kunci calon tetapi hanya satu kunci utama.
Sifat kunci Calon:
- Ia mesti mengandungi nilai unik
- Kunci calon mungkin mempunyai pelbagai atribut
- Tidak boleh mengandungi nilai kosong
- Ia mesti mengandungi medan minimum untuk memastikan keunikan
- Kenal pasti setiap rekod dalam jadual secara unik
Contoh: Dalam jadual yang diberikan, ID Pengenalan, No Roll, dan e-mel adalah kunci calon yang membantu kami mengenal pasti rekod pelajar secara unik dalam jadual.
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. |
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.
Contoh:
DeptCode | Nama Dept |
001 | Sains |
002 | Bahasa Inggeris |
005 | Komputer |
ID Guru | Nama keluarga | Nama Ln |
B002 | Daud | Peringatan |
B017 | Sara | Yusuf |
B009 | Mike | Brunton |
Dalam kunci dbms contoh ini, kita mempunyai dua jadual, mengajar dan jabatan di sebuah sekolah. Walau bagaimanapun, tidak ada cara untuk melihat carian mana yang berfungsi di jabatan mana.
Dalam jadual ini, dengan menambahkan kunci asing dalam Deptcode ke nama Guru, kita dapat menjalin hubungan antara dua jadual.
ID Guru | DeptCode | Nama keluarga | Nama Ln |
B002 | 002 | Daud | Peringatan |
B017 | 002 | Sara | Yusuf |
B009 | 001 | Mike | Brunton |
Konsep ini juga dikenali sebagai Referential Integrity.
Apakah kunci Compound?
KUNCI KOMPOUND mempunyai dua atau lebih atribut yang membolehkan anda mengenali rekod tertentu secara unik. Ada kemungkinan bahawa setiap lajur mungkin tidak unik dengan sendirinya dalam pangkalan data. Walau bagaimanapun, apabila digabungkan dengan lajur atau lajur lain, gabungan kunci komposit menjadi unik. Tujuan kunci gabungan dalam pangkalan data adalah untuk mengenal pasti setiap rekod dalam jadual secara unik.
Contoh:
PesananTidak | PorductID | Nama Produk | Kuantiti |
B005 | JAP102459 | Tetikus | 5 |
B005 | DKT321573 | USB | 10 |
B005 | OMG446789 | Monitor LCD | 20 |
B004 | DKT321573 | USB | 15 |
B002 | OMG446789 | Mesin pencetak Laser | 3 |
Dalam contoh ini, OrderNo dan ProductID tidak boleh menjadi kunci utama kerana tidak mengenal pasti rekod secara unik. Walau bagaimanapun, kunci gabungan ID Pesanan dan ID Produk dapat digunakan kerana ia mengenal pasti setiap rekod secara unik.
Apakah kunci Komposit?
KUNCI KOMPOSIT adalah gabungan dua atau lebih lajur yang mengenal pasti baris dalam jadual secara unik. Gabungan lajur menjamin keunikan, walaupun keunikan secara individu tidak dijamin. Oleh itu, ia digabungkan untuk mengenal pasti rekod secara unik dalam jadual.
Perbezaan antara kompaun dan kunci komposit adalah bahawa mana-mana bahagian kunci kompaun boleh menjadi kunci asing, tetapi kunci komposit mungkin atau mungkin bukan sebahagian daripada kunci asing.
Apakah kunci Surrogate?
KUNCI SURROGATE adalah kunci tiruan yang bertujuan untuk mengenal pasti secara unik setiap rekod yang disebut kunci pengganti. Kekunci separa dalam dbms ini unik kerana ia dibuat apabila anda tidak mempunyai kunci utama semula jadi. Mereka tidak memberi makna kepada data dalam jadual. Kekunci pengganti biasanya adalah bilangan bulat. Kunci pengganti adalah nilai yang dihasilkan tepat sebelum rekod dimasukkan ke dalam jadual.
Nama keluarga | Nama terakhir | Masa mula | Masa tamat |
Anne | Smith | 09:00 | 18:00 |
Jack | Francis | 08:00 | 17:00 |
Anna | McLean | 11:00 | 20:00 |
Ditunjukkan | Willam | 14:00 | 23:00 |
Di atas, contoh yang diberikan, menunjukkan masa perubahan pekerja yang berbeza. Dalam contoh ini, kunci pengganti diperlukan untuk mengenal pasti setiap pekerja secara unik.
Kekunci pengganti dalam sql dibenarkan bila
- Tidak ada sifat yang mempunyai parameter kunci utama.
- Dalam jadual apabila kunci utama terlalu besar atau rumit.
Perbezaan Antara Kekunci Utama & Kekunci Asing
Kunci utama | Kunci asing |
Membantu anda mengenal pasti rekod secara unik dalam jadual. | Ia adalah medan dalam jadual yang merupakan kunci utama jadual lain. |
Kunci Utama tidak pernah menerima nilai kosong. | Kunci asing boleh menerima beberapa nilai nol. |
Kunci primer adalah indeks berkelompok dan data dalam jadual DBMS disusun secara fizikal mengikut urutan indeks berkelompok. | Kekunci asing tidak dapat membuat indeks, berkelompok atau tidak berkelompok secara automatik. Walau bagaimanapun, anda boleh membuat indeks secara manual pada kunci asing. |
Anda boleh mempunyai satu kunci Utama dalam jadual. | Anda boleh mempunyai beberapa kunci asing dalam jadual. |
Ringkasan
- Kunci dalam SQL adalah atribut atau sekumpulan atribut yang membantu anda mengenal pasti baris (tuple) dalam hubungan (jadual)
- Kekunci DBMS membolehkan anda menjalin hubungan antara dan mengenal pasti hubungan antara jadual
- Tujuh Jenis kunci DBMS adalah Kekunci Super, Utama, Calon, Alternatif, Asing, Kompaun, Komposit, dan Surrogate.
- Kekunci super adalah sekumpulan kekunci tunggal atau berbilang yang mengenal pasti baris dalam jadual.
- Lajur atau kumpulan lajur dalam jadual yang membantu kita mengenal pasti setiap baris dalam jadual itu disebut kunci utama
- Semua kekunci yang bukan kunci utama dipanggil kunci ganti
- Kekunci super tanpa atribut berulang dipanggil kunci calon
- Kekunci gabungan adalah kunci yang mempunyai banyak bidang yang membolehkan anda mengenali rekod tertentu secara unik
- Kunci yang mempunyai pelbagai atribut untuk mengenal pasti baris secara unik dalam jadual dipanggil kunci gabungan
- Kunci tiruan yang bertujuan untuk mengenal pasti setiap rekod secara unik dipanggil kunci pengganti
- Kunci Utama tidak pernah menerima nilai nol sementara kunci asing boleh menerima beberapa nilai nol.