Apa itu Not Null di SQL, Manfaat, dan Cara Membuatnya
yuk pelajari apa itu Not Null di SQL, manfaat, sekaligus cara membuatnya!
Data Analytics
Bobby Christian
Dalam SQL, sebuah kolom atau column di dalam tabel dapat didefinisikan sebagai “Not Null” atau “Nullable”. Aturan ini menentukan apakah kolom tersebut dapat berisi nilai Null atau tidak.
Sebelum masuk ke pembahasan lebih lengkap, mari kita pahami apa itu konsep null dan not null di SQL.
Apa itu Not Null di SQL?
Nilai null sendiri merupakan istilah dalam database untuk menandakan bahwa nilai pada data tersebut itu hilang, tidak berisi, tidak diketahui atau tidak berlaku.
Ketika kolom dalam sebuah tabel didefinisikan “Nullable” maka kolom tersebut dapat berisi nilai Null. Namun sebaliknya jika kolom tersebut didefinisikan sebagai “Not Null”, maka setiap baris pada kolom tersebut harus memiliki sebuah nilai.
Not Null Constraint di SQL
Dalam SQL, “Not Null” merupakan bagian dari aturan constraint. Constraint sendiri adalah sebuah aturan yang terdapat di sebuah tabel atau tertanam pada sebuah kolom untuk menerapkan sebuah persyaratan dalam membatasi tipe data yang akan disimpan di dalam sebuah database.
Aturan constraint ini membantu dalam memastikan keakuratan dan konsistensi sebuah data dalam database dan mencegah data yang tidak valid atau tidak sesuai saat di pemasukan data baru, pembaharuan sebuah data, dan penghapusan sebuah data dalam tabel.
Ada beberapa constraint yang umum ditemukan sebagai berikut:
- Primary Key yaitu aturan constraint yang di mana setiap baris pada kolom tersebut itu unik agar dapat mengidentifikasi setiap baris pada tabel tersebut.
- Foreign Key yaitu aturan constraint untuk mereferensikan kolom primary key pada tabel lain agar dapat menghubungkan dua tabel yang berbeda.
- Check yaitu aturan constraint untuk menentukan bahwa kolom dari tabel tersebut harus memenuhi sebuah kondisi atau beberapa kondisi.
- Unique yaitu aturan constraint untuk menentukan bahwa seluruh baris pada kolom tersebut harus unik.
- Default yaitu aturan constraint untuk menentukan nilai default pada kolom tersebut saat tidak ada nya jenis nilai saat melakukan pengisian data.
Untuk “Not Null” sendiri jika diterapkan pada kolom di sebuah tabel, maka akan diberlakukan sebuah aturan di mana semua baris atau row pada kolom tersebut harus memiliki sebuah nilai/value.
Jika dilakukan sebuah pengisian data ke dalam tabel yang tidak memiliki nilai pada kolom “Not Null”, maka database akan mengeluarkan sebuah error atau kegagalan. Begitu juga pada saat pembaharuan data pada kolom “Not Null” ke “Null” maka database juga akan melontarkan sebuah error.
Kegunaan Not Null Constraint di SQL
#1 Menghindari pengisian baris yang tidak bernilai
Kegunaan constraint “Not Null” pada sebuah kolom pada tabel adalah menghindari pengisian baris yang tidak bernilai. Null sebenarnya hanyalah sebuah tanda saja dikarenakan memiliki nilai yang tidak diketahui atau hilang.
Null juga sangat berbeda dengan nilai nol, string kosong/empty string ataupun sebuah spasi kosong. Walaupun terlihat sama, namun mereka masih memiliki nilai karena nol atau zero sendiri merupakan nilai yang bersifat numerik. Empty string/string kosong pun adalah sebuah nilai dengan tipe data string namun tidak memiliki karakter satupun dan space adalah nilai dengan tipe data string namun diisi dengan karakter space.
Berbeda halnya dengan “Null” tidak memiliki nilai ataupun tipe data. “Null” ini sangat perlu dihindarkan karena saat pengoperasian SQL dapat menghasilkan data yang tidak pasti.
Contoh Penerapan Not Null Constraint
Berikut adalah contoh dari constraint “Not Null” yang sudah diterapkan pada sebuah kolom di dalam sebuah tabel:
Pada tabel tersebut kolom “Phone” adalah kolom yang sudah diterapkan constraint “Not Null” yang di mana isi setiap baris dari kolom tersebut memiliki nilai. Berbeda dengan kolom “PostalCode” yang tidak diberikan aturan constraint “Not Null” di mana pada isi di beberapa baris dari kolom tersebut memiliki “Null”.
#2 Untuk memastikan integritas dan konsistensi data dalam database
“Not Null” constraint sangat penting untuk memastikan integritas dan konsistensi data dalam database. Dengan menetapkan aturan bahwa setiap baris harus memiliki nilai pada kolom, ini sangat membantu agar mencegah data yang tidak konsisten tidak akurat.
Sebagai contoh, di suatu tabel transaksi yang memiliki informasi seperti id, date, sub_total, tax, total dan lainnya. Pada kolom sub_total, total dan tax diterapkan constraint “Not Null”, ini menandakan bahwa setiap baris pada kolom tersebut harus memiliki nilai agar nantinya pada setiap baris di kolom tersebut akan dibuat kalkulasi seperti mencari net revenue, pajak per transaksi dan sebagainya.
#3 Dapat meningkatkan performa database
Menggunakan “Not Null” constraint juga sangat bermanfaat bagi database, yaitu dapat meningkatkan performa database.
Saat sebuah kolom didefinisikan sebagai “Not Null”, database dapat mengoptimalkan strategi penyimpanan dan pengindeksan karena database mengetahui bahwa setiap baris dalam kolom tersebut memiliki nilai.
Hal ini dapat membuat penghematan waktu eksekusi query SQL karena menjadi lebih cepat dan kinerja database yang lebih stabil.
Cara Menerapkan Constraint pada Sebuah Kolom
Berikut adalah cara untuk menerapkan constraint pada sebuah kolom :
- Create Table:
Create Table merupakan salah satu query pada SQL yang digunakan untuk membuat sebuah tabel baru pada dataset. Bentuk penulisannya diawali dengan query CREATE TABLE diikuti dengan table_name dan juga (column_name, data_type untuk kolom tersebut, dan juga constraint_type nya). Berikut contoh penulisan query tersebut:
Contoh di atas adalah format penulisan query untuk menambahkan sebuah constraint di saat membuat sebuah tabel di dalam database.
Query pertama yaitu table_name yang merupakan nama dari tabel yang akan dibuat di dalam database tersebut. Query kedua adalah column_name yang merupakan nama kolom dari tabel tersebut. Lalu yang ketiga adalah data_type untuk mendefinisikan tipe data dari kolom tersebut dan yang terakhir adalah constraint_type yaitu adalah query tambahan untuk menambahkan aturan constraint.
{{COMPONENT_IDENTIFIER}}
Query constraint_type ini yang digunakan untuk ditanamkan query “Not Null”.
Contoh di atas merupakan contoh query pembuatan tabel dalam menggunakan constraint “Not Null” menggunakan query format yang ditunjukkan sebelumnya, yang akan dibuat sebuah tabel di dalam database yang bernama phone.
Pada contoh tersebut ditambahnya “NOT NULL” di constraint_type terhadap kolom id, brand_name dan phone_name. Penambahan query “NOT NULL” tersebut adalah cara untuk menambahkan constraint pada kolom tersebut, agar kolom tersebut harus memiliki nilai dan tidak boleh “Null” atau “Nullable”.
- Alter Table :
Alter Table merupakan salah satu query yang digunakan untuk memanipulasi constraint pada kolom yang sudah ada di dalam dataset. Berikut contoh penulisan query tersebut :
Pada contoh di atas adalah format penulisan query saat ingin menerapkan sebuah constraint pada kolom yang sudah ada tabelnya di database. Sama seperti format penulisan query create table.
Query pertama adalah table_name yaitu menunjukan nama tabel yang ingin diperbaharui di dalam database. Query kedua adalah column_name yaitu nama kolom yang ingin diperbaharui dari tabel yang sudah ditunjuk.
Lalu yang ketiga adalah data_type yaitu tipe data dari kolom tersebut. Yang terakhir adalah constraint_type yaitu aturan yang akan diperbaharui kolom tersebut.
Berikut adalah contoh penulisan query dalam memperbaharui aturan constraint pada kolom dalam tabel yang sudah ada pada database:
Pada contoh di atas, kita akan memperbaharui aturan constraint “Not Null” pada kolom storage di tabel phone. Untuk menerapkan constraint “Not Null” menggunakan alter, cukup menambahkan “NOT NULL” pada constraint_type maka kolom tersebut akan diperbaharui menjadi kolom yang harus memiliki nilai.
Penutup
Kita sudah mempelajari apa itu “Not Null” constraint dan bagaimana menerapkannya dalam pengoperasian query di SQL.
Not Null constraint ini sangat berguna untuk menjaga integritas dan konsistensi pada tabel di dalam database, dan juga sangat berguna bagi kolom bertipe numerik yang sering dijadikan bahan sebuah kalkulasi dalam mencegah ketidakkonsisten dan ketidakakuratan data.