Uploaded by Faizal Rifaldy

Faizal Rifaldy basisdata 1806095

advertisement
Nama : Faizal Rifaldy
NPM :1806095
Diskusi Masalah Backup
misal sebuah perusahan XYZ mempunyai basis data transaksi penjualan yang sudah lama berjalan, pada hari ini ada
kenaikan harga beberapa item misal:
indomie harga awal 2500 akan naik menjadi 2750 dan beberapa item lain.
yg jadi masalah adalah apabila data di update laporan penjualan sebelumnya akan menjadi tidak sesuai, misal hari
kemarin penjualan indomie 100 buah maka dilaporan 250.000 dan apabila langsung update akan menjadi 275.000.
Pertanyaan bagaimana caranya agar data laporan masih sesuai dengan data sebelumnya.
Jawab:
DIK :



Harga produk indomie harga sebelumnya 2500 / unit
Naik menjadi 2750 / unit
apabila data di update secara langsung laporan penjualan sebelunya akan menjadi tidak sesuai
Jawaban berdasarkan opini yang saya lakukan adalah sebagai berikut:
Disini sebagai contoh gambaran, saya membuat 2 buat tabel dengan nama produk, log_transaksi
Gambar di bawah sebelum database di backup
Isi didalam tabel produk
Isi didalam tabel log_transaksi terdapat sebagai contoh terdapat 100 file produk terjual
2
Sebagai solusosi menurut opini saya, supaya data laporan yang di backup tetap sama dan sesuai dengan
laporan sebelumnya jikalau kita menggati harga produk tersebut saya menambahkan atribut penanda
bahwasanya produk tersebut harganya sudah di revisi dengan atribut revisi_harga ketika kita mengganti
harga produk tersebut kita cukup ++ dari hasil revisi harga dengan kutipan query sebagai berikut
revisi_harga + 1; saat update database, dan gambaran laporanya dengan view dengan query sebagai berikut:
CREATE VIEW laporan
AS SELECT
produk.nama_produk,
COUNT(log_transaksi.logid) AS total_terjual,
log_transaksi.revisi_harga AS Hargarevisike,
log_transaksi.price AS Harga_satuan,
SUM(log_transaksi.price) AS total_pendapatan FROM produk
INNER JOIN log_transaksi GROUP BY log_transaksi.revisi_harga;
lalu lakukan
SELECT * FROM information_schema.views WHERE
table_name = 'laporan'
saat di
SELECT * laporan;
Dan tampilan saat query laporan di eksekusi
3
Lalu saya anggap ada update harga produk indomie yang awalnya 2500 menjadi 2750 dan variable
revisi_harga di tambah jikalau harga di update, maka eksekusi query nya sebagai berikut:
UPDATE produk SET revisi_harga = revisi_harga + 1, harga = 2750;
Lalu di sini saya menambahkan produk terjual sebesar 121 buah di masukan ke dalam log_transaksi
Yaitu sebagai berikut:
Dan ketika saya melakukan
SELECT * laporan;
Tampilan sql view yang muncul adalah sebagai berikut:
4
Jadi kesimpulanya agar laporan lama tidak terupdate yaitu kita cukup menambahkan 1 atribut berupa revisi
harga / gantiharga dan laporan tersebut bisa di buat / di lihat melalui sql view / create tabel tergantung
kebutuhan.
5
Download