Untuk menghapus constraint di PostgreSQL, gunakan perintah ALTER TABLE diikuti
klausa DROP CONSTRAINT, dengan menyebutkan nama constraint yang ingin
dihapus. Hati-hati, karena hal ini berpotensi menimbulkan masalah integritas data.
Sintaks Dasar:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
Sebelum lanjut membaca, saya ingin memperkenalkan pengelola database PostgreSQL yang modern dan cepat buatan kami, Beekeeper Studio. Editor struktur tabelnya memungkinkan Anda menghapus foreign key atau unique index dengan sekali klik, dan gratis digunakan untuk PostgreSQL, unduh di sini.
Jenis-Jenis Constraint di PostgreSQL
Sebelum mempelajari cara menghapus constraint, ada baiknya Anda mengenal jenis-jenis constraint yang umum tersedia:
- Primary Key
- Foreign Key
- Unique
- Check
Menghapus Constraint Primary Key
Primary key mengidentifikasi setiap record dalam tabel secara unik.
Contoh:
Misalkan kita punya tabel users:
CREATE TABLE users (
user_id serial PRIMARY KEY,
username VARCHAR (50) UNIQUE NOT NULL
);
Untuk menghapus constraint primary key:
ALTER TABLE users
DROP CONSTRAINT users_pkey;
Output yang Diharapkan:
ALTER TABLE
Dalam contoh ini, users_pkey adalah nama constraint yang ingin Anda hapus. Anda bisa menemukan nama constraint dengan menjalankan perintah \d di terminal psql beserta nama tabel yang constraint-nya ingin Anda lihat, atau melalui tab Indexes di Beekeeper Studio, yang menampilkan detail tabel, termasuk nama constraint-nya.
Menghapus Constraint Foreign Key
Foreign key menjaga integritas referensial antara dua tabel. Berikut cara menghapus constraint foreign key.
Contoh:
Misalkan ada dua tabel, orders dan customers:
CREATE TABLE customers (
customer_id serial PRIMARY KEY,
customer_name VARCHAR (100) NOT NULL
);
CREATE TABLE orders (
order_id serial PRIMARY KEY,
order_date DATE NOT NULL,
customer_id INT,
CONSTRAINT fk_customer
FOREIGN KEY(customer_id)
REFERENCES customers(customer_id)
);
Untuk menghapus constraint foreign key fk_customer:
ALTER TABLE orders
DROP CONSTRAINT fk_customer;
Output yang Diharapkan:
ALTER TABLE
Lihat Cara Menghapus Constraint Foreign Key untuk info lebih lanjut.
Menghapus Constraint Unique
Constraint unique memastikan semua nilai dalam sebuah kolom berbeda. Cara menghapus constraint unique sama seperti menghapus constraint lainnya.
Contoh:
Dengan tabel users berikut:
CREATE TABLE users (
user_id serial PRIMARY KEY,
username VARCHAR (50) UNIQUE NOT NULL
);
Untuk menghapus constraint unique pada kolom username:
ALTER TABLE users
DROP CONSTRAINT users_username_key;
Output yang Diharapkan:
ALTER TABLE
Lihat Membuat Constraint Unique di PostgreSQL
Menghapus Constraint Check
Constraint check menjaga integritas domain dengan membatasi nilai yang boleh dimasukkan ke dalam sebuah kolom.
Contoh:
Misalkan kita punya tabel products:
CREATE TABLE products (
product_id serial PRIMARY KEY,
price DECIMAL (10, 2) NOT NULL,
CONSTRAINT price_check CHECK (price > 0)
);
Untuk menghapus constraint check price_check:
ALTER TABLE products
DROP CONSTRAINT price_check;
Output yang Diharapkan:
ALTER TABLE
Data tidak terpengaruh
Perlu dicatat bahwa saat Anda menghapus constraint, data di dalam tabel tidak terpengaruh. Constraint hanya dihapus, dan Anda bisa menyisipkan atau memperbarui data di tabel tanpa harus mematuhi constraint yang sebelumnya berlaku.
Menghapus constraint bisa menimbulkan masalah integritas
Anda perlu berhati-hati saat menghapus constraint, karena hal ini bisa menimbulkan masalah integritas data jika constraint tersebut dibuat dengan alasan tertentu. Misalnya, jika Anda menghapus constraint primary key, tabel bisa berisi beberapa baris dengan nilai yang sama di kolom primary key, yang dapat menimbulkan masalah saat Anda melakukan query atau memperbarui data di tabel.
Karena itu, sebaiknya selalu tinjau data Anda dan constraint yang berlaku dengan saksama sebelum menghapus constraint apa pun di database Anda. Pertimbangkan juga dampaknya terhadap aplikasi atau proses yang bergantung pada data di tabel tersebut sebelum melanjutkan penghapusan.
Kesimpulan
Menghapus constraint di PostgreSQL dilakukan dengan perintah ALTER TABLE diikuti DROP CONSTRAINT. Setiap jenis constraint—primary key, foreign key, unique, dan check—dapat dihapus dengan menyebutkan namanya. Berhati-hatilah saat melakukannya, karena hal ini berpotensi menimbulkan masalah integritas data jika constraint tersebut dibuat dengan alasan yang valid. Memahami cara mengelola constraint secara efektif membantu Anda memelihara dan mengembangkan skema database dari waktu ke waktu.
Beekeeper Studio Adalah GUI PostgreSQL Gratis & Open Source
Inilah client PostgreSQL yang selama ini saya cari! UI-nya yang membuatnya beda: bersih, intuitif, dan powerful. Selamat tinggal PGAdmin yang kaku. - David Cyprian
Beekeeper Studio adalah client PostgreSQL yang cepat, intuitif, dan mudah digunakan. Aplikasi ini juga mendukung banyak database lain, dan berjalan mulus di Windows, Mac, dan Linux.
Apa Kata Pengguna PostgreSQL tentang Beekeeper Studio
Tidak seperti pgAdmin, Beekeeper sangat mudah digunakan tanpa kekurangan fitur–dan harganya pas! Fitur backup database-nya sangat berguna. Software yang luar biasa.
Tool yang luar biasa, IDE paling praktis yang pernah saya temukan untuk admin db Postgres dan MySql - langsung jalan, tanpa ribet :-)