0Pricing
SQL Academy · Pelajaran

Ikhtisar Tipe Data: INT VARCHAR DATE BOOLEAN

Pelajari tipe data SQL inti: bilangan bulat, varchar/text, tanggal dan stempel waktu, boolean, serta desimal; lalu pilih tipe yang tepat untuk setiap kolom.

Ikhtisar Tipe Data: INT VARCHAR DATE BOOLEAN adalah pelajaran SQL Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar SQL Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SQL Academy mencakup 4 pelajaran total.

Mengapa Tipe Penting

Setiap kolom memiliki tipe tetap. Tipe tersebut menentukan:

  • Nilai apa yang valid
  • Besarnya penyimpanan yang digunakan setiap baris
  • Operator dan fungsi mana yang berlaku
  • Bagaimana perencana memilih indeks dan penggabungan

Tipe Bilangan Bulat

PostgreSQL memiliki tiga ukuran bilangan bulat:

SMALLINT  -- 2 bytes,  -32768 to 32767
INTEGER   -- 4 bytes,  ±2.1 billion       (alias: INT)
BIGINT    -- 8 bytes,  ±9.2 quintillion

-- Auto-incrementing variants:
SMALLSERIAL  BIGSERIAL  SERIAL

NUMERIC / Desimal

Untuk uang dan bilangan desimal yang presisi, gunakan NUMERIC(precision, scale) — jangan pernah gunakan FLOAT.

CREATE TABLE invoices (
  id BIGSERIAL PRIMARY KEY,
  amount NUMERIC(12, 2) NOT NULL,   -- up to 10 digits + 2 decimals
  tax_rate NUMERIC(5, 4) NOT NULL   -- 0.0875 = 8.75%
);

FLOAT vs NUMERIC

REAL (4 byte) dan DOUBLE PRECISION (8 byte) bersifat tidak presisi — keduanya membulatkan pecahan biner. Cocok untuk sains, tetapi buruk untuk uang.

-- Inexact:
SELECT 0.1::FLOAT + 0.2::FLOAT;   -- 0.30000000000000004

-- Exact:
SELECT 0.1::NUMERIC + 0.2::NUMERIC;  -- 0.3

Tipe Teks: VARCHAR vs TEXT

PostgreSQL memiliki dua tipe teks utama:

-- VARCHAR(n) — variable-length, max n characters
email VARCHAR(255)

-- TEXT — variable-length, no declared limit
description TEXT

-- In PostgreSQL both have the same performance.
-- VARCHAR(n) just adds a length check.
-- CHAR(n) (fixed-length, blank-padded) — avoid.

Tanggal dan Waktu

Gunakan tipe tanggal/waktu — jangan pernah menyimpan tanggal sebagai teks:

DATE         -- 2024-03-15
TIME         -- 14:30:00
TIMESTAMP    -- 2024-03-15 14:30:00      (no time zone)
TIMESTAMPTZ  -- 2024-03-15 14:30:00+02   (recommended)
INTERVAL     -- 1 day, 3 hours

-- Prefer TIMESTAMPTZ unless you have a strong reason not to.

BOOLEAN

BOOLEAN menyimpan TRUE, FALSE, atau NULL.

CREATE TABLE tasks (
  id BIGSERIAL PRIMARY KEY,
  done BOOLEAN NOT NULL DEFAULT false
);

SELECT * FROM tasks WHERE done;        -- shorthand for done = true
SELECT * FROM tasks WHERE NOT done;

UUID

Untuk pengenal yang unik secara global:

CREATE TABLE api_keys (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  user_id BIGINT NOT NULL,
  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

JSON dan JSONB

Untuk dokumen semi-terstruktur:

-- JSON   — text, preserves whitespace, no index
-- JSONB  — binary, deduplicated keys, indexable with GIN

CREATE TABLE events (
  id BIGSERIAL PRIMARY KEY,
  payload JSONB NOT NULL
);

Larik

Kolom PostgreSQL dapat berupa larik dari tipe dasar apa pun:

CREATE TABLE posts (
  id BIGSERIAL PRIMARY KEY,
  title TEXT NOT NULL,
  tags TEXT[] NOT NULL DEFAULT '{}'
);

INSERT INTO posts (title, tags) VALUES
  ('Hello', ARRAY['sql', 'intro']);

SELECT * FROM posts WHERE 'sql' = ANY(tags);

Memilih Tipe yang Tepat

Aturan praktis:

  • Uang → NUMERIC (jangan pernah gunakan FLOAT)
  • ID → BIGSERIAL atau UUID
  • Tanggal → TIMESTAMPTZ untuk peristiwa, DATE untuk hari kalender
  • Kode pendek → VARCHAR(n); teks panjang → TEXT
  • Penanda → BOOLEAN

Ringkasan

Pilih tipe paling kecil yang sesuai.

  • Tipe yang tepat = indeks lebih kecil, statistik lebih baik, dan lebih sedikit bug
  • NUMERIC untuk bilangan desimal yang presisi
  • TIMESTAMPTZ untuk stempel waktu peristiwa
  • Hindari menyimpan data bertipe sebagai teks — Anda akan kehilangan validasi dan pengindeksan

Pemeriksaan Singkat

Anda perlu menyimpan harga produk. Tipe apa yang harus dipilih?

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Ikhtisar Tipe Data: INT VARCHAR DATE BOOLEAN” gratis?

Ya — teks lengkap “Ikhtisar Tipe Data: INT VARCHAR DATE BOOLEAN” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SQL Academy, upgrade ke CoddyKit PRO. Kursus SQL Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Ikhtisar Tipe Data: INT VARCHAR DATE BOOLEAN”?

Pelajari tipe data SQL inti: bilangan bulat, varchar/text, tanggal dan stempel waktu, boolean, serta desimal; lalu pilih tipe yang tepat untuk setiap kolom. Kamu berlatih SQL Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai SQL Academy?

Tidak diperlukan pengalaman sebelumnya. SQL Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Ikhtisar Tipe Data: INT VARCHAR DATE BOOLEAN” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran SQL Academy ini?

Ya. Setiap pelajaran SQL Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa Itu RDBMS dan Mengapa Tabel Penting
  2. Kunci Utama dan Keunikan
  3. NULL: Nilai Kebenaran Ketiga
  4. Ikhtisar Tipe Data: INT VARCHAR DATE BOOLEAN
← Kembali ke SQL Academy