Dalam dunia teknologi informasi, database berperan penting sebagai tempat penyimpanan data yang efisien dan terstruktur. Dua jenis database yang sering digunakan adalah SQL (Structured Query Language) dan NoSQL (Not Only SQL). Meskipun keduanya memiliki tujuan yang sama, yaitu menyimpan dan mengelola data, namun ada perbedaan mendasar dalam pendekatan dan modelnya. Artikel ini akan menjelaskan perbedaan antara database SQL dan NoSQL serta memberikan contoh kode untuk memahami perbedaan tersebut.
Database SQL (Relasional): Database SQL berbasis relasional, yang berarti data diorganisir ke dalam tabel yang terhubung melalui hubungan atau kunci asing. Data dalam tabel dapat diakses dengan menggunakan bahasa query standar seperti SQL (Structured Query Language).
Contoh Tabel di Database SQL:
Misalkan kita memiliki dua tabel, yaitu Customers
(Pelanggan) dan Orders
(Pesanan). Tabel Customers
berisi informasi tentang pelanggan, sementara tabel Orders
berisi informasi tentang pesanan yang ditempatkan oleh pelanggan.
Tabel Customers
Tabel Orders
Contoh Kode Query SQL:
Berikut adalah contoh kode SQL untuk mengambil data pelanggan yang berusia di atas 25 tahun dan berasal dari kota Cirebon:
SELECT CustomerID, Name, Age, City
FROM Customers
WHERE Age > 25 AND City = 'Cirebon';
Database NoSQL (Non-Relasional): NoSQL adalah kelompok database yang tidak menggunakan tabel dengan baris dan kolom seperti yang ada pada database SQL. Sebaliknya, NoSQL menyimpan data dalam format yang lebih fleksibel seperti dokumen, grafik, atau key-value pairs (pasangan kunci-nilai).
Contoh Database Dokumen NoSQL:
Salah satu tipe NoSQL yang populer adalah database dokumen. Dalam database ini, data disimpan dalam dokumen JSON atau BSON (format biner JSON).
Contoh Dokumen Pelanggan:
<!--- Json ----->
{
"CustomerID": 1,
"Name": "John",
"Age": 30,
"City": "New York",
"Orders": [
{
"OrderID": 101,
"Product": "Laptop",
"Quantity": 2
},
{
"OrderID": 103,
"Product": "Printer",
"Quantity": 3
}
]
}
Contoh Dokumen Pelanggan Lainnya:
<!--- Json ----->
{
"CustomerID": 2,
"Name": "Sarah",
"Age": 25,
"City": "Los Angeles",
"Orders": [
{
"OrderID": 102,
"Product": "Smartphone",
"Quantity": 1
}
]
}
Contoh Kode Query untuk Database Dokumen NoSQL:
Berikut adalah contoh kode untuk mengambil data pelanggan yang berusia di atas 25 tahun dan berasal dari kota Chicago dari database dokumen NoSQL (MongoDB):
<!--- Javascript ----->
db.customers.find({
"Age": { $gt: 25 },
"City": "Chicago"
})
Kesimpulan:
Database SQL dan NoSQL memiliki pendekatan yang berbeda dalam penyimpanan data. Database SQL menggunakan tabel dengan relasi, sedangkan NoSQL lebih fleksibel dan dapat menggunakan format dokumen, grafik, atau key-value pairs. Pilihan antara SQL dan NoSQL harus disesuaikan dengan kebutuhan proyek dan sifat data yang akan disimpan. SQL cocok untuk proyek dengan data terstruktur dan hubungan yang jelas, sementara NoSQL lebih cocok untuk data yang kompleks, tidak terstruktur, atau membutuhkan skalabilitas yang tinggi.