Skip to content

Script responsável por realizar a carga no banco relacional com PostgreSQL

License

Notifications You must be signed in to change notification settings

MatMB115/script_carga_igdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub language count Repository size GitHub last commit Database License Stargazers

IGDB-logo

Python

Script de carga para API do IGDB

Script em python formulado para realizar a carga no banco de dados relacional com PostgreSQL e utilizando ORM SQLAlchemy.


Sobre

Conforme as orientações para realização da parte 1 do trabalho da disciplina de Banco de Dados II da Universidade Federal de Itajubá, a equipe desenvolveu um script responsável por realizar a carga nas tabelas do banco. O MER utilizado está presente na Figura abaixo e os códigos SQL para criação do banco na pasta SQL.

As orientações estão divididas nos seguintes tópicos:


To Do ⚙️

  • Etapa 1
    • Escolher API
  • Etapa 2
    • Estudar os Dados da API
    • Gerar Modelo Entidade Relacionamento
    • Implementar Banco de Dados
  • Etapa 3
    • Criar script
    • Inserir Plataformas
    • Inserir Gêneros
    • Inserir Companhias
    • Inserir Modos de Jogo
    • Inserir Jogos
    • Inserir Personagens
    • Criar índices
      • Data de Lançamento Jogos
      • Relacionamento Plataforma e Games
      • Relacionamento Gênero e Games
      • Relacionamneto Modo de Jogo e Games
    • Funções
      • Count das tabelas
  • Etapa 4
    • Testar com JMeter
    • Documentação da parte um
    • Vídeo explicativo

Banco de dados 🪑 🎲

A aplicação utiliza um banco relacional presente no modelo entidade relacionamento abaixo: MER_IGDB

Para realizar a conexão com o banco utilizou-se:

PostgreSQL - 15.2

PGadmin4 - 7.2

SQLAlchemy - 1.4.48

Ademais, o grupo também disponibilizou backups do banco conforme a quantidade de dados inseridos na pasta Backups. Os backups disponíveis são:

  • 230K de jogos
  • 60K de jogos

Pré-requisitos e configuração 🛠️

No geral, para executar a aplicação é recomendado que o sistema já possua:

> Python 3.11

Para executar esse script é necessário:

# Criar o banco com nome IGDB para realizar a carga

# Clone este repositório com
$ git clone https://github.com/MatMB115/script_carga_igdb
# OU
$ git clone git@github.com:MatMB115/script_carga_igdb.git

# Navegue até o diretório clonado com terminal

$ cd script_carga_igdb
$ cd script

# Instale as dependências
$ pip install -r reqs.txt

# Abra script no Vscode ou editor de preferência
$ code .

# No DAO, mude as credenciais de acesso do banco (lembre-se de criar um banco com o nome IGDB pelo SGDB)
$ engine = create_engine("postgresql+psycopg2://postgres:postgres@localhost:5432/IGDB")

# Rode o script pelo terminal
$ py controller.py
# OU
$ python3 controller.py

# Lembre-se de gerar o Token Twitch (opção 1 do menu) antes de tentar popular as tabelas!
# Há ums ordem correta identificada no menu para popular elas!

Tecnologias 🧑‍💻

O ponto de início deste projeto foi um ambiente Python, as dependências utilizadas estão presentes no 'reqs.txt'. 

Dependências:

-> Python 3.11
- SQLAlchemy 2.3
- psycopg2 2.9.6
- iso3166 2.1.1
- annotated-types 0.5
- igdb-api-v4 0.2
- protobuf 4.23.2
- sqlacodegen 3.0.0rc2

Banco de Dados:

-> PostgreSQL
- pgAdmin4 7.0
- BRmodelo

Utilitários:

-> Dev
- Visual Studio Code 1.78

Contribuidores


Matheus Martins

🧑‍💻

About

Script responsável por realizar a carga no banco relacional com PostgreSQL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published