Basis Data
Basis Data
Perancangan (pembuatan table dan relasi)
Misalkan kita ingin membuat basis data untuk sebuah toko buku online. Berikut adalah tabel-tabel yang akan dibuat beserta atribut-atributnya:
1. Tabel buku
id_buku : (primary key) identitas unik buku
judul_buku : judul buku
penulis : penulis buku
penerbit : penerbit buku
tahun_terbit : tahun terbit buku
harga : harga buku
2. Tabel kategori_buku
id_kategori : (primary key) identitas unik kategori buku
nama_kategori : nama kategori buku
3. Tabel stok_buku
id_stok : (primary key) identitas unik stok buku
id_buku : (foreign key ke tabel buku) identitas buku yang tersedia
jumlah_stok : jumlah stok buku yang tersedia
4. Tabel pembelian
id_pembelian : (primary key) identitas unik pembelian
id_buku : (foreign key ke tabel buku) identitas buku yang dibeli
jumlah_pembelian : jumlah buku yang dibeli
tanggal_pembelian : tanggal pembelian buku
Dari tabel-tabel tersebut, terdapat beberapa relasi antara tabel, yaitu:
- Tabel buku memiliki relasi one-to-many dengan tabel stok_buku. Satu buku dapat memiliki banyak stok.
- Tabel buku memiliki relasi many-to-many dengan tabel kategori_buku. Satu buku dapat termasuk dalam banyak kategori dan satu kategori dapat memiliki banyak buku.
- Tabel buku memiliki relasi one-to-many dengan tabel pembelian. Satu buku dapat dibeli banyak kali.
- Tabel pembelian memiliki relasi many-to-one dengan tabel buku. Banyak pembelian dapat terkait dengan satu buku.
Implementasi (Query)
1. Mengambil semua data buku beserta kategori-kategorinya
SELECT buku.*, kategori_buku.nama_kategori
FROM buku
INNER JOIN buku_kategori ON buku.id_buku = buku_kategori.id_buku
INNER JOIN kategori_buku ON buku_kategori.id_kategori = kategori_buku.id_kategori;
2. Mengambil data buku yang harganya diatas Rp100.000
SELECT * FROM buku WHERE harga > 100000;
3. Mengambil data buku yang stoknya tersedia lebih dari 10
SELECT buku.*, stok_buku.jumlah_stok
FROM buku
INNER JOIN stok_buku ON buku.id_buku = stok_buku.id_buku
WHERE stok_buku.jumlah_stok > 10;
4. Menambahkan data pembelian baru
INSERT INTO pembelian (id_buku, jumlah_pembelian, tanggal_pembelian)
VALUES (1, 2, '2023-05-03');
5. Mengupdate jumlah
UPDATE stok_buku
SET jumlah_stok = jumlah_stok - 2
WHERE id_buku = 1;
Post a Comment for "Basis Data"