Dalam mengelola database, terdapat satu istilah yang perlu Anda ketahui yaitu primary key, khususnya ketika Anda akan membuat relasi database. Primary key adalah nilai yang digunakan untuk relasi antar tabel. Artikel ini akan menjelaskan pengertian, fungsi primary key, perbedaan primary key dan foreign key.
Apa Itu Primary Key?
Primary key adalah sebuah aturan nilai yang berfungsi untuk memastikan setiap baris data dalam tabel bersifat unik atau berbeda antara baris satu dengan baris lain. Nilai ini tentu sudah tidak asing lagi dalam pengelolaan basis data.
Nilai unik berguna untuk mengidentifikasi catatan dalam basis data kemudian membandingkan atau mengurutkan setiap tabel pada properti.
Selain untuk memfasilitasi pemrosesan data dalam database, kunci primer juga berfungsi untuk melakukan pencarian data. Dengan nilai unik, maka tidak ada catatan database dengan nilai yang sama.
Terdapat beberapa hal yang perlu Anda perhatikan dalam menentukan nilai sebagai kunci primer. Jika terdapat banyak tabel, maka tabel dapat berkorelasi dengan kunci primer pada tabel pertama, kemudian tabel kedua sudah bukan kunci primer melainkan foreign key.
Pada dasarnya, setiap tabel hanya memiliki satu kunci primer yang saling berhubungan antara tabel pertama dengan tabel kedua. Namun pada tabel kedua bernama kunci asing atau foreign key.
Fungsi Primary Key
Dalam database relasional, tabel berfungsi untuk menyimpan nilai di dalamnya. Tabel ini terdiri dari kombinasi kolom yang terdapat kunci primer untuk menentukan tingkat integritas tabel. Pemilihan primary key adalah langkah penting untuk mencapai tujuan database yang benar dan valid.
Jika Anda menentukan kunci primer untuk melakukan kueri dengan banyak modifikasi dalam setiap baris, maka baris lain dalam tabel yang sama tidak akan terganggu. Keunikan dari kunci primer akan mencegah terjadinya duplikasi data dan membantu Anda untuk melakukan pencarian dalam waktu yang singkat.
Sebagai contoh, terdapat tabel bernama pegawai yang memiliki risiko besar untuk membedakan setiap nama yang mungkin saja sama. Oleh sebab itu, Anda memerlukan kunci primer untuk memastikan setiap nama tersebut berbeda dan juga unik.
Syarat dari Primary Key
Setelah mengetahui fungsi primary key, kemudian tabel harus memiliki kunci primer atau kunci utama yang bersifat unik. Namun dalam menentukan kunci primer, terdapat beberapa syarat yang harus Anda penuhi antara lain:
- Tabel hanya bisa memiliki satu kunci primer.
- Jumlah maksimal kunci primer yaitu 16 kolom dengan panjang kunci 900 byte.
- Kolom kunci utama perlu Anda definisikan “NOT NULL” yang artinya memastikan bahwa nilai dalam kolom tersebut tidak boleh kosong. Jika Anda tidak memasukkan nilai atau data dalam kolom tersebut, maka akan terjadi kesalahan pada database.
- Tidak boleh berisi nilai yang sama antara baris satu dengan baris lain.
- Tipe data yang Anda gunakan untuk kunci primer tidak boleh tipe BLOB, melainkan INT, BIGINT, TINYINT, SMALLINT, dan sejenisnya.
Kolom kunci primer pada SQL biasanya memiliki atribut bernama AUTO_INCREMENT yang akan menghasilkan urutan naik dari kunci tersebut secara otomatis. Dengan kata lain, kunci utama baris berikutnya akan lebih besar nilainya dari baris sebelumnya.
Tips Menentukan Primary Key dalam Database
Menentukan primary key adalah hal yang perlu Anda pahami, berikut ini beberapa tipsnya:
1. Hanya Satu Data yang Menjadi Kunci Primer
Seperti pada penjelasan sebelumnya bahwa primary key merupakan sebuah patokan dalam database. Artinya, hanya terdapat satu elemen data yang bisa menjadi referensi. Sehingga saat Anda ingin menentukan data yang akan menjadi kunci primer, perlu berhati-hati agar tidak terjadi banyak perubahan karena kesalahan.
2. Tidak Boleh Melebihi Batas Kolom
Saat Anda sudah menetapkan sebuah data sebagai kunci primer, maka data tersebut tidak boleh melebihi batas maksimum kolom yaitu 16. Perhatikan juga panjang kunci maksimal 900 byte agar tidak terjadi kesalahan dalam database.
3. Kolom Primary Key Tidak Boleh Kosong
Seperti pada penjelasan sebelumnya bahwa kunci primer adalah “not null”, artinya data dalam kolom tersebut tidak boleh kosong. Jika Anda tidak mengisinya, maka akan terjadi kesalahan database.
4. Tidak Boleh Ada Nilai yang Sama dalam Kolom
Dalam kolom yang sudah Anda pilih sebagai kunci primer, tidak boleh ada data yang sama. Setiap data harus bersifat unik seperti nomor ID pada KTP, nomor telepon, nomor induk, dan data lain yang membedakan antara satu orang dengan orang lain.
5. Data dalam Kunci Primer Tidak Boleh Bertipe BLOB
Meskipun banyak tipe data yang bisa Anda tentukan sebagai kunci primer, namun tidak boleh bertipe BLOB atau Binary Large Object. BLOB merupakan data yang tersimpan dalam entitas sebuah database management system. Data di BLOB tersimpan dalam bentuk multimedia atau berupa gambar, video, suara, atau file dokumen.
Perbedaan Primary Key dan Foreign Key
Berikut ini perbedaan primary key dan foreign key yang perlu Anda ketahui:
1. Primary Key
Primary key adalah aturan yang berfungsi untuk membedakan antara baris satu dengan baris lain pada tabel dan bersifat unik atau berbeda setiap barisnya. Contoh kolom yang biasa digunakan sebagai kunci primer yaitu data berupa angka dan tidak boleh bernilai null atau kosong.
2. Foreign Key
Foreign key adalah atribut untuk melengkapi hubungan antara satu tabel menuju tabel induk. Kunci ini sangat berguna jika Anda ingin menghubungkan banyak tabel.
Contoh Primary Key
Setelah mengetahui penjelasan tentang primary key maupun perbedaannya dengan foreign key, tentunya akan lebih jelas jika Anda melihat contoh primary key. Berikut adalah gambar tabel untuk contoh primary key:
Untuk kolom ID adalah primary key pada tabel di atas. Itu karena ID tersebut bersifat unik dan setiap data (row) memiliki nilai ID yang berbeda-beda.
Sudahkah Mengerti Tentang Primary Key?
Itulah penjelasan tentang kunci primer. Pastikan untuk memahami apa itu database terlebih dahulu sebelum mulai menerapkan kunci primer dalam tabel. Semoga artikel ini bermanfaat!
I’m an experienced SEO Specialist who can grow a website through organic channel. I’m also passionate about digital marketing and web development