Normalização do banco de dados - quem está certo?

Meu professor (que afirmou ter um firme entendimento sobre o desenvolvimento de sistemas por muitos anos) e eu estamos discutindo sobre o design do nosso banco de dados.

Por exemplo: meu professor insiste que esse design está correto: (lista de colunas)

Subject_ID
Description
Units_Lec
Units_Lab
Total_Units

etc ...

Observe a coluna total de unidades. Ele disse que esta coluna deve ser incluída. Eu tentei explicar que é desnecessário, porque se você quiser, basta fazer uma consulta simplesmente adicionando os dois.

Mostrei-lhe um exemplo que encontrei em um livro, mas ele insiste que não preciso depender muito de livros para criar nosso sistema. O mesmo se aplica a casos semelhantes como este:

student_ID
prelim_grade
midterm_grade
prefinal_grade
average

ect ...

Ele queria que eu incluísse a média! Em qualquer lugar que eu vá, eu me vejo lendo artigos que me convencem de que isso é uma violação da normalização. Se eu precisasse da média, posso facilmente calcular as três notas. Ele enumerou alguns cenários, incluindo ("Hey! E se a consulta foi acidentalmente excluída? O que você vai fazer? É por isso que você precisa incluí-lo em sua mesa!")

Preciso reconstruir meu banco de dados (que consiste em mais de 40 tabelas) para cumprir o que ele quer? Estou errado e apenas negligenciei essas coisas?

EDITAR:

Outra coisa é que ele queria incluir o montante total na tabela de pagamentos, o que eu acredito ser desnecessário (basta calcular o preço unitário do produto e a quantidade). Ele apontou que precisamos dessa coluna para computar débitos e / ou créditos que são críticos para o gerenciamento geral do sistema, que é necessário para balancear transações. Por favor diga-me o que você pensa.

questionAnswers(7)

yourAnswerToTheQuestion