diskusi modul 9 basis data
DESCRIPTION
basis dataTRANSCRIPT
Mengetahui stok barang :
Penyelesaian
Syntax
create view nomor_2 as
select nama, stok from barang; select * from nomor_2;
Penjelasan
Syntax diatas adalah syntax untuk membuat view dengan nama nomor_1. View ini akan menampilkan nama barang dan stok dari tabel barang.
Capture
Menghitung total pembayaran tiap transaksi yang dilakukan oleh pelanggan :
Penyelesaian
Syntax
create view nomor_3 as
select d.kode_transaksi, p.nama,
t.tgl_transaksi,sum((harga-(harga*diskon/100))*jumlah)'Total_Pembayaran'from
pelanggan p join transaksi t using(id_pelanggan)
join detail_transaksi d using(kode_transaksi) join barang b using(id_barang)
group by kode_transaksi; select * from nomor_3;
Penjelasan
Syntax diatas adalah syntax untuk membuat view dengan nama nomor_2. View ini akan menampilkan kode transaksi, nama pelanggan, tanggal transaksi, dan total pembayaran tiap transaksi yang dilakukan oleh pelanggan (termasuk diskon). Total Pembayaran dicari dengan sum menggunakan rumus ((harga-
(harga*diskon/100))*jumlah). Relasi menggunakan join. Tampilan data dikelompokkan berdasarkan kode transaksi.
Capture
Menggunakan view yang telah dibuat untuk mengetahui jumlah kupon undian yang diperoleh setiap pelanggan jika setiap kelipatan 10 ribu akan memperoleh kupon satu buah. Urutkan mulai dari yang memeperoleh kupon paling banyak.
Penyelesaian
Syntax
create view nomor_4 as
select nama, Total_Pembayaran, Total_Pembayaran div 10000 'Jumlah_Kupon' from nomor_3order by Jumlah_Kupon desc; select * from nomor_4;
Penjelasan
Syntax diatas adalah syntax untuk membuat view dengan nama nomor_3. View ini akan menampilkan nama pelanggan, total pembayaran, dan jumlah kupon. Di syntax
ini kita memanggil kembali view nomor_2. Jumlah kupon didapat dari Total_Pembayaran div 10000. Menggunakan div karena div merupakan pembagian integer sehingga hasilnya bulat (tidak menghasilkan koma). Tampilan data diurutkan berdasarkan jumlah kupon terbanyak.
Capture
Menggunakan view yang telah dibuat untuk mengetahui hadiah yang diterima oleh pelanggan dimana jika mempunyai kupon dengan :
o Tidak punya kupon maka tidak memperoleh hadiah.o 2 : Bukuo 5 : Wekero 10 : Jam Dindingo 50 : Radioo 100 : Radio Tape
Penyelesaian
Syntax
create view nomor_5 as select nama,Jumlah_Kupon, casewhen Jumlah_Kupon=0 then 'Belum Dapat Hadiah' when Jumlah_Kupon<=2 then'Buku'when Jumlah_Kupon<=5 then'Weker'
when Jumlah_Kupon<=10 then'Jam Dinding' when Jumlah_Kupon<=50 then'Radio'
when Jumlah_Kupon<=100 then'Radio Tape' end 'Hadiah' from nomor_4;select * from nomor_5;
Penjelasan
Syntax diatas adalah syntax untuk membuat view dengan nama nomor_4. View ini akan menampilkan nama pelanggan, jumlah kupon dan hadiah. Disini kita akan memanggil kembali view nomor_3. Dalam syntax ini kita menggunakan fungsi case, when pada mysql untuk menyatakan kondisi sesuai dengan yang ada pada soal nomor 4.
Capture
Lampiran ERD