🧚 Dengar! Beekeeper Studio adalah GUI PostgreSQL yang cepat, modern, dan open source Unduh
6 Juli 2024 Oleh Matthew Rathbone

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.

Versi Linux Beekeeper punya fitur 100% lengkap, tanpa potong kompas, tanpa kompromi fitur.

Apa Kata Pengguna PostgreSQL tentang Beekeeper Studio

Jay Simons Jay Simons Pemilik, Designly.biz

Tidak seperti pgAdmin, Beekeeper sangat mudah digunakan tanpa kekurangan fitur–dan harganya pas! Fitur backup database-nya sangat berguna. Software yang luar biasa.

Alex M

Tool yang luar biasa, IDE paling praktis yang pernah saya temukan untuk admin db Postgres dan MySql - langsung jalan, tanpa ribet :-)

Siap Meningkatkan Workflow PostgreSQL Anda?

download Unduh Gratis