Tujuan Hari Ketujuh
Hari ini, kamu akan belajar tentang relational database dan bagaimana data disusun di dalamnya. Kamu juga akan mengenal tipe-tipe database lain dan memahami kapan sebaiknya menggunakan relational database dan non-relational database.
Materi Hari Ketujuh
1. Apa itu Relational Database? Relational database adalah jenis database yang menyimpan data dalam bentuk tabel (relasi) yang terhubung satu sama lain. Data dalam tabel disusun dalam baris dan kolom, di mana setiap baris mewakili satu record, dan setiap kolom mewakili atribut atau fitur dari record tersebut.
Contoh: Tabel "Pelanggan" mungkin memiliki kolom "Nama", "Umur", "Email", dan "Alamat". Tabel "Pesanan" mungkin memiliki kolom "ID_Pelanggan", "Tanggal_Pesanan", dan "Jumlah".
2. Kunci (Keys) dalam Relational Database
Primary Key: Kolom yang secara unik mengidentifikasi setiap record dalam tabel. Setiap tabel biasanya memiliki satu kolom sebagai primary key. Misalnya, kolom "ID_Pelanggan" di tabel "Pelanggan" bisa menjadi primary key.
Foreign Key: Kolom di dalam suatu tabel yang merujuk ke primary key di tabel lain. Ini digunakan untuk membuat hubungan antar tabel. Misalnya, di tabel "Pesanan", kolom "ID_Pelanggan" dapat menjadi foreign key yang merujuk ke primary key di tabel "Pelanggan".
3. Relational vs. Non-Relational Databases
Relational Database (RDBMS): Menggunakan struktur tabel dan hubungan antar tabel, serta mendukung SQL. Contoh: MySQL, PostgreSQL, Microsoft SQL Server.
Non-Relational Database (NoSQL): Tidak menggunakan tabel relasional dan lebih fleksibel dalam menyimpan data tidak terstruktur. Contoh: MongoDB, Cassandra, Redis. NoSQL digunakan untuk data yang sering berubah, tidak memiliki skema tetap, atau untuk data besar yang tidak cocok disimpan di RDBMS.
4. Keuntungan dan Kelemahan Relational Database
Keuntungan:
Struktur yang jelas dan terdefinisi.
Konsistensi data tinggi melalui penggunaan kunci.
Mendukung transaksi ACID (Atomicity, Consistency, Isolation, Durability).
Kelemahan:
Kurang fleksibel untuk data tidak terstruktur.
Skalabilitas bisa menjadi masalah saat jumlah data sangat besar.
5. Kapan Menggunakan Relational dan Non-Relational Database
Relational Database: Digunakan untuk aplikasi yang membutuhkan struktur data yang ketat dan konsisten, seperti aplikasi keuangan, manajemen stok, atau sistem reservasi.
Non-Relational Database: Digunakan untuk aplikasi yang menangani data tidak terstruktur atau semi-terstruktur, seperti aplikasi media sosial, big data, atau analisis real-time.
Aktivitas Hari Ketujuh
1. Membuat Relational Database
Mulailah dengan membuat dua tabel dalam database relasional, misalnya tabel "Pelanggan" dan "Pesanan". Tentukan primary key untuk setiap tabel dan buat hubungan menggunakan foreign key.
Contoh SQL:
CREATE TABLE Pelanggan (
ID_Pelanggan INT PRIMARY KEY,
Nama VARCHAR(50),
Umur INT,
Email VARCHAR(50)
);
CREATE TABLE Pesanan (
ID_Pesanan INT PRIMARY KEY,
Tanggal_Pesanan DATE,
ID_Pelanggan INT,
FOREIGN KEY (ID_Pelanggan) REFERENCES Pelanggan(ID_Pelanggan)
);
2. Mengambil Data Menggunakan Join
Setelah membuat relasi antara tabel "Pelanggan" dan "Pesanan", coba gunakan JOIN untuk mengambil data dari kedua tabel.
Contoh:
SELECT Pelanggan.Nama, Pesanan.Tanggal_Pesanan
FROM Pelanggan
INNER JOIN Pesanan ON Pelanggan.ID_Pelanggan = Pesanan.ID_Pelanggan;
3. Eksplorasi Non-Relational Database
Coba eksplorasi MongoDB untuk melihat bagaimana cara menyimpan data dalam bentuk dokumen (JSON-like) tanpa relasi antar tabel. Buatlah koleksi (collection) untuk data "Pelanggan" dan "Pesanan".
Contoh Hari Ketujuh
Contoh Database: Jika kamu bekerja dengan aplikasi e-commerce, kamu mungkin memiliki tabel "Pelanggan", "Produk", dan "Pesanan". Menggunakan relational database memungkinkan kamu menghubungkan pesanan ke pelanggan dan produk secara konsisten dan rapi.
Contoh NoSQL: Jika kamu bekerja dengan data dari media sosial, yang tidak terstruktur dan berubah dengan cepat, NoSQL seperti MongoDB bisa menjadi pilihan yang lebih baik untuk menyimpan postingan, komentar, dan interaksi pengguna.
---
Esensi Hari Ketujuh: Memahami perbedaan antara relational dan non-relational database adalah kunci dalam memilih alat yang tepat untuk analisis data. Database relasional cocok untuk aplikasi yang membutuhkan konsistensi tinggi, sementara NoSQL lebih fleksibel untuk data besar yang tidak terstruktur atau semi-terstruktur. Terus latih penggunaan SQL untuk mengelola dan mengambil data dari relational database!
Komentar
Posting Komentar