Mengenal Unsigned pada tipe data INT di MySQL / MariaDB

Unsigned hadir sebagai salah satu validasi untuk pengisian nilai bilangan bulat positif tanpa bilangan negatif
16  
       

Pembuatan database tidak terlepas dari jenis struktur data yang digunakan untuk menyusun sebuah tabel. Tabel. Di dalam database MySQL atau MariaDB, sebuah database terdiri dari banyak tabel. Dimana tabel ini digunakan untuk mengelompokan data tertentu. Satu buah tabel tersusun dari banyak kolom dan berisikan data pada barisnya.

Struktur tabel ini disusun oleh berbahai jenis struktur data. Seperti INT untuk bilangan bulat, DECIMAL untuk bilangan desimal, FLOAT untuk bilangan floating point, VARCHAR untuk menyimpan data tulisan karakter, dan BLOB untuk menyimpan data biner. Unsigned ini hanya ada pada jenis struktur data bilangan bulat (INT).

Rentang nilai bilangan bulat (INT)

MySQL atau MariaDB dapat menampung bilangan mulai dari bilangan negatif, nol, sampai dengan positif. Namun, di dalam kasus tertentu nilai negatif harus dihilangkan atau tidak boleh dipakai. Untuk mencapai hal ini, diperlukan suatu metode khusus yaitu dengan menggunakan Unsigned.

Apa itu Unsigned

Unsigned merupakan salah satu flag yang ada dalam tipe data INT di dalam MySQL atau MariaDB. Dengan mengaktifkan unsigned, maka nilai yang akan ditambahkan nanti tidak bisa dimasukan nilai negatif. Penggunaan unsigned ini cocok untuk penyusunan:

  1. Key: untuk Primary Key dan Foreign Key
  2. Flag: untuk is_active, is_published, is_draft, dan lainnya
  3. Counter: seperti, visitor_count, read_count, dan lainnya

Apa itu Signed

Signed merupakan lawan dari Unsigned. Dengan Flag signed didalam jenis struktur data bilangan bulat (INT) memungkinkan nilai negatif dalam ditambahkan kedalam tabel. Penggunaan signed ini banyak sekali pengaplikasiannya. Pada dasarnya, signed merupakan nilai default dalam setiap pembuatan tipe data INT di MySQL atau MariaDB.

Dampak penggunaan Unsigned

Selain dari tidak diizinkannya nilai negatif masuk, ada lagi dampak yang diakibatkan oleh unsigned ini. Yaitu nilai maksimum yang dapat ditambahkan bertambah dua kali lipatnya. Jika sebuah kolom INT memiliki rentang dari -2147483648 sampai 2147483647. Maka setelah diterapkan unsigned, rentang nilainya mulai dari 0 sampai dengan 4294967295.

Keuntungan penggunaan Unsigned

Jika key unsigned digunakan untuk relasi tabel, maka proses index akan lebih cepat dan data lebih persisten.

Tabel rentang nilai untuk INT

Berikut ini adalah tabel rentang untuk setiap bilangan bulat.

Type Storage Minimum Value Maximum Value
(Bytes) (Signed/Unsigned) (Signed/Unsigned)
TINYINT 1 -128 127
0 255
SMALLINT 2 -32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615

Demikian, semoga membantu.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>