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 SERIALNUMERIC / 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.3Tipe 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 gunakanFLOAT) - ID →
BIGSERIALatauUUID - Tanggal →
TIMESTAMPTZuntuk peristiwa,DATEuntuk 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
- Apa Itu RDBMS dan Mengapa Tabel Penting
- Kunci Utama dan Keunikan
- NULL: Nilai Kebenaran Ketiga
- Ikhtisar Tipe Data: INT VARCHAR DATE BOOLEAN