Я бы рекомендовал во первых ввести заголовок. Скажем история выглядит примерно так
25.02.2015 Начислено 50 баллов за
взрыв вертолета
То полностью сохраняем заголовок (можно параметризованный). История возможно многим захочется посмотреть, а вот перейти на ссылающийся объект куда меньшему числу,
Очки я бы суммировал в отдельной таблице в профиле пользователя, лучше потратить лишнее время при инсерте, чем 100500 раз суммировать.
Ну и в принципе можно еще извернутся и сделать основную таблицу, и ее потомков под каждый table_name.
Тогда можно сделать скажем insert into scores_by_lessons, select * from scores by_lessons
ну и в любой момент select * from scores для общего журнала. Тут уже вопрос предпочтений)