SQLite é um banco de dados SQL gratuito para utilização local (desktop). Como o próprio nome (lite) diz, ele é muito leve e fácil de usar, seja diretamente na linha de comando ou usando uma GUI como a SQLite Studio.
Neste post mostro como conectar uma base de dados do SQLite usando os pacotes DBI e RSQLite.
# Primeiramente instale os pacotes (caso você ainda não os tenha) com o comando install.packages:
# install.packages('DBI')
# install.packages('RSQLite')
# Depois é só carregá-los:
library(DBI)
library(RSQLite)
O pacote DBI funciona para conexões com vários banco de dados (MySQL, PostgreSQL e outros), porém ele necessita do drive específico para o banco de dados que você está utilizando, o que é fornecido pelo RQSLite.
Como a conexão do banco de dados SQLite é local, é necessário especificar o local do banco de dados.
caminho <- 'C:/Users/eron0/db/homedb.db'
Então é criado uma conexão que usará o RSQLite como driver, usando o commando dbConnect()
con <- dbConnect(SQLite(),
dbname = caminho )
Pronto! O banco de dados está conectado. Há várias funções que podem ser utilizadas tanto para leitura quando para gravação no banco.
Para uma leitura de dados que serão utilizados para análise, pode-se utilizar o dbReadTable() para ler uma tabela chamada data_table, e em seguida vemos as primeiras linhas.
x <- dbReadTable(con, name = 'data_table')
head(x[,1:5])
## user_id full_name process_name process_id leader_id ## 1 1 Zina Reinhold COBRANÇA 11 268 ## 2 1 Zina Reinhold COBRANÇA 11 268 ## 3 1 Zina Reinhold COBRANÇA 11 268 ## 4 1 Zina Reinhold COBRANÇA 11 268 ## 5 1 Zina Reinhold COBRANÇA 11 268 ## 6 1 Zina Reinhold COBRANÇA 11 268
O pacote DBI também admite uso dos comandos SQL para fazer as queries com a função dbSendQuery().
y <- dbSendQuery(con, "SELECT * FROM data_table WHERE user_id = 10")
dbFetch(y, 5)
## user_id full_name process_name process_id leader_id leader_name ## 1 10 Alanzo Fernand COBRANÇA 11 268 Braylen Juliann ## 2 10 Alanzo Fernand COBRANÇA 11 268 Braylen Juliann ## 3 10 Alanzo Fernand COBRANÇA 11 268 Braylen Juliann ## 4 10 Alanzo Fernand COBRANÇA 11 268 Braylen Juliann ## 5 10 Alanzo Fernand COBRANÇA 11 268 Braylen Juliann ## time_stamp kpi_name kpi_result kpi_id kpi_type year_ref month_ref ## 1 2018-07-14 09:46:40 % Recuperado 0.533288564124015 1 Numérico 2018 7 ## 2 2018-07-25 10:13:20 % Recuperado 0.992289546805205 1 Numérico 2018 7 ## 3 2018-07-28 06:13:20 % Recuperado 1 1 Numérico 2018 7 ## 4 2018-08-07 23:06:40 % Recuperado 0.470217440579712 1 Numérico 2018 8 ## 5 2018-08-15 04:53:20 % Recuperado 0.289438049463574 1 Numérico 2018 8 ## data_id ## 1 1367 ## 2 1368 ## 3 1369 ## 4 1370 ## 5 1371
E para finalizar é sempre necessário desconectar o banco de dados
dbDisconnect(con)
## Warning in connection_release(conn@ptr): There are 1 result in use. The connection will be ## released when they are closed
Todos os comandos e documentação estão disponíveis no site do RStudio.