SQL - KONSTRANGSI NOT NULL: Panduan untuk Pemula
Hai teman-teman, para ahli basis data masa depan! Hari ini, kita akan masuk ke dunia yang menarik dari SQL dan eksplorasi konsep penting: konstrangsi NOT NULL. Jangan khawatir jika Anda baru belajar pemrograman; saya akan memandu Anda dalam perjalanan ini langkah demi langkah, seperti yang saya lakukan untuk ribuan murid selama tahun-tahun mengajar saya. mari genggam lengan dan mulai!
Konstrangsi NOT NULL di SQL
Apa itu NOT NULL?
Bayangkan Anda mengisi formulir untuk kartu perpustakaan baru. Beberapa kolom adalah opsional, seperti nama tengah Anda, tetapi yang lain adalah mutlak diperlukan, seperti nama depan Anda dan alamat. Dalam dunia basis data, konstrangsi 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 murid tanpa nama atau nomor ID? Mungkin tidak! Konstrangsi NOT NULL membantu menjaga integritas data dengan mencegah informasi penting dari diabaikan.
Membuat Konstrangsi NOT NULL di Tabel
Mari kita 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
, danISBN
ditandai sebagai NOT NULL karena kita anggap kolom ini penting. -
PublicationYear
tidak memiliki konstrangsi NOT NULL, jadi itu opsional.
Sekarang, mari kita mencoba untuk memasukkan beberapa data:
-- Ini akan berjalan lancar
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 adalah NOT NULL
INSERT INTO Books (BookID, Title, PublicationYear, ISBN)
VALUES (3, 'The Great Gatsby', 1925, '9780743273565');
Pernyataan INSERT terakhir akan melempar kesalahan karena kita melanggar konstrangsi NOT NULL pada kolom Author
.
Menghapus Konstrangsi NOT NULL dari Tabel
kadang-kadang, kita mungkin menyadari bahwa field yang kita pikirkan awalnya penting sebenarnya bisa optional. Misalnya, kita memutuskan bahwa ISBN tidak selalu diperlukan (mungkin untuk buku yang sangat tua). Ini adalah cara kita menghapus konstrangsi NOT NULL:
ALTER TABLE Books
MODIFY COLUMN ISBN VARCHAR(13);
Sekarang, ISBN dapat NULL. Tetapi ingat, mengubah konstrangsi di tabel yang sudah ada harus dilakukan dengan hati-hati, terutama di lingkungan produksi!
Menambah Konstrangsi NOT NULL ke Tabel Yang Ada
Apa jika kita menyadari kemudian bahwa kita perlu memastikan setiap buku memiliki tahun terbit? Kita dapat menambah konstrangsi 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 menambah konstrangsi NOT NULL
ALTER TABLE Books
MODIFY COLUMN PublicationYear INT NOT NULL;
Ini adalah apa yang terjadi:
- Kita update nilai NULL menjadi 0 (atau nilai default lainnya).
- Kita ubah tabel untuk menambah konstrangsi NOT NULL.
Sangat penting untuk menangani nilai NULL sebelum menambah konstrangsi; jika tidak, pernyataan ALTER TABLE akan gagal.
Catatan peringatan
Menambah konstrangsi NOT NULL ke tabel yang sudah ada dan memiliki data bisa sulit. Selalu cadangkan data Anda sebelum membuat perubahan seperti ini!
Praktik Terbaik dalam Menggunakan NOT NULL
Praktik | Deskripsi |
---|---|
Gunakan secara 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 diberikan, pertimbangkan penggunaan DEFAULT bersamaan dengan NOT NULL |
Rencanakan dahulu | Cobalah mengidentifikasi kolom NOT NULL saat tahap desain untuk menghindari perubahan tabel kemudian |
Dokumentasikan | Dokumentasikan dengan jelas mengapa beberapa kolom adalah NOT NULL dalam desain skema Anda |
Kesimpulan
Dan begitu, teman-teman yang antusias! Kita telah berpergian melalui negeri konstrangsi NOT NULL, dari membuat tabel dengan kolom NOT NULL hingga menambah dan menghapus konstrangsi ini pada tabel yang sudah ada. Ingat, NOT NULL adalah seperti seorang perpustakaan yang ketat memastikan bahwa semua rincian penting di "buku" basis data kita terisi dengan benar.
Sekarang Anda teruskan perjalanan SQL Anda, Anda akan menemukan bahwa NOT NULL hanya salah satu dari banyak alat dalam kitab basis data Anda. Itu mungkin terlihat kecil, tapi percayalah, itu sangat kuat dalam menjaga integritas data. Saya telah melihat banyak bencana basis data dicegah karena konstrangsi NOT NULL yang ditempatkan dengan baik!
Terus latih, tetap curiga, dan sebelum Anda tahu, Anda akan menulis query SQL dalam tidur (walaupun saya sebenarnya tidak menyarankan itu - keyboard membuat bantal yang buruk!).
Selamat coding, para maestro data masa depan!
Credits: Image by storyset