Hapus Kendala NOT NULL di Postgres

Hapus Kendala Not Null Di Postgres



Dalam database relasional seperti PostgreSQL, batasan sangat penting dalam menjaga integritas data dan menerapkan aturan khusus pada kolom tabel. Salah satu batasan tersebut adalah batasan “NOT NULL”. Dalam tutorial ini, kita akan menjelajahi konsep batasan NOT NULL dan memberikan panduan langkah demi langkah untuk membuat dan menghapusnya di PostgreSQL.

Apa itu Batasan NOT NULL?

Batasan NOT NULL memastikan bahwa kolom tidak boleh berisi nilai nol yang mengharuskan setiap baris dalam tabel memiliki nilai bukan nol untuk kolom tersebut.

Persyaratan Tutorial:

Untuk mengikuti petunjuk yang diberikan dalam posting ini, kami berasumsi bahwa Anda memiliki persyaratan berikut:







  1. Menginstal server PostgreSQL di komputer Anda
  2. Pengetahuan SQL dasar
  3. Izin untuk membuat objek tabel database seperti batasan, fungsi, dll

Tabel Contoh:

Mari kita mulai dengan menyiapkan tabel sampel dengan kolom yang berisi batasan not null. Ambil pernyataan buat tabel berikut yang menyiapkan tabel dasar yang menyerupai tabel wp_users di WordPress:



BUAT TABEL wp_users (
KUNCI UTAMA SERI ID,
user_login VARCHAR(60) BUKAN NULL,
user_pass VARCHAR(255) BUKAN NULL,
user_nicename VARCHAR(50) BUKAN NULL,
user_email VARCHAR(100) BUKAN NULL,
pengguna_url VARCHAR(100),
user_registered TIMESTAMP NOT NULL DEFAULT current_timestamp,
kunci_aktivasi_pengguna VARCHAR(255),
user_status INT NOT NULL DEFAULT 0,
display_name VARCHAR(250) BUKAN NULL
);

Dari kueri yang diberikan, Anda akan melihat bahwa sebagian besar kolom berisi batasan NOT NULL.



Metode paling efisien untuk membuat batasan NOT NULL dalam kolom tertentu adalah selama pembuatan tabel. Ini memastikan bahwa semua data yang ditambahkan ke tabel mematuhi aturan kendala.





Namun, jika Anda menambahkan batasan ke tabel yang sudah ada, aturan tersebut hanya berlaku untuk data yang ditambahkan setelah batasan dan bukan untuk data yang sudah ada. Ini dapat menyebabkan ketidakkonsistenan, terutama di tabel besar.

Tambahkan Kendala NOT NULL

Dalam beberapa kasus, Anda mungkin ingin menambahkan batasan NOT NULL ke tabel yang sudah ada. Misalnya, Anda dapat menggunakan perintah ALTER TABLE diikuti dengan klausa ALTER COLUMN.



Sintaksnya adalah sebagai berikut:

ALTER TABLE table_name
ALTER COLUMN column_name SET NOT NULL;

Ganti nama_tabel dengan tabel target Anda dan nama_kolom dengan kolom target yang ingin Anda terapkan batasannya.

Verifikasi Kendala

Anda dapat memverifikasi bahwa kendala ada pada tabel yang diberikan menggunakan perintah “\d” di utilitas PSQL.

\d nama_tabel

Contoh:

sample_db=# \d wp_users;

Output yang dihasilkan adalah sebagai berikut:

Hapus Kendala NOT NULL

Anda mungkin juga ingin menghapus batasan NOT NULL dari kolom tertentu. Untuk itu, kita dapat menggunakan klausa ALTER TABLE dan ALTER COLUMN sebagai berikut:

ALTER TABLE table_name
ALTER COLUMN column_name DROP NOT NULL;

Misalnya, untuk menghapus batasan NOT NULL dari kolom user_url pada tabel wp_users, kita dapat menjalankan kueri berikut:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

Ini harus menghilangkan batasan dari tabel.

Kesimpulan

Tutorial ini mengeksplorasi bagaimana kita dapat bekerja dengan batasan NOT NOLL di PostgreSQL. Kami juga mengeksplorasi cara menghapus batasan NOT NULL yang ada dari kolom yang diberikan.