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:
- Key: untuk Primary Key dan Foreign Key
- Flag: untuk is_active, is_published, is_draft, dan lainnya
- 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.