Implementação da base de dados e do sistema para o projeto de Auxilio a Dependentes Químicos e Moradores de Rua.
Este projeto é a parte 3 da disciplina de Base de Dados SCC0640.
Esta aplicação foi planejada para o seu funcionamente automatico em ambientes Linux.
Este projeto foi inicialmente desenvolvido por:
- Emanuel Lace Aranha - 11234224
- Felipe de Alcantara Tomé - 11800970
- Francisco Reis Nogueira - 11954374
- João Augusto Fernandes Barbosa - 11953348
É necessário estar no root
do projeto para os comandos abaixo funcionarem corretamente.
Também é necessário dar permissão para os scripts funcionarem. Para isso o comando abaixo deve ser executado.
sudo chmod +x scripts/*.sh
Este projeto utiliza do pacote Tkinter
e para isso é necessário instalar o pacote python3-tk
e o pacote psycopg2
utiliza do pacote libpq-dev
. Dessa forma, seguindo as instruções para instalar o primeiro e segundo pacote, basta executar o comando abaixo.
sudo apt install python-tk libpq-dev
Também é necessário instalar os pacotes python
que são utilizados na aplicação. Estes são instalados via o package manager
: pip
. Dessa forma, para instalar os pacotes basta executar o comando abaixo:
pip install -r requirements.txt
Para rodar a aplicação é necessário ter o docker
instalado no computador. A fim de automatizar essa instalação existe o script install_docker_ubuntu.sh. Executando o comando abaixo instala o docker
em ambintes Debian
.
sudo scripts/install_docker_ubuntu.sh
Após ter instalado o docker
é necessário rodar o script de criação do docker. Para isso basta executar o comando:
sudo scripts/install.sh
Com isso a aplicação deverá estar corretamente instalada e operando.
Os dados dos esquema da tabela se encontram na pasta data onde existe:
Estes dados são utilizados na criação do docker. Então o banco de dados é populado durante a criação do docker.
As consultas de complexidade média e alta que devem ser executadas se encontram no arquivo consultas.sql
Estas consultas podem ser executadas dentro da interface da aplicação.
Para iniciar o programa o comando abaixo deve ser executado:
python src/main.py
Com isso a tela inicial deve ser gerada:
Há 7 opções que podem ser escolhidas e as sessões abaixo descrevem como elas funcionam.
Essa funcionalidade mostra o nome, tipo e tamanho das colunas de uma tabela. A tabela pode ser escolhida com o dropDown
presente na interface e o resultado irá ser escrito no campo de texto, conforme mostra a figura abaixo:
Esta funcionalidade permite ao usuário rodar o SQL que deseja, como se fosse um QueryTool.
Esta funcionalidade roda todas as consultas que estão presentes no aquivo de consultas indicando a consulta que está sendo realizada e seu resultado.
Permite o cadastro de um novo funcionario de acordo com os campos da tabela funcionario.
Permite o cadastro de um nova empresa de acordo com os campos da tabela empresa.
Permite o cadastro de um novo centro de acordo com os campos da tabela centro.
Permite selecionar os dados das colunas especificas de cada tabela.
Com isso a parte 3 do trabalho de Base de dados é concluída.
Caso encontre algum erro abra um Issue
E caso deseje contribuir com alguma melhoria para o projeto abra um pull request