Email : ardifo.okta@student.matanauniversity.ac.id
RPubs : https://rpubs.com/ardifo/
Jurusan : Statistika
Address : ARA Center, Matana University Tower
Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.
SQLite, mariadb serta MySQL, adalah RDBMS open source.
Library SQLite berukuran sekitar 250 KB, sedangkan server MySQL sekitar 600 MB
MariaDB merupakan aplikasi yang dapat digunakan untuk memproses data SQL dalam waktu yang bersamaan, MariaDB berfungsi untuk menyediakan data yang bermacam-macam yang tentunya akan mempermudah pengguna ketika ingin menggunakan aplikasi database yang bukan hanya mampu menangani skala besar, melainkan juga menyediakan banyak pilihan data.
SQLite tidak memiliki fungsionalitas user management tertentu. Oleh karena itu, SQLite tidak cocok untuk akses multiple user. MySQL memiliki sistem manajemen user yang dibangun dengan baik sehingga dapat menangani banyak user dan memberikan berbagai tingkat perizinan.
SQLite cocok untuk database yang lebih kecil. Seiring pertumbuhan database, kebutuhan memori juga semakin besar saat menggunakan SQLite. Optimalisasi kinerja lebih sulit ketika menggunakan SQLite. Hal tersebut terjadi karena SQLite memiliki beberapa batasan penulisan.
SQLite tidak memiliki mekanisme otentikasi bawaan. Dengan begitu, file database SQLite dapat diakses oleh siapa saja. Namun, MySQL hadir dengan banyak fitur keamanan bawaan. Ini termasuk otentikasi dengan username, password, dan juga SSH.
SQLite tidak memerlukan konfigurasi rumit. Dapat dikatakan bahwa SQLite mudah untuk disetup. Sedangkan MySQL membutuhkan lebih banyak konfigurasi dibandingkan dengan SQLite. MySQL juga memiliki lebih banyak panduan setup.
Kelebihan dari SQLite:
Kekurangan dari SQLite:
Kelebihan dari MySQL:
Kekurangan dari MySQL:
Kelebihan dari MariaDB :
Kekurangan MariaDB
Untuk memulai, install terlebih dahulu beberapa packages di R Console
install.packages(c("DBI",
"odbc",
"RMariaDB",
"RMySQL",
"RSQLite"
) )
Lalu,
# install.packages("pacman")
::p_load(DBI, # DBI Package membantu R untuk terhubung ke DBMS
pacman# menghubung ke ODBC Compatible Database
odbc, # Database Interface dan 'MariaDB' Driver
RMariaDB, # Database Interface dan 'RMySQL' Driver
RMySQL, # Database Interface dan 'RSQLite' Driver
RSQLite )
Ada banyak cara untuk menghubung database dengan R. Ada 3 cara yang akan saya jelaskan disini bagaimana caranya agar database terhubung ke R.
<- dbConnect(MariaDB(),
MariaDB user='root',
password='',
dbname='mysql',
host='localhost')
dbListTables(MariaDB) # table list di database kita
## [1] "columns_priv" "column_stats"
## [3] "db" "event"
## [5] "func" "general_log"
## [7] "global_priv" "gtid_slave_pos"
## [9] "help_category" "help_keyword"
## [11] "help_relation" "help_topic"
## [13] "index_stats" "innodb_index_stats"
## [15] "innodb_table_stats" "plugin"
## [17] "proc" "procs_priv"
## [19] "proxies_priv" "roles_mapping"
## [21] "servers" "slow_log"
## [23] "tables_priv" "table_stats"
## [25] "time_zone" "time_zone_leap_second"
## [27] "time_zone_name" "time_zone_transition"
## [29] "time_zone_transition_type" "transaction_registry"
## [31] "user"
# dbExecute(MariaDB,"CREATE DATABASE new_MariaDB") # membuat baru database
# dbExecute(MariaDB,"DROP DATABASE new_MariaDB") # menghapus database
<- dbConnect(MySQL(),
MySQL user='root',
password='',
dbname='mysql',
host='localhost',)
dbListTables(MySQL) # table list di database kita
## [1] "column_stats" "columns_priv"
## [3] "db" "event"
## [5] "func" "general_log"
## [7] "global_priv" "gtid_slave_pos"
## [9] "help_category" "help_keyword"
## [11] "help_relation" "help_topic"
## [13] "index_stats" "innodb_index_stats"
## [15] "innodb_table_stats" "plugin"
## [17] "proc" "procs_priv"
## [19] "proxies_priv" "roles_mapping"
## [21] "servers" "slow_log"
## [23] "table_stats" "tables_priv"
## [25] "time_zone" "time_zone_leap_second"
## [27] "time_zone_name" "time_zone_transition"
## [29] "time_zone_transition_type" "transaction_registry"
## [31] "user"
# dbExecute(MySQL,"CREATE DATABASE new_MySQl") # membuat baru database
# dbExecute(MySQl,"DROP DATABASE new_MySQL") # menghapus database
library(sqldf)
## Loading required package: gsubfn
## Loading required package: proto
## sqldf will default to using MySQL
# RSQLite <- dbConnect(RSQLite::SQLite(), "folder_db/mydb3.sqlite")
# dbListTables(RSQLite) # table list di data base
<-read.csv("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/Customers.csv")
Customers <-read.csv("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/Categories.csv")
Categories <-read.csv("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/Employees.csv")
Employees <-read.csv("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/OrderDetails.csv")
OrderDetails <-read.csv("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/Orders.csv")
Orders <-read.csv("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/Products.csv")
Products <-read.csv("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/Shippers.csv")
Shippers <-read.csv("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/Suppliers.csv") Supliers
library(readxl)
<-read_excel("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/RawDatabase.xlsx", sheet=1)
Customers <-read_excel("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/RawDatabase.xlsx", sheet=2)
Categories <-read_excel("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/RawDatabase.xlsx", sheet=3)
Employees <-read_excel("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/RawDatabase.xlsx", sheet=4)
OrderDetails <-read_excel("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/RawDatabase.xlsx", sheet=5)
Orders <-read_excel("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/RawDatabase.xlsx", sheet=6)
Products <-read_excel("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/RawDatabase.xlsx", sheet=7)
Shippers <-read_excel("C:/Users/LENOVO/Dropbox/PC/Documents/R/Database System/RawDatabase.xlsx", sheet=8) Suppliers
<- dbConnect(MariaDB(),
new_con user='root',
password='',
dbname='new_mariadb',
host='localhost')
dbWriteTable(new_con, "Customers", Customers, append=T)
dbWriteTable(new_con, "Categories", Categories, append=T)
dbWriteTable(new_con, "Employees", Employees, append=T)
dbWriteTable(new_con, "OrderDetails", OrderDetails, append=T)
dbWriteTable(new_con, "Orders", Orders, append=T)
dbWriteTable(new_con, "Products", Products, append=T)
dbWriteTable(new_con, "Shippers", Shippers, append=T)
dbWriteTable(new_con, "Suppliers", Suppliers, append=T)
dbRemoveTable(new_con, "Orders")
"OrdersDate"] <-as.Date(Orders$OrderDate, format = "%Y-%m-%d") Orders[
dbWriteTable(new_con, "Orders", Orders, append=T)
The SELECT statment is uswwed to select data from a database
library(DT)
<-dbGetQuery(new_con, 'SELECT City, Address, Country
df1 FROM Customers')
datatable(df1)
Menyeleksi Customers dari Germany
<-dbGetQuery(new_con, "SELECT *
df2 FROM Customers
WHERE Country='Germany'")
datatable(df2)
Menambah data baru pada Databse Customers
dbExecute(new_con,"INSERT INTO Customers(CustomerName,ContactName,Address,City,PostalCode,Country)
VALUES('Ardifo','Syaa','Jl. Pandekar Lopo','Katingan','17454','Indonesia')")
## [1] 1
Menghapus data dari customers
dbExecute(new_con,"DELETE FROM Customers
WHERE CustomerName ='Ardifo' ")
## [1] 1
Mengubah isi data
dbExecute(new_con,"UPDATE Customers
SET ContactName = 'Alfed Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1")
## [1] 1
dbDisconnect(new_con)
Refrensi: https://www.hostinger.co.id/tutorial/sqlite-vs-mysql | https://www.nesabamedia.com/pengertian-mariadb/ | https://rpubs.com/dsciencelabs/dbs2