Pengaplikasian SQL Database dalam Pengolahan Membership Belanja
library(RMySQL)
## Warning: package 'RMySQL' was built under R version 4.5.2
## Loading required package: DBI
## Warning: package 'DBI' was built under R version 4.5.2
library(DBI)
library(DT)
## Warning: package 'DT' was built under R version 4.5.2
dbb <- dbConnect(
RMySQL::MySQL(),
host = "127.0.0.1",
user = "root",
password = "")
dbExecute(dbb, "CREATE DATABASE IF NOT EXISTS MembershipBelanja")
## [1] 1
dbExecute(dbb, "USE MembershipBelanja")
## [1] 0
dbExecute(dbb, "
CREATE TABLE IF NOT EXISTS Member (
id_member INT PRIMARY KEY,
nama VARCHAR(50)
);
")
## [1] 0
dbExecute(dbb, "
CREATE TABLE IF NOT EXISTS Membership (
id_membership INT PRIMARY KEY,
kategori VARCHAR(20),
batas_poin INT
);
")
## [1] 0
dbExecute(dbb, "
CREATE TABLE IF NOT EXISTS Barang (
id_barang INT PRIMARY KEY,
nama_barang VARCHAR(100),
harga INT
);
")
## [1] 0
dbExecute(dbb, "
CREATE TABLE IF NOT EXISTS Pengeluaran (
id_transaksi INT PRIMARY KEY,
id_member INT,
id_barang INT,
jumlah INT,
total INT,
FOREIGN KEY(id_member) REFERENCES Member(id_member),
FOREIGN KEY(id_barang) REFERENCES Barang(id_barang)
);
")
## [1] 0
dbExecute(dbb, "
CREATE TABLE IF NOT EXISTS Poin (
id_poin INT PRIMARY KEY,
id_member INT,
total_poin INT,
FOREIGN KEY(id_member) REFERENCES Member(id_member)
);
")
## [1] 0
Mengisi suatu data pada tabel-tabel yg telah dibuat
dbExecute(dbb, "
INSERT INTO Member VALUES
(101,'Reza'),
(102,'Maya'),
(103,'Dilan'),
(104,'Sarah'),
(105,'Mey'),
(106,'Febri');
")
## [1] 6
dbExecute(dbb, "
INSERT INTO Membership VALUES
(201,'Silver',100),
(202,'Gold',250),
(203,'Platinum',500);
")
## [1] 3
dbExecute(dbb, "
INSERT INTO Barang VALUES
(301,'Buku',50000),
(302,'Tas',260000),
(303,'Minyak Goreng',25000),
(304,'Stiker Kartun',10000),
(305,'Sepatu',350000);
")
## [1] 5
dbExecute(dbb, "
INSERT INTO Pengeluaran VALUES
(401,105,301,2,100000),
(402,103,302,1,260000),
(403,106,305,2,700000),
(404,104,304,10,100000),
(405,101,303,6,150000),
(406,102,305,1,350000);
")
## [1] 6
dbExecute(dbb, "
INSERT INTO Poin VALUES
(501,105,100),
(502,103,260),
(503,106,700),
(504,104,100),
(505,101,150),
(506,102,350);
")
## [1] 6