Memahami Tipe Data dalam MySQL/MariaDB
Pengenalan Tipe Data dalam MySQL/MariaDB
MySQL/MariaDB mendukung berbagai tipe data yang dapat digunakan untuk menyimpan data dalam database. Beberapa tipe data umum yang sering digunakan antara lain:
1. Tipe Data Angka (Numeric Data Types): Digunakan untuk menyimpan nilai numerik seperti angka bulat atau pecahan. Contoh tipe data yang termasuk dalam kategori ini adalah `INT`, `FLOAT`, dan `DECIMAL`.
2. Tipe Data Teks (Character Data Types): Digunakan untuk menyimpan data dalam bentuk teks. Contoh tipe data yang termasuk dalam kategori ini adalah `VARCHAR`, `TEXT`, dan `CHAR`.
3. Tipe Data Tanggal dan Waktu (Date and Time Data Types): Digunakan untuk menyimpan data yang berkaitan dengan tanggal dan waktu. Contoh tipe data yang termasuk dalam kategori ini adalah `DATE`, `TIME`, dan `DATETIME`.
Contoh Penggunaan Tipe Data
Mari kita lihat contoh penggunaan tipe data dalam tabel `pasien` :
CREATE pasien (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100),
alamat TEXT,
tanggal_lahir DATE,
jenis_kelamin ENUM('Laki-laki', 'Perempuan'),
berat_badan DECIMAL(5,2),
tinggi_badan DECIMAL(5,2),
tekanan_darah VARCHAR(10)
);
Dalam contoh di atas, kita memiliki beberapa kolom dengan tipe data yang berbeda:
- `id`: Menggunakan tipe data `INT` untuk menyimpan ID pasien. `AUTO_INCREMENT` menandakan bahwa nilai ID akan secara otomatis bertambah.
- `nama`: Menggunakan tipe data `VARCHAR` untuk menyimpan nama pasien dengan panjang maksimal 100 karakter.
- `alamat`: Menggunakan tipe data `TEXT` untuk menyimpan alamat pasien yang lebih panjang.
- `tanggal_lahir`: Menggunakan tipe data `DATE` untuk menyimpan tanggal lahir pasien.
- `jenis_kelamin`: Menggunakan tipe data `ENUM` yang membatasi nilai yang dapat dimasukkan menjadi 'Laki-laki' atau 'Perempuan'.
- `berat_badan` dan `tinggi_badan`: Menggunakan tipe data `DECIMAL` untuk menyimpan nilai berat badan dan tinggi badan dengan dua digit di belakang koma.
- `tekanan_darah`: Menggunakan tipe data `VARCHAR` untuk menyimpan tekanan darah pasien.
Dengan menggunakan berbagai tipe data ini, kita dapat menyimpan informasi penting tentang data pasien dengan efisien.
Estimasi Konsumsi Byte Tipe Data
Tabel berikut memuat jenis tipe data yang umum digunakan dalam MySQL beserta estimasi konsumsi byte yang digunakan oleh komputer:
Tipe Data | Deskripsi | Ukuran Byte (Estimasi) |
---|---|---|
TINYINT | Integer yang sangat kecil | 1 byte |
SMALLINT | Integer kecil | 2 bytes |
MEDIUMINT | Integer sedang | 3 bytes |
INT atau INTEGER | Integer standar | 4 bytes |
BIGINT | Integer besar | 8 bytes |
FLOAT | Angka desimal (floating-point) dengan presisi tunggal | 4 bytes |
DOUBLE | Angka desimal (floating-point) dengan presisi ganda | 8 bytes |
DECIMAL atau NUMERIC | Angka desimal dengan presisi tetap (fixed-point) | 8 bytes (tergantung presisi) |
DATE | Tanggal | 3 bytes |
TIME | Waktu | 3 bytes |
DATETIME | Gabungan tanggal dan waktu | 8 bytes |
TIMESTAMP | Waktu UNIX | 4 bytes |
YEAR | Tahun | 1 byte |
CHAR | Teks dengan panjang tetap | Panjang kolom * jumlah karakter * 3 bytes (untuk utf8) |
VARCHAR | Teks dengan panjang variabel | Panjang data + 1 atau 2 bytes (untuk panjang kolom) |
TEXT | Teks panjang | Panjang data + 2 bytes |
BLOB | Binary Large Object | Panjang data + 2 bytes |
Harap diingat bahwa estimasi konsumsi byte dapat bervariasi tergantung pada konfigurasi spesifik MySQL, seperti penggunaan karakter set dan penyimpanan yang dikompresi. Oleh karena itu, estimasi tersebut hanya sebagai panduan umum.
Tipe Data Numeric dengan Opsi UNSIGNED
Dalam MySQL, opsi `UNSIGNED` digunakan untuk menunjukkan bahwa kolom tipe data numerik tidak akan menyimpan nilai negatif. Ini berarti kolom tersebut hanya akan menyimpan nilai positif atau nol.
Misalnya, jika Anda mendefinisikan kolom sebagai `TINYINT UNSIGNED`, maka kolom tersebut akan mampu menyimpan nilai antara 0 hingga 255 (karena tipe `TINYINT` memiliki rentang nilai -128 hingga 127 secara default, tetapi dengan `UNSIGNED`, rentang tersebut menjadi 0 hingga 255).
Jadi, penggunaan `UNSIGNED` berguna ketika Anda yakin bahwa kolom tersebut tidak perlu menyimpan nilai negatif, dan Anda ingin memperluas rentang nilai positif yang dapat disimpan di kolom tersebut tanpa membuang kapasitas yang diberikan oleh tanda negatif.
Kesimpulan
Dalam desain database, pemilihan tipe data yang tepat sangatlah penting untuk memastikan integritas data dan efisiensi penyimpanan. Dalam MySQL/MariaDB, tersedia berbagai tipe data yang dapat disesuaikan dengan kebutuhan aplikasi.
Sekian tutorial singkat kami kali ini tentang tipe data dalam MySQL/MariaDB, semoga informasi ini bermanfaat bagi Anda dalam merancang dan mengelola database. Terima kasih telah membaca!
No comments:
Post a Comment