Script em python formulado para realizar a carga no banco de dados relacional com PostgreSQL e utilizando ORM SQLAlchemy.
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:
- 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
A aplicação utiliza um banco relacional presente no modelo entidade relacionamento abaixo:
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
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!
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
Matheus Martins 🧑💻 |