SQL - NOT NULLConstraint: Panduan untuk Pemula

Hai sana, para ahli basis data masa depan! Hari ini, kita akan melihat dunia yang menarik SQL dan mengeksplorasi konsep penting: constraint NOT NULL. Jangan khawatir jika Anda baru belajar pemrograman; saya akan memandu Anda dalam perjalanan ini langkah demi langkah, seperti yang telah saya lakukan bagi banyak murid selama tahun-tahun mengajar saya. mari kita lengan kain dan mulai!

SQL - NOT NULL

The SQL NOT NULL Constraint

Apa itu NOT NULL?

Bayangkan Anda mengisi formulir untuk kartu perpustakaan baru. Beberapa kolom adalah opsional, seperti nama tengah Anda, tetapi yang lain adalah sangat penting, seperti nama pertama Anda dan alamat Anda. Dalam dunia basis data, constraint NOT NULL memainkan peran yang sama. Itu memastikan bahwa kolom harus selalu mengandung nilai; itu tidak dapat dibiarkan kosong.

Mengapa NOT NULL penting?

Pikirkan basis data sekolah. Apakah akan masuk akal untuk memiliki catatan siswa tanpa nama atau nomor ID? Mungkin tidak! Constraint NOT NULL membantu menjaga integritas data dengan mencegah informasi penting dari terlewatkan.

Membuat Constraint NOT NULL Pada Tabel

Ayo mulai dengan membuat tabel sederhana untuk perpustakaan khayal kita. Kita akan menamakannya "Books".

CREATE TABLE Books (
BookID INT NOT NULL,
Title VARCHAR(100) NOT NULL,
Author VARCHAR(50) NOT NULL,
PublicationYear INT,
ISBN VARCHAR(13) NOT NULL
);

Dalam contoh ini:

  • BookID, Title, Author, dan ISBN ditandai sebagai NOT NULL karena kita menganggap field ini penting.
  • PublicationYear tidak memiliki constraint NOT NULL, jadi itu adalah opsional.

Sekarang, mari kita mencoba memasukkan beberapa data:

-- Ini akan berjalan dengan baik
INSERT INTO Books (BookID, Title, Author, PublicationYear, ISBN)
VALUES (1, 'To Kill a Mockingbird', 'Harper Lee', 1960, '9780446310789');

-- Ini juga akan berjalan (mengabaikan PublicationYear yang opsional)
INSERT INTO Books (BookID, Title, Author, ISBN)
VALUES (2, '1984', 'George Orwell', '9780451524935');

-- Ini akan gagal karena kita mencoba mengabaikan Author, yang NOT NULL
INSERT INTO Books (BookID, Title, PublicationYear, ISBN)
VALUES (3, 'The Great Gatsby', 1925, '9780743273565');

Perintah INSERT terakhir akan melempar kesalahan karena kita melanggar constraint NOT NULL pada kolom Author.

Menghapus Constraint NOT NULL Dari Tabel

kadang-kadang, kita mungkin menyadari bahwa field yang awalnya dianggap penting sebenarnya adalah opsional. Ayo katakan kita memutuskan bahwa ISBN tidak selalu diperlukan (mungkin untuk buku yang sangat tua). Berikut cara menghapus constraint NOT NULL:

ALTER TABLE Books
MODIFY COLUMN ISBN VARCHAR(13);

Sekarang, ISBN dapat NULL. Tetapi ingat, mengubah constraint pada tabel yang ada harus dilakukan dengan hati-hati, khususnya di lingkungan produksi!

Menambahkan Constraint NOT NULL ke Tabel Yang Ada

Apa bila kita menyadari kemudian bahwa kita perlu memastikan setiap buku memiliki tahun terbit? Kita dapat menambahkan constraint NOT NULL ke kolom yang ada:

-- Pertama, pastikan tidak ada nilai NULL di kolom
UPDATE Books
SET PublicationYear = 0
WHERE PublicationYear IS NULL;

-- Sekarang kita dapat menambahkan constraint NOT NULL
ALTER TABLE Books
MODIFY COLUMN PublicationYear INT NOT NULL;

Apa yang terjadi:

  1. Kita memperbarui nilai NULL menjadi 0 (atau nilai default lainnya).
  2. Kita mengubah tabel untuk menambahkan constraint NOT NULL.

Itu penting untuk menangani nilai NULL yang ada sebelum menambahkan constraint; otherwise, perintah ALTER TABLE akan gagal.

Catatan peringatan

Menambahkan constraint NOT NULL ke tabel yang ada dengan data bisa sulit. Selalu cadangkan data Anda sebelum membuat perubahan!

Praktek Terbaik untuk Menggunakan NOT NULL

Praktek Deskripsi
Gunakan dengan hati-hati Terapkan NOT NULL hanya ke kolom yang benar-benar harus memiliki nilai
Pertimbangkan default Untuk kolom yang selalu harus memiliki nilai tapi mungkin tidak disediakan, pertimbangkan penggunaan DEFAULT bersamaan dengan NOT NULL
Rencanakan dahulu Cobalah mengidentifikasi kolom NOT NULL selama tahap desain untuk menghindari pergantian tabel kemudian
Dokumentasikan Dokumentasikan secara jelas mengapa beberapa kolom NOT NULL dalam desain skema Anda

Kesimpulan

Danitu, murid-murid yang bersemangat! Kita telah melakukan perjalanan melalui negeri constraint NOT NULL, dari membuat tabel dengan kolom NOT NULL hingga menambahkan dan menghapus constraint ini pada tabel yang ada. Ingat, NOT NULL adalah seperti seorang perpustakaawan ketat yang memastikan semua detil penting di "buku" basis data kita terisi dengan benar.

Sebagai Anda terus menjelajahi SQL, Anda akan menemukan bahwa NOT NULL hanya salah satu dari banyak alat di dalam toolkit basis data Anda. Mungkin itu terlihat kecil, tapi percayalah, itu sangat kuat dalam menjaga integritas data. Saya telah melihat banyak bencana basis data yang dicegah karena constraint NOT NULL yang ditempatkan dengan baik!

Tetap berlatih, tetap bersemangat, dan sebelum Anda sadari, Anda akan menulis query SQL dalam mimpian Anda (meskipun saya tidak menyarankan itu - keyboard membuat bantal yang buruk!).

Selamat berkoding, para maestro data masa depan!

Credits: Image by storyset