04/04/2006

fazer a soma de 3 campos dividir e obter somente 1 resultado

Olá, amigos do forum!


Estou com um problema, tenho um sistema escolar e o meu cliente mim pediu o seguinte:

no boletim onde tenho várias disciplinas, existe as disciplinas:
PORTUGUÊS - GRAMÁTICA Média = 8.5 (exemplo)
PORTUGUÊS - TEXTO - REDAÇÃO Média = 10.0 (exemplo)
... segue outras disciplinas

o meu cliente mim pede que eu some as médias somentes destas duas disciplinas divida e obtenha uma unica média com o nome de PORTUGUÊS.

Sobre fazer esta soma e dividir seja lá por 2 ou 3 e sei fazer o PROBLEMA é:

como faço para identificar somente estas disciplinas que devo fazer estes calculos?

ramos


Erivando

Respostas

04/04/2006

Rjun

Talvez você poderia ter uma entidade chamada DISCIPLINA e outra chamada MATERIA que teria uma chave estrangeira apontando para DISCIPLINA.

DISCIPLINA
DisciplianaId
Nome

MATERIA
MateriaId
DisciplinaId
Nota

A nota da DISCIPLINA será a média das notas da MATERIA. Acho que dá pra ir por esse caminho.

[b:f78fc3133f]
MIM PEDE? MIM PEDIU?
[/b:f78fc3133f]


Responder Citar

04/04/2006

Erivando

Talvez você poderia ter uma entidade chamada DISCIPLINA e outra chamada MATERIA que teria uma chave estrangeira apontando para DISCIPLINA. DISCIPLINA DisciplianaId Nome MATERIA MateriaId DisciplinaId Nota A nota da DISCIPLINA será a média das notas da MATERIA. Acho que dá pra ir por esse caminho. [b:b53c14dc42] MIM PEDE? MIM PEDIU? [/b:b53c14dc42]



eu já tenho no meu banco IB as duas tabelas com as estruturas abaixo:
dar certo?

TABLE ´MATERIAS´ ´COD_MATE´´CODIGO´, ´DISCIPLINA´´DISCIPLINA´, ´LDB´VARCHAR(3), PRIMARY KEY (´COD_MATE´) TABLE ´NOTAS´ ´COD_NOTA´´CODIGO´, ´COD_BOLE´´CODIGO´, ´MATRICULA´´MATRICULA´, ´ANO_LETIVO´´ANO´, ´DISCIPLINA´´DISCIPLINA´, ´ETAPA_1_MAR´´NOTA´, ´ETAPA_1_ABR´´NOTA´, ´ETAPA_1_M´´NOTA´, ´ETAPA_1_R´´NOTA´, ´ETAPA_2_MAI´´NOTA´, ´ETAPA_2_JUN´´NOTA´, ´ETAPA_2_M´´NOTA´, ´ETAPA_2_R´´NOTA´, ´ETAPA_3_AGO´´NOTA´, ´ETAPA_3_SET´´NOTA´, ´ETAPA_3_M´´NOTA´, ´ETAPA_3_R´´NOTA´, ´ETAPA_4_OUT´´NOTA´, ´ETAPA_4_NOV´´NOTA´, ´ETAPA_4_M´´NOTA´, ´ETAPA_4_R´´NOTA´, ´PROVAO´´NOTA´, ´PROVAO_R´´NOTA´, ´MEDIA_FINAL´´NOTA´, ´FALTAS´INTEGER, ´PONTOS´VARCHAR(4), ´RESULTADO_FINAL´VARCHAR(9), ´RESULTADO_INTERNO´VARCHAR(1), ´SERIE´´SERIE´, ´TURMA´´TURMA´, ´TURNO´´TURNO´, PRIMARY KEY (´COD_NOTA´)



Responder Citar

04/04/2006

Rjun

Se você tem materias que podem ter mais de uma nota, então você deveria ter uma subdivisão dessas materias, por exemplo, como eu sugeri. Tendo uma tabela Materias e outra Disciplinas. Outra coisa, não acho muito bom você ter campos notas para cada mês. Outra vez você poderia ter uma tabela contendo o Mês, Tipo da Nota e a Nota.


Responder Citar