Kunci Asas Yang Membuat Pengurusan Pangkalan Data Mudah

Kekunci pangkalan data adalah cara termudah untuk membuat pangkalan data relasi yang cekap

Seperti yang sudah anda ketahui, pangkalan data menggunakan jadual untuk menganjurkan maklumat. (Jika anda tidak mempunyai kebiasaan asas dengan konsep pangkalan data, baca Apakah Pangkalan Data? ) Setiap jadual terdiri daripada beberapa baris, masing-masing sepadan dengan rekod pangkalan data tunggal. Jadi, bagaimana pangkalan data menyimpan semua rekod ini terus? Ia melalui penggunaan kekunci.

Kunci Utama

Jenis utama yang akan dibincangkan ialah kunci utama . Setiap jadual pangkalan data harus mempunyai satu atau lebih lajur yang ditetapkan sebagai kunci utama . Nilai yang dipegang kunci ini harus unik untuk setiap rekod dalam pangkalan data.

Sebagai contoh, anggap kami mempunyai jadual yang dipanggil Pekerja yang mengandungi maklumat kakitangan untuk setiap pekerja di firma kami. Kita perlu memilih kunci utama yang sesuai yang akan mengenal pasti setiap pekerja secara unik. Pemikiran pertama anda mungkin menggunakan nama pekerja itu. Ini tidak akan berfungsi dengan baik kerana ia dapat difikirkan bahawa anda akan menyewa dua pekerja dengan nama yang sama. Pilihan yang lebih baik mungkin menggunakan nombor ID pekerja yang unik yang anda berikan kepada setiap pekerja apabila mereka diupah. Sesetengah organisasi memilih menggunakan Nombor Keselamatan Sosial (atau pengenal kerajaan yang serupa) untuk tugas ini kerana setiap pekerja sudah mempunyai satu dan mereka dijamin menjadi unik. Walau bagaimanapun, penggunaan Nombor Keselamatan Sosial untuk tujuan ini sangat kontroversi kerana kebimbangan privasi. (Jika anda bekerja untuk organisasi kerajaan, penggunaan Nombor Keselamatan Sosial mungkin menyalahi undang-undang di bawah Akta Privasi 1974.) Atas sebab ini, kebanyakan organisasi telah beralih kepada penggunaan pengenal pasti unik (ID pekerja, ID pelajar, dll. .) yang tidak berkongsi kebimbangan privasi ini.

Sebaik sahaja anda membuat keputusan mengenai kunci utama dan mendirikan pangkalan data, sistem pengurusan pangkalan data akan menguatkuasakan keunikan kunci.

Jika anda cuba memasukkan rekod ke dalam jadual dengan kunci utama yang menduplikat rekod sedia ada, masukkan akan gagal.

Kebanyakan pangkalan data juga mampu menghasilkan kunci utama mereka sendiri. Akses Microsoft, contohnya, boleh dikonfigurasikan untuk menggunakan jenis data AutoNumber untuk memberikan ID unik kepada setiap rekod dalam jadual. Walaupun berkesan, ini adalah amalan reka bentuk yang buruk kerana ia meninggalkan anda dengan nilai yang tidak bermakna dalam setiap rekod dalam jadual. Mengapa tidak menggunakan ruang itu untuk menyimpan sesuatu yang berguna?

Kunci Asing

Jenis lain ialah kunci asing , yang digunakan untuk membuat hubungan antara jadual. Hubungan semulajadi wujud antara jadual dalam kebanyakan struktur pangkalan data. Kembali ke pangkalan data Kakitangan kami, bayangkan kami ingin menambah jadual yang mengandungi maklumat jabatan kepada pangkalan data. Jadual baru ini mungkin dipanggil Jabatan dan akan mengandungi sejumlah besar maklumat mengenai jabatan secara keseluruhan. Kami juga ingin memasukkan maklumat tentang pekerja di jabatan, tetapi ia akan menjadi berlebihan untuk mempunyai maklumat yang sama dalam dua jadual (Kakitangan dan Jabatan). Sebaliknya, kita boleh membuat hubungan antara kedua-dua jadual.

Mari kita anggap bahawa jadual Jabatan menggunakan lajur Nama Jabatan sebagai kunci utama. Untuk mewujudkan hubungan antara kedua-dua jadual, kami menambah lajur baru ke jadual Kakitangan yang dipanggil Jabatan. Kami kemudian mengisi nama jabatan yang setiap pekerja dimiliki. Kami juga memaklumkan sistem pengurusan pangkalan data bahawa lajur Jabatan dalam jadual Kakitangan adalah kunci asing yang merujuk jadual Jabatan.

Pangkalan data kemudiannya akan menguatkuasakan integriti rujukan dengan memastikan bahawa semua nilai dalam lajur Jabatan jadual Pekerja mempunyai entri yang sepadan dalam jadual Jabatan.

Perhatikan bahawa tiada kekangan keunikan untuk kunci asing. Kami mungkin (dan kemungkinan besar) mempunyai lebih daripada satu pekerja yang dimiliki oleh satu jabatan. Begitu juga, tidak ada syarat bahawa kemasukan dalam jadual Jabatan mempunyai entri yang sepadan dalam jadual Pekerja. Ada kemungkinan kita mempunyai jabatan tanpa pekerja.

Untuk lebih lanjut mengenai topik ini, baca Membuat Kekunci Asing .