Você está na página 1de 6

Figura 1 – menu e tabelas em branco

Fonte : o autor

Figura 2 – inserindo alunos ao BD

Fonte : o autor

O registro ocorre tanto na tabela Aluno quanto nas tabelas Conceito e Nota. o programa faz o
cálculo da média e já mostra como resultado o conceito do aluno.
Figura 3 – Tabelas com registros
Fonte : o autor

Ao usar a função deletar o programa também irá deletar o aluno de todas as tabelas
Figura 4 – função deletar

Fonte : o autor
Codigo 1 – funções select
import time
import sqlite3
from sqlite3 import Error

def conexaoDB():
conexao = None
try:
conexao = sqlite3.connect('CadastroAlunos.db')
except Error as erro:
print(f'Erro de conexão: {erro}')
return conexao

retornoconexao = conexaoDB()

# função insert/delet/update

def query(conexao, sql):


try:
c = conexao.cursor()
c.execute(sql)
conexao.commit()
print('operação realizada com sucesso!')
except Error as erro:
print(f'ocorreu um problema na função:{erro}')

# função select

def consultar(conexao, sql):


conexaoC = conexao.cursor()
conexaoC.execute(sql)
resultado = conexaoC.fetchall()
return resultado

# função de mensagem

def mensagem():
print('-' * 40)
time.sleep(1)
print('bem vindo!')
print('Nessa versão do programa será possivel salvar dados dos
alunos em um banco de dados')
time.sleep(1)
print('-' * 40)

# função menu

def Menu():
print('1 - Inserir Aluno(a)')
print('2 - deletar Aluno(a)')
#print('3 - atualizar (ID/nome/matricula/curso) do Aluno(a)')
print('3 - consultar todos os alunos')
print('4 - consultar registros por nome')
print('5 - alunos com IDS iguais')
print('6 - sair do programa')

# função inserir

def inserirDados():
print('Aqui você irá inserir os dados dos seus alunos!')
print('-'*40)
try:
ID = input('informe um ID para o aluno: ')
matricula = input('Informe a matricula do aluno(a): ')
nome = input('informe o nome do aluno(a): ').title()
curso = input('informe o curso do aluno(a): ')
comandoSQL = "INSERT INTO Aluno(ID, Matricula, Nome, Curso)
VALUES ('"+ID+"', '"+matricula+"', '"+nome+"', '"+curso+"');"
except Error as erro:
print(erro)
# chamando função query
query(retornoconexao, comandoSQL)
try:
AV1 = input('informe a nota da AV1: ')
AV2 = input('informe a nota da AV2: ')
av1int = float(AV1)
av2int = float(AV2)
media = ((av1int + av2int) / 2)
comandoSQL = "INSERT INTO Notas(ID, AV1, AV2) VALUES
('"+ID+"', '"+AV1+"', '"+AV2+"');"
except Error as erro:
print(erro)
query(retornoconexao, comandoSQL)
try:
if media <= 4.9:
print('status: reprovado')
comandoSQL2 = "INSERT INTO Conceito(ID, Reprovado) VALUES
('"+ID+"', 'REP')"
query(retornoconexao, comandoSQL2)
elif 5.0 <= media <= 5.9:
print('Status: Recuperação')
comandoSQL3 = "INSERT INTO Conceito(ID, Recuperacao)
VALUES ('"+ID+"','REC')"
query(retornoconexao, comandoSQL3)
else:
print('Status: Aprovado')
comandoSQL4 = "INSERT INTO Conceito(ID, Aprovado) VALUES
('"+ID+"','APR')"
query(retornoconexao, comandoSQL4)
except Error as erro:
print(f'Erro ao inserir conceito: {erro}')

def deletar():
try:
ID = input('informe o ID do registro a ser deletado: ')
comando = "DELETE FROM Aluno WHERE(ID='" + ID + "')"
comando2 = "DELETE FROM Notas WHERE(ID='" + ID + "')"
comando3 = "DELETE FROM Conceito WHERE(ID='" + ID + "')"
query(retornoconexao, comando)
query(retornoconexao, comando2)
query(retornoconexao, comando3)
except Error as erro:
print(f'erro ao deletar: {erro}')
# função atualizar

'''def atualizar():
alterar = input('informe o ID do aluno ser alterado: ')
resultado = consultar(retornoconexao, "SELECT * FROM Aluno WHERE
ID='" + alterar + "'")
resultNome = resultado[0][1]
resultMatricula= resultado[0][2]
resultCurso = resultado[0][3]
nome = input('alterar nome: ')
matricula = input('Alterar matricula: ')
curso = input('alterar curso: ')
if len(nome) == 0:
nome = resultNome
if len(matricula) == 0:
telefone = resultMatricula
if len(curso) == 0:
email = resultCurso
sql = "UPDATE Aluno SET Nome='" + nome + "', Matricula='" +
matricula + "', Curso='" + curso + "'"
query(retornoconexao, sql)'''

# função consulta

def consulta():
comando1 = "SELECT * FROM Aluno, Notas, Conceito"
resultado = consultar(retornoconexao, comando1)
limite = 10
contador = 0
for i in resultado:
print("-" * 40)
print(f'ID: {i[0]}\nNome: {i[1]}\nMatricula: {i[2]}\nCurso:
{i[3]}\nAV1:{i[5]}\nAV2:{i[6]}\nConceito:{i[8]} | {i[9]} | {i[10]}')
contador += 1
if contador >= limite:
contador = 0
print('FIM!')

# função consultar por nome

def consultaNome():
nome = input('informe o nome do aluno que você deseja consultar:
')
comando1 = "SELECT * FROM Aluno, Notas, Conceito WHERE Nome LIKE
'%"+nome+"%'"
resultado = consultar(retornoconexao, comando1)
contador = 0
limite = 10
for i in resultado:
print("-" * 40)
print(f'ID: {i[0]}\nNome: {i[1]}\nMatricula: {i[2]}\nCurso:
{i[3]}\nAV1:{i[5]}\nAV2:{i[6]}\nConceito:{i[8]} | {i[9]} | {i[10]}')
contador += 1
if contador >= limite:
contador = 0
print('FIM!')
# função selecionar ID

def SelecionarID():
comando1 = "SELECT a.ID, b.ID FROM Aluno as A LEFT JOIN Notas as B
on a.ID = b.ID"
resultado = consultar(retornoconexao, comando1)
for i in resultado:
print("-" * 40)
print(f'o aluno ID: {i[0]} possui o ID igual nas tabelas Aluno
e Nota {resultado}')

# chamando funções e menu

opcao = 0
while opcao != 6:
print(mensagem())
print('-' * 40)
time.sleep(1)
print(Menu())
print('-' * 40)
opcao = int(input('Digite a opção escolhida: '))
if opcao == 1:
inserirDados()
elif opcao == 2:
deletar()
elif opcao == 3:
consulta()
elif opcao == 4:
consultaNome()
elif opcao == 5:
SelecionarID()
elif opcao == 6:
print('Programa finalizado')
else:
print('Ops! Opção invalida')

# fechando conexão

retornoconexao.close()

Fonte : o autor

Você também pode gostar