Chapter
Dua paradigma besar dalam database — pilih yang tepat sesuai kebutuhan proyekmu.
Data disimpan dalam tabel dengan baris dan kolom. Hubungan antar tabel menggunakan JOIN.
Contoh: MySQL, PostgreSQL, SQLite, MariaDB
-- Buat tabel
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
nama VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Insert data
INSERT INTO users (nama, email)
VALUES ('Budi', 'budi@example.com');
-- Select data
SELECT * FROM users WHERE email = 'budi@example.com';
-- Update
UPDATE users SET nama = 'Budi Santoso' WHERE id = 1;
-- Delete
DELETE FROM users WHERE id = 1;Data disimpan dalam format fleksibel — dokumen JSON, key-value, graph, dll.
Contoh: MongoDB, Redis, Cassandra, Firebase
// MongoDB — dokumen JSON
{
_id: ObjectId("..."),
nama: "Budi",
email: "budi@example.com",
xp: 1500,
badges: ["first_login", "complete_html"],
createdAt: ISODate("2024-01-01")
}Pakai SQL: aplikasi keuangan, e-commerce, data terstruktur
Pakai NoSQL: real-time app, content platform, data fleksibel
| Kriteria | SQL | NoSQL |
|---|---|---|
| Struktur data | Tetap/terstruktur | Fleksibel/berubah |
| Relasi kompleks | ✅ Lebih baik | ❌ Kurang ideal |
| Scale horizontal | ❌ Sulit | ✅ Mudah |
| Konsistensi | ✅ ACID | ❌ Eventual |
| Kecepatan dev | ❌ Lebih lambat | ✅ Lebih cepat |