i wouldn't, but you could
i would use views to produce totals grouped by semester and student
you said you had to save them, and of course you would save them in the appropriate record
but saving them means an update dependency -- if you add a new row to studentsemestercourse with credit points, then you have to re-calculate the average in studentsemester, and also student, whereas the averages in the view are correct at all times, since the view calculates them from the studentsemestercourse rows