Memilih Tipe Data yang Tepat — Database

Mengapa Tipe Data Penting? Memilih tipe data yang tepat memengaruhi storage, performa, dan integritas data. Tipe data yang salah bisa menyebabkan bug halus dan

Mengapa Tipe Data Penting?

Memilih tipe data yang tepat memengaruhi storage, performa, dan integritas data. Tipe data yang salah bisa menyebabkan bug halus dan pemborosan resource.

String Types

-- CHAR(n): fixed-length, cocok untuk data yang pasti panjangnya tetap
country_code CHAR(2)      -- "ID", "US" (selalu 2 karakter)
status_code CHAR(3)       -- "ACT", "DEL" (selalu 3 karakter)

-- VARCHAR(n): variable-length, cocok untuk data dengan panjang bervariasi
name VARCHAR(100)         -- nama 1-100 karakter
email VARCHAR(255)        -- email bervariasi panjangnya

-- TEXT: tanpa batas panjang, cocok untuk konten panjang
bio TEXT                  -- bisa sangat panjang
body TEXT                 -- artikel/blog post

Numeric Types

-- Integer types
SMALLINT    -- -32768 to 32767 (2 bytes)
INTEGER     -- -2B to 2B (4 bytes) — paling umum
BIGINT      -- sangat besar (8 bytes) — untuk ID yang sangat banyak

-- Decimal types
DECIMAL(10,2) -- exact: untuk uang (10 digit, 2 desimal)
FLOAT         -- approximate: untuk kalkulasi sains
-- JANGAN gunakan FLOAT untuk uang! Bisa ada rounding error

Date & Time Types

DATE        -- hanya tanggal: 2024-01-15
TIME        -- hanya waktu: 14:30:00
TIMESTAMP   -- tanggal + waktu: 2024-01-15 14:30:00
TIMESTAMPTZ -- timestamp + timezone (recommended!)

Boolean & Lainnya

BOOLEAN     -- true/false
UUID        -- identifier unik global
JSONB       -- JSON binary (PostgreSQL, lebih cepat dari JSON)
ARRAY       -- array native (PostgreSQL)

Best Practices

Yang akan kamu pelajari