Last Updated on March 6, 2023 by
Dalam SQL, Primary Key adalah bidang tunggal atau kombinasi bidang yang secara unik menentukan catatan. Tak satupun bidang yang merupakan bagian dari SQL Primary Key dapat berisi nilai NULL. Sebuah tabel hanya dapat memiliki satu Primary Key.
Batasan Primary key digunakan untuk mengidentifikasi baris secara unik. Constraint PRIMARY KEY hanyalah kombinasi dari NOT NULL dan UNIQUE. Artinya, kolom tidak boleh berisi duplikat maupun nilai NULL.
Dalam tutorial ini, kita akan belajar Sql Primary Key secara mendalam dan cara menggunakannya dengan bantuan contoh.
Table of Contents
Mengenal SQL Primary Key
Primary Key adalah kolom dalam tabel yang digunakan sebagai pengidentifikasi unik untuk setiap baris. Ini berfungsi sedikit seperti alamat baris, dan digunakan untuk indeks utama tabel. (Secara teknis, primary key dapat terdiri dari beberapa kolom, tetapi untuk tujuan kita di sini mari kita anggap sebagai satu kolom).
Anda dapat menganggap Primary Key seperti nomor ID baris. Sama seperti ID Kartu Kependudukan Anda yang mengidentifikasi Anda secara unik bahkan jika orang lain berbagi nama Anda atau tinggal di alamat Anda, kolom Primary Key tabel mengidentifikasi setiap baris secara unik bahkan jika beberapa nilai lain di baris tersebut dibagikan dengan baris lain.
Kolom primary key tabel harus unik, dan tidak boleh kosong atau NULL.
Manfaat SQL Primary Key
Keuntungan paling signifikan dari primary key adalah:
- Ini secara unik mengidentifikasi setiap baris tabel
- Itu mendapat indeks unik untuk setiap kolom Primary Key yang membantu akses lebih cepat
Apa Properti dan Aturan dari Primary Key SQL?
Properti dari setiap kolom atau kolom Primary Key adalah:
- Ia membutuhkan keunikan dengan tidak menerima nilai duplikat apa pun
- Primary Key secara unik mengidentifikasi setiap bidang
- Sebuah tabel hanya dapat mengambil satu Primary Key
- Kolom utama memiliki panjang maksimal 900 byte
- Kolom Primary Key tidak dapat menerima nilai nol
- Primary Keysatu kolom adalah yang sederhana. Yang terdiri dari banyak kolom disebut primary key komposit
- Primary Key dapat dibuat pada tingkat kolom atau tabel, menggunakan pernyataan CREATE TABLE atau ALTER TABLE
Menentukan Primary Key
Saat membuat tabel dalam database SQL, salah satu keputusan terpenting adalah apa yang akan digunakan untuk primary key. Ini dapat berdampak besar pada efisiensi kueri Anda. Ini juga menjadi sangat penting saat Anda mulai membuat hubungan antar tabel.
Ada dua jenis kunci yang dapat kita pertimbangkan saat membuat keputusan.
“Natural Key” menggunakan data yang sudah ada dalam catatan.
“Surrogate Key” memungkinkan database menghasilkan kunci baru dan menetapkannya ke catatan.
Dalam komunitas belajar SQL, ada perdebatan signifikan tentang apakah akan menggunakan Natural key atau Surrogate key. Kami tidak akan mencoba menyelesaikan perdebatan itu, tetapi kami akan menyajikan opsi dengan beberapa rekomendasi umum.
Waktu Terbaik Menggunakan Natural Key Pada SQL Primary Key
Pertimbangkan alamat rumah atau bangunan. Itu terdiri dari beberapa komponen (nomor gedung, nama jalan, dll.) Yang, jika digabungkan, mengidentifikasi properti secara unik. Alamat adalah bagian dari data properti dan karenanya mewakili kunci alami.
Sebagai contoh : Jl. Sidakarya Gang Artayoga No. 8c, Denpasar Selatan
Alamat ini secara unik akan mengidentifikasi satu lokasi di Denpasar Selatan. Itu tidak dapat disalahartikan sebagai lokasi lain. Jika Anda ingin berbagi lokasi, Anda dapat memberikan alamat tersebut dan dapat digunakan dengan andal untuk menemukan properti.
Salah satu keuntungan utama menggunakan natural key adalah tidak memerlukan informasi tambahan apa pun selain yang sudah ada dalam catatan. Ini berarti dibutuhkan lebih sedikit ruang penyimpanan. Selain itu, kunci alami sering digunakan saat menanyakan database. Misalnya, jika kami ingin menemukan semua properti di Sidakarya, pencarian kami dapat menggunakan sebagian dari kunci utama. Artinya, kita mungkin tidak perlu menambahkan indeks tambahan dan kueri kita akan relatif efisien (dengan asumsi kita menyiapkan kunci dengan benar).
Namun, ada kasus di mana natural key mungkin tidak cocok. Jika kunci itu dibagikan dengan cara tertentu, terutama di luar database, mungkin ada masalah keamanan dengan kunci tersebut. Terkadang, kuncinya terlalu panjang atau rumit dan kami lebih memilih sesuatu yang lebih sederhana. Beberapa rekaman tidak memiliki cara alami untuk mengidentifikasinya.
Terlepas dari alasannya, ketika kita menemukan diri kita tanpa natural key yang sesuai, kita perlu mencari alternatif.
Waktu Terbaik Menggunakan Surrogate Key
Bagaimana jika kita ingin mengidentifikasi seseorang? Di permukaan, ini tampak mudah. Anda mengidentifikasi seseorang menggunakan nama depan dan belakang mereka. Namun, banyak orang berbagi nama yang sama. Ini membuatnya menjadi kunci utama yang tidak sesuai karena tidak dapat menjamin keunikan.
Sebagai gantinya, kami mungkin melihat informasi lain yang terkait dengan seseorang. Sebagai contoh :
Nomor telepon
Alamat
Alamat email
Dll…
Nomor telepon dan alamat mungkin digunakan bersama oleh beberapa orang yang tinggal di tempat yang sama. Jadi mereka tidak memberikan keunikan yang dibutuhkan.
Alamat emailnya menjanjikan karena kebanyakan orang memiliki alamat email sendiri, jadi mungkin unik. Sayangnya, itu juga memiliki beberapa celah. Beberapa orang mungkin tidak memiliki alamat email sama sekali. Orang lain mungkin membagikan alamat email mereka dengan anggota keluarga. Atau mungkin email bisnis dengan banyak orang yang menggunakannya.
Semua ini berarti alamat email mungkin tidak cukup. Namun, terkadang kita dapat membuatnya berhasil dengan menerapkan aturan bisnis khusus. Misalnya, mewajibkan semua pengguna memiliki alamat email yang unik. Ini mungkin mendiskualifikasi beberapa pengguna, tetapi dari perspektif bisnis, mungkin tidak apa-apa.
Tapi anggap saja kita telah memutuskan bahwa alamat email tidak akan berfungsi? Apa berikutnya?
Opsi selanjutnya adalah menggunakan Surrogate key. Surrogate key adalah pengidentifikasi unik yang disintesis oleh database atau aplikasi. Ini awalnya bukan bagian dari data itu sendiri.
Pemerintah mengetahui hal ini bertahun-tahun yang lalu dan mulai memberikan pengidentifikasi unik kepada individu (mis. Kartu Tanda Kependudukan, Nomor SIM , Nomor BPJS, dll). Ini adalah pengidentifikasi sintetik yang telah ditetapkan untuk mengidentifikasi orang tersebut secara unik.
Pengidentifikasi sintetik ini telah menjadi sangat umum sehingga sekarang dianggap sebagai natural key, meskipun awalnya dimulai sebagai pengganti. Namun, karena mereka telah menyebar ke mana-mana, kita perlu berhati-hati. Mengeksposnya dapat menimbulkan risiko keamanan.
Membuat Primary Key di SQL
Direkomendasikan untuk menetapkan kunci utama pada saat membuat tabel baru di database Anda. Anda harus menggunakan pernyataan SQL CREATE TABLE dengan PRIMARY KEY Constraint.
Karena persyaratan sintaks sedikit berbeda dalam sistem manajemen basis data yang berbeda, Anda akan melihat dua contoh penggunaan SQL CREATE TABLE dengan SQL PRIMARY KEY di bawah ini. Di keduanya, kami membuat tabel baru bernama Guests dan menetapkan ID kolom sebagai Primary Key.
Di MySQL
Contoh
CREATE TABLE Guests ( ID int NOT NULL, Surname varchar(100) NOT NULL, Name varchar(100), Age int, PRIMARY KEY (ID) );
Di SQL Server/Oracle/MS Access
Contoh
CREATE TABLE Guests ( ID int NOT NULL PRIMARY KEY, Surname varchar(100) NOT NULL, Name varchar(100), Age int );
Composite SQL Primary Key
Composite Primary Key Pada SQL adalah salah satu yang menggunakan beberapa kolom . Sebaiknya gunakan jumlah kolom sekecil mungkin agar Anda tidak menggunakan terlalu banyak ruang disk .
Dalam contoh di bawah ini, satu kunci yang disebut PK_Guest didefinisikan. Namun, ini terdiri dari dua kolom – ID dan Surname:
Contoh
CREATE TABLE Guests ( ID int NOT NULL, Surname varchar(100) NOT NULL, Name varchar(100), Age int, CONSTRAINT PK_Guest PRIMARY KEY (ID,Surname) );
Menambahkan Kunci Utama ke Tabel yang Ada
Anda juga dapat menetapkan SQL Primary Key ke tabel yang sudah ada dengan menggunakan pernyataan ALTER TABLE :
Contoh
ALTER TABLE Guests ADD PRIMARY KEY (ID);
Pada contoh di bawah ini, kami menambahkan Primary key komposit SQL yang terdiri dari dua kolom:
Contoh
ALTER TABLE Guests ADD CONSTRAINT PK_Guest PRIMARY KEY (ID,Surname);
Drop Primary key dalam SQL
Untuk melakukan Drop pada Primary Key dalam SQL, Anda perlu menggunakan ALTER TABLE pernyataan itu juga. Sekali lagi, sintaksnya sedikit berbeda di seluruh basis data:
Di MySQL
Contoh
ALTER TABLE Guests DROP PRIMARY KEY;
Di SQL Server/Oracle/MS Access
Contoh
ALTER TABLE Guests DROP CONSTRAINT PK_Guest;
Temukan lebih banyak artikel seri belajar SQL maupun bahasa pemrograman lainnya hanya di CODEKEY. Klik https://codekey.id/ sekarang juga untuk langsung belajar gratis. Sampai bertemu lagi!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.