Pengaplikasian SQL Database dalam Pengolahan Data Wrapped Spotify
Menginport library dibutuhkan paling awal agar dapat membaca package yang akan digunakan
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 = "")
##Program ### Membuat dan Mengakses Database Baru Diperlukan suatu database untuk menyimpan suatu data tabel
dbExecute(dbb, "CREATE DATABASE IF NOT EXISTS SpotifyWrapped")
## [1] 1
dbExecute(dbb, "USE SpotifyWrapped")
## [1] 0
Menggunakan database sebelumnnya, lalu buatkan sebuah tabel didalamnya
dbExecute(dbb, "
CREATE TABLE IF NOT EXISTS User (
id_user INT PRIMARY KEY,
nama VARCHAR(50)
);
")
## [1] 0
dbExecute(dbb, "
CREATE TABLE IF NOT EXISTS Artist (
id_artist INT PRIMARY KEY,
nama_artist VARCHAR(100)
);
")
## [1] 0
dbExecute(dbb, "
CREATE TABLE IF NOT EXISTS Genre (
id_genre INT PRIMARY KEY,
nama_genre VARCHAR(50)
);
")
## [1] 0
dbExecute(dbb, "
CREATE TABLE IF NOT EXISTS Song (
id_song INT PRIMARY KEY,
judul VARCHAR(100),
id_artist INT,
id_genre INT,
FOREIGN KEY(id_artist) REFERENCES Artist(id_artist),
FOREIGN KEY(id_genre) REFERENCES Genre(id_genre)
);
")
## [1] 0
dbExecute(dbb, "
CREATE TABLE IF NOT EXISTS streaming (
id_stream INT PRIMARY KEY,
id_user INT,
id_song INT,
durasi INT,
INDEX (id_user),
INDEX (id_song),
FOREIGN KEY (id_user) REFERENCES user(id_user)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (id_song) REFERENCES song(id_song)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB;
")
## [1] 0
Mengisi suatu data pada tabel-tabel yg telah dibuat #### 1. Memasukkan Data ke Dalam Tabel User
dbExecute(dbb, "
INSERT INTO User VALUES
(1,'Alwan'),
(2,'Alex'),
(3,'Sefka');
")
## [1] 3
dbExecute(dbb, "
INSERT INTO Artist VALUES
(10,'Rizky Febian'),
(11,'Westlife'),
(12,'Ardhito Pramono'),
(13,'Tenxi');
")
## [1] 4
dbExecute(dbb, "
INSERT INTO Genre VALUES
(20,'Pop'),
(21,'Jazz'),
(22,'R&B');
")
## [1] 3
dbExecute(dbb, "
INSERT INTO Song VALUES
(100,'Alamak',10,20),
(101,'If I Let You Go',11,20),
(102,'Waking Up Together With You',12,21),
(103,'Attached',13,22);
")
## [1] 4
dbExecute(dbb, "
INSERT INTO Streaming VALUES
(201,1,100,180),
(202,1,103,200),
(203,2,102,150),
(204,3,101,210),
(205,3,100,180),
(206,3,102,200);
")
## [1] 6
Berdasarkan database yang telah di buat dan tabel-tabel yang ada dalam database, pada kali ini saya akan menampilkan hasilnya
### Menampilkan Isi Tabel