Materi/Database Fundamentals
🗄️

Database Fundamentals

Intermediate+320 XP

⚠️ Quiz Wajib

Belum dikerjakan
Min 85% untuk unlock XP

Kerjakan Quiz →

Chapter

🧠 Kerjakan Quiz

SQL vs NoSQL

Dua paradigma besar dalam database — pilih yang tepat sesuai kebutuhan proyekmu.

SQL (Relational Database)

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;

NoSQL (Non-Relational Database)

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")
}

Kapan Pakai SQL vs NoSQL?

Pakai SQL: aplikasi keuangan, e-commerce, data terstruktur

Pakai NoSQL: real-time app, content platform, data fleksibel

KriteriaSQLNoSQL
Struktur dataTetap/terstrukturFleksibel/berubah
Relasi kompleks✅ Lebih baik❌ Kurang ideal
Scale horizontal❌ Sulit✅ Mudah
Konsistensi✅ ACID❌ Eventual
Kecepatan dev❌ Lebih lambat✅ Lebih cepat