def crear_notas(self): create_table_query = ''' CREATE TABLE IF NOT EXISTS notas( id_nota SERIAL PRIMARY KEY NOT NULL, id_alumno INT NOT NULL, id_malla INT NOT NULL, nota INT NOT NULL, CONSTRAINT fk_alumno FOREIGN KEY (id_alumno) REFERENCES alumno(alumno_id), CONSTRAINT fk_malla FOREIGN KEY (id_malla) REFERENCES malla_curricular(id_malla) ); ''' conn.ejecutar_sentencia(create_table_query) conn.commit() conn = Conexion('sistema_colegio') database = Database(conn) database.crear_profesor() database.crear_alumno() database.crear_salon() database.crear_periodo_escolar() database.crear_curso() database.crear_profesor_curso() database.crear_malla_curricular() database.crear_notas() conn.close_connection()
def mostrar_alumno(self): id_alumno = input_data("Ingrese el ID del alumno que esta buscando>> ") alumno = self.alumno.obtener_alumno({'id_alumno': id_alumno}) print( print_table(alumno, [ 'ID', 'Nombres', 'Códgo', 'Salón', 'id_periodo_1', 'id_periodo_2', 'id_periodo_3', 'id_periodo_4' ])) if alumno: menu = ["1° Bimestre", "2° Bimestre", "3° Bimestre", "4° Bimestre"] bimestre = Menu(menu).show() if bimestre == 1: periodo = 'periodo_nota1' bim = "Primer Bimestre" elif bimestre == 2: periodo = 'periodo_nota2' bim = "Segundo Bimestre" elif bimestre == 3: periodo = 'periodo_nota3' bim = "Tercer Bimestre" elif bimestre == 4: periodo = 'periodo_nota4' bim = "Cuarto Bimestre" try: conn = Conexion(periodo) query = ''' DROP TABLE IF EXISTS notas_bimestre; ''' conn.ejecutar_sentencia(query) except Exception as e: print(f'{str(e)}') try: conn = Conexion(periodo) query = ''' CREATE TABLE IF NOT EXISTS notas_bimestre( id_notas_bimestre SERIAL PRIMARY KEY NOT NULL, nombre varchar(50) NOT NULL, codigo varchar(50) NOT NULL, salon varchar(50) NOT NULL, matematica decimal, religion decimal, comunicacion decimal, ingles decimal, historia decimal, promedio decimal ); ''' conn.ejecutar_sentencia(query) except Exception as e: print(f'{str(e)}') try: conn = Conexion(periodo) query = f''' INSERT INTO notas_bimestre(nombre, codigo, salon, matematica, religion, comunicacion, ingles, historia, promedio) SELECT nombre, codigo, salon, matematica, religion, comunicacion, ingles, historia, promedio FROM alumnos INNER JOIN {periodo} on alumnos.id_{periodo} = {periodo}.id_{periodo} WHERE alumnos.id_alumno={id_alumno} ''' cursor = conn.execute_query(query) conn.commit() except Exception as e: print(f'{str(e)}') finally: conn.close_connection() notas_bimestre = Notas_bimestre() print(f''' ====================================================== Notas del alumno {alumno[1]} en el {bim} ======================================================= ''') notas = self.notas_bimestre.obtener_notas_bimestre( 'id_notas_bimestre') print( print_table(notas, [ 'ID', 'Nombre', 'Códgo', 'Salón', 'Matemática', 'Religión', 'Comunicación', 'Inglés', 'Historia', 'Promedio' ])) input("\nPresione una tecla para continuar...")