Tentu, ini artikel tutorial tentang tipe data integer dalam MySQL.
Dalam pembuatan tabel basis data, pemilihan tipe data yang tepat untuk setiap kolom sangat penting. Tipe data menentukan jenis nilai yang dapat disimpan dalam kolom tersebut serta berapa banyak ruang penyimpanan yang dibutuhkan. Pada tutorial kali ini, kita akan fokus pada berbagai tipe data integer (bilangan bulat) yang tersedia di MySQL.
Apa Itu Tipe Data Integer?
Tipe data integer digunakan untuk menyimpan nilai numerik yang tidak memiliki komponen desimal. MySQL menyediakan beberapa tipe data integer dengan rentang nilai dan ukuran penyimpanan yang berbeda, memungkinkan Anda untuk mengoptimalkan penggunaan ruang disk dan memastikan integritas data.
Jenis-Jenis Tipe Data Integer di MySQL
Berikut adalah berbagai tipe data integer yang tersedia di MySQL, beserta ukuran penyimpanan dan rentang nilainya:
| Tipe Data | Ukuran Penyimpanan | Rentang Nilai Bertanda (Signed) | Rentang Nilai Tidak Bertanda (Unsigned) |
TINYINT |
1 byte | -128 hingga 127 | 0 hingga 255 |
SMALLINT |
2 byte | -32,768 hingga 32,767 | 0 hingga 65,535 |
MEDIUMINT |
3 byte | -8,388,608 hingga 8,388,607 | 0 hingga 16,777,215 |
INT atau INTEGER |
4 byte | -2,147,483,648 hingga 2,147,483,647 | 0 hingga 4,294,967,295 |
BIGINT |
8 byte | -9,223,372,036,854,775,808 hingga 9,223,372,036,854,775,807 | 0 hingga 18,446,744,073,709,551,615 |
Penjelasan:
- Ukuran Penyimpanan: Menunjukkan jumlah ruang disk yang dialokasikan untuk setiap nilai dengan tipe data tersebut.
- Rentang Nilai Bertanda (Signed): Rentang nilai yang dapat disimpan termasuk nilai negatif, nol, dan positif. Ini adalah perilaku default untuk tipe data integer di MySQL.
- Rentang Nilai Tidak Bertanda (Unsigned): Jika Anda menambahkan atribut
UNSIGNEDpada definisi kolom, kolom tersebut hanya dapat menyimpan nilai nol dan positif, sehingga menggandakan batas atas rentang nilai positif.
Kapan Menggunakan Tipe Data Integer yang Berbeda?
Pemilihan tipe data integer yang tepat bergantung pada perkiraan rentang nilai yang perlu Anda simpan dalam kolom tersebut.
- Gunakan
TINYINTuntuk nilai yang sangat kecil, seperti status (misalnya, 0 untuk tidak aktif, 1 untuk aktif) atau jumlah kecil (misalnya, jumlah pilihan dalam survei yang terbatas). - Gunakan
SMALLINTuntuk nilai yang sedikit lebih besar, seperti kode negara atau jumlah item yang relatif kecil. - Gunakan
MEDIUMINTuntuk nilai yang lebih besar lagi, seperti ID pengguna dalam sistem dengan jumlah pengguna yang tidak terlalu besar. - Gunakan
INT(atauINTEGER) sebagai pilihan umum untuk sebagian besar kasus, seperti ID produk, jumlah stok, atau nilai numerik lainnya yang mungkin mencapai jutaan. - Gunakan
BIGINTuntuk nilai yang sangat besar, seperti ID unik global (UUID yang dikonversi menjadi angka), jumlah transaksi yang sangat besar, atau nilai yang mungkin melampaui batasINT.
Contoh Penggunaan dalam Pembuatan Tabel:
Misalkan kita ingin membuat tabel siswa_malang di database perpustakaan_malang (mengingat kita berada di Malang, East Java, Indonesia). Kita akan menyertakan kolom id_siswa, usia, dan jumlah_buku_dipinjam.
“`sql
USE perpustakaan_malang;
CREATE TABLE siswa_malang (
id_siswa INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
nama_siswa VARCHAR(100) NOT NULL,
usia TINYINT UNSIGNED,
jumlah_buku_dipinjam TINYINT UNSIGNED DEFAULT 0
);
“`
Dalam contoh ini:
id_siswamenggunakanINT UNSIGNEDkarena ID siswa kemungkinan akan menjadi bilangan bulat positif yang bisa mencapai jumlah yang signifikan.AUTO_INCREMENTmemastikan setiap siswa memiliki ID unik yang bertambah otomatis.usiamenggunakanTINYINT UNSIGNEDkarena usia siswa umumnya tidak akan melebihi 255 tahun dan selalu bernilai positif.jumlah_buku_dipinjammenggunakanTINYINT UNSIGNEDkarena kemungkinan seorang siswa tidak akan meminjam lebih dari beberapa ratus buku dalam satu waktu.DEFAULT 0menetapkan nilai awal 0 jika tidak ada nilai yang diberikan saat data siswa baru ditambahkan.
Atribut SIGNED dan UNSIGNED
Secara default, tipe data integer di MySQL adalah SIGNED, yang berarti dapat menyimpan nilai positif dan negatif. Jika Anda yakin bahwa sebuah kolom hanya akan menyimpan nilai non-negatif, Anda dapat menambahkan atribut UNSIGNED. Ini akan menggandakan batas atas rentang nilai positif yang dapat disimpan.
Contoh:
“`sql
CREATE TABLE contoh_unsigned (
nilai_positif TINYINT UNSIGNED
);
CREATE TABLE contoh_signed (
nilai_bertanda TINYINT
);
“`
Memilih Tipe Data yang Tepat
Memilih tipe data integer yang tepat sangat penting untuk:
- Efisiensi Ruang Penyimpanan: Menggunakan tipe data yang lebih kecil untuk nilai yang kecil akan menghemat ruang disk.
- Integritas Data: Memastikan bahwa kolom hanya dapat menyimpan jenis nilai yang sesuai.
- Performa: Meskipun perbedaannya mungkin tidak signifikan untuk sebagian besar aplikasi, memilih tipe data yang lebih kecil dapat sedikit meningkatkan performa dalam beberapa kasus.
Pada tutorial berikutnya, kita akan membahas tipe data floating-point dan decimal di MySQL. Tetaplah belajar dan perhatikan detail dalam pembuatan skema basis data Anda! 🚀