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.