Traffine I/O

Bahasa Indonesia

2023-03-12

CHAR, VARCHAR, dan TEXT dalam Database

Tipe Data String dalam Database

Memilih tipe data yang tepat sangat penting untuk desain database yang efektif. Ini tidak hanya mempengaruhi akurasi data yang disimpan, tetapi juga kinerja query, ruang penyimpanan, dan bahkan integritas data. Sebagai bagian dari tipe data String, CHAR, VARCHAR, dan TEXT umumnya digunakan untuk menyimpan data teks.

Setiap tipe data ini memiliki karakteristik yang berbeda dan dapat lebih atau kurang sesuai tergantung pada persyaratan khusus dari data yang disimpan. Mereka berbeda dalam cara mereka mengalokasikan ruang, seberapa banyak data yang dapat mereka simpan, dan bagaimana kinerjanya dalam skenario yang berbeda.

CHAR

Tipe data CHAR dalam SQL digunakan untuk menyimpan nilai string karakter. Itu didefinisikan sebagai CHAR(n) di mana n mewakili panjang tetap karakter yang dapat disimpan oleh kolom tersebut. Panjang ini dapat berkisar dari 1 hingga 255 dalam MySQL. Karakteristik kunci dari CHAR adalah bahwa itu adalah tipe data berpanjang tetap. Ini berarti ukuran kolom tidak berubah, terlepas dari panjang data yang sebenarnya disimpan di dalamnya.

Bagaimana CHAR Bekerja

Ketika Anda memasukkan data ke dalam kolom CHAR, SQL akan mengisi ruang hingga panjang yang ditentukan. Jika data lebih pendek dari panjang yang ditentukan, ruang yang tersisa akan diisi dengan spasi di belakang. Ketika data diambil, spasi ini dihapus.

Pertimbangkan contoh berikut:

sql
CREATE TABLE Employee (
    FirstName CHAR(10),
    LastName CHAR(10)
);

Di sini, baik FirstName maupun LastName didefinisikan sebagai CHAR(10). Jika kita memasukkan nama seperti "John Doe", data akan disimpan sebagai berikut:

FirstName: 'John      '  (6 spaces added)
LastName:  'Doe       '  (7 spaces added)

Alokasi Ruang dalam CHAR

Seperti yang ditunjukkan dalam contoh di atas, tipe data CHAR mengalokasikan seluruh panjang ruang yang ditentukan, terlepas dari data yang sebenarnya disimpan. Ini dapat mengakibatkan pemborosan ruang yang signifikan jika data Anda sering jauh lebih pendek dari panjang maksimum. Di sisi lain, pendekatan ini membuat proses pengambilan lebih cepat karena database tahu persis di mana menemukan akhir setiap nilai.

Kasus Penggunaan CHAR

CHAR terbaik digunakan ketika panjang nilai-nilai konsisten. Misalnya, ini akan sesuai untuk menyimpan data seperti singkatan negara bagian AS (karena semua singkatan negara bagian AS memiliki panjang 2 karakter), kode negara, atau jenis data lain dengan panjang yang konsisten.

VARCHAR

Tipe data VARCHAR dalam SQL digunakan untuk menyimpan nilai string karakter dengan panjang variabel. Ia didefinisikan sebagai VARCHAR(n) di mana n mewakili panjang maksimum karakter yang dapat disimpan oleh kolom tersebut. Panjang ini dapat berkisar hingga angka besar tergantung pada database SQL yang digunakan. Misalnya, MySQL memungkinkan kolom VARCHAR memiliki panjang hingga 65.535 karakter.

Bagaimana VARCHAR Bekerja

Berbeda dengan CHAR, VARCHAR hanya menggunakan ruang yang diperlukan untuk menyimpan data aktual, ditambah sedikit ruang tambahan untuk mencatat panjang data. Ini berarti jika Anda memiliki kolom VARCHAR(100) dan menyimpan string dengan 10 karakter, maka hanya akan menggunakan ruang untuk 10 karakter (ditambah ruang tambahan untuk informasi panjang), bukan 100 karakter.

Pertimbangkan contoh berikut:

sql
CREATE TABLE Employee (
    FirstName VARCHAR(100),
    LastName VARCHAR(100)
);

Di sini, baik FirstName maupun LastName didefinisikan sebagai VARCHAR(100). Jika kita memasukkan nama seperti "John Doe", data akan disimpan sebagai berikut:

FirstName: 'John'
LastName:  'Doe'

Tidak ada spasi tambahan yang ditambahkan di akhir string.

Alokasi Ruang dalam VARCHAR

Seperti yang ditunjukkan dalam contoh di atas, tipe data VARCHAR hanya mengalokasikan jumlah ruang yang diperlukan untuk menyimpan data ditambah beberapa byte tambahan untuk mencatat panjang data. Jumlah ruang tambahan yang tepat tergantung pada ukuran maksimum kolom. Dalam MySQL, misalnya, jika panjang maksimum adalah 255 atau kurang, digunakan satu byte tambahan. Jika panjang maksimum lebih dari 255, digunakan dua byte tambahan.

Kasus Penggunaan VARCHAR

VARCHAR terbaik digunakan ketika panjang nilai dalam kolom diharapkan bervariasi secara signifikan, atau ketika panjang maksimum data jauh lebih besar dari panjang rata-ratanya. Misalnya, ini akan sesuai untuk menyimpan data seperti alamat email, nama, dan komentar teks.

TEXT

TEXT adalah tipe data yang digunakan dalam SQL untuk menyimpan sejumlah besar teks. Berbeda dengan CHAR dan VARCHAR, Anda tidak perlu menentukan panjang saat membuat kolom TEXT. Dalam MySQL, sebuah kolom TEXT dapat menampung hingga 65.535 karakter. Tipe data TEXT sangat cocok untuk menyimpan data teks berupa paragraf atau bahkan dokumen lengkap.

Bagaimana TEXT Bekerja

Seperti VARCHAR, TEXT hanya menggunakan ruang yang diperlukan untuk menyimpan data aktual. Namun, berbeda dengan VARCHAR dan CHAR, kolom TEXT memiliki beberapa batasan ketika datang ke operasi seperti pengurutan dan manipulasi string.

Pertimbangkan contoh berikut:

sql
CREATE TABLE Article (
    Title VARCHAR(100),
    Content TEXT
);

Di sini, Title didefinisikan sebagai VARCHAR(100), dan Content didefinisikan sebagai TEXT. Jika kita memasukkan judul dan konten artikel, data akan disimpan tanpa spasi tambahan di akhir, mirip dengan VARCHAR.

Alokasi Ruang dalam TEXT

Tipe data TEXT hanya mengalokasikan ruang yang diperlukan untuk menyimpan konten aktual. Namun, ada sedikit tambahan overhead dalam bentuk beberapa byte tambahan untuk menyimpan panjang string teks.

Kasus Penggunaan TEXT

TEXT paling baik digunakan ketika Anda perlu menyimpan sejumlah besar teks. Ini umum digunakan untuk data seperti komentar, deskripsi, atau data apa pun yang mungkin melebihi panjang maksimum kolom VARCHAR.

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!