# Grupo Gabriel Big Data ## Componentes do Projeto ## Nome Do Projeto **Analise Sobre a Distribuição da Vacina** ## Descrição do Projeto **Projeto sobre análise do impacto ocorrido pelas vacinas e suas distribuições por um determinado periodo, Demonstando quais foram as vacinas utilizadas por região.** ### Diagrama arquitetural do Funcionamento do Projeto ![image](https://hackmd.io/_uploads/rk1arbUJR.png) ## Diagrama de Classes ![image](https://hackmd.io/_uploads/H1BE8MUJA.png) ## Programação em Camadas Python com Banco de Dados ### Parte do Fonte Do Projeto ### Impotação do framework ```cmd= pip install mysql-connector-python pip install pandas openpyxl ``` model __init__.py pessoas.py repository __init__.py pessoas_repository.py ```python= class Pessoa: def __init__(self,id=None,nome=None,anoNascimento=None,municipio=None, bairro=None, estado=None): self.id= id self.nome = nome self.anoNascimento = anoNascimento self.municipio = municipio self.bairro = bairro self.estado = estado def toString(self): return f"{self.nome},{self.anoNascimento},{self.municipio},{self.bairro}, {self.estado}" ``` ```python= class PessoaRepository: def __init__(self,conexao): self.conexao = conexao self.cursor = conexao.cursor() def inserir_um(self, pessoa): self.cursor.execute(''' insert into pessoas(nome,anoNascimento, municipio, bairro, estado) values (%s, %s, %s, %s, %s) ''', (pessoa.nome, pessoa.anoNascimento, pessoa.municipio, pessoa.bairro, pessoa.estado)) self.conexao.commit() return self.cursor.lastrowid def buscar_todos(self): self.cursor.execute('select * from pessoas') resultados = self.cursor.fetchall() return [Pessoa(id=row[0], nome=row[1], anoNascimento=row[2],municipio=row[3], bairro=row[4], estado=row[5]) for row in resultados] def fechar(self): self.cursor.close() self.conexao.close() ``` ## Instalando ```= pip install mysql-connector-python pip install pandas openpyxl ``` ## Resultado Final ```python= class Pessoa: def __init__(self,id=None,nome=None,anoNascimento=None,municipio=None, bairro=None, estado=None): self.id= id self.nome = nome self.anoNascimento = anoNascimento self.municipio = municipio self.bairro = bairro self.estado = estado def toString(self): return f"{self.nome},{self.anoNascimento},{self.municipio},{self.bairro}, {self.estado}" def __str__(self): return f"{self.id},{self.nome},{self.anoNascimento},{self.municipio},{self.bairro}, {self.estado}" ``` ```python= import mysql.connector from model.pessoa import Pessoa class PessoaRepository: def __init__(self,conexao): self.conexao = conexao self.cursor = conexao.cursor() def inserir_um(self, pessoa): self.cursor.execute(''' insert into pessoas(nome,anoNascimento, municipio, bairro, estado) values (%s, %s, %s, %s, %s) ''', (pessoa.nome, pessoa.anoNascimento, pessoa.municipio, pessoa.bairro, pessoa.estado)) self.conexao.commit() return self.cursor.lastrowid def buscar_todos(self): self.cursor.execute('select * from pessoas') resultados = self.cursor.fetchall() return [Pessoa(id=row[0], nome=row[1], anoNascimento=row[2],municipio=row[3], bairro=row[4], estado=row[5]) for row in resultados] def fechar(self): self.cursor.close() self.conexao.close() ``` ```python= import mysql.connector from model.pessoa import Pessoa from repository.pessoa_repository import PessoaRepository conexao = mysql.connector.connect( host='localhost', port='3306', user='root', passwd='root1', database='bigsaude' ) if __name__ == '__main__': repo = PessoaRepository(conexao) pessoa = Pessoa(nome='jose',anoNascimento=1980,municipio='Nova Iguacu',bairro='miguel couto', estado="rj") # repo.inserir_um(pessoa) #imprime todos que estão gravados pessoas=[] pessoas= repo.buscar_todos() for pessoa in pessoas: print(pessoa) repo.fechar() print("fim da gravacao") ```