Codermania MySQL triggerdan bahsediyorum: https://dev.mysql.com/doc/refman/8.4/en/trigger-syntax.html
Mesela pivot tablonuz ratings olsun:
+---------+---------+--------+
| user_id | film_id | rating |
+---------+---------+--------+
|       1 |       1 |      8 |
+---------+---------+--------+
Özet tablonuz da ratings_summary olsun
+---------+------------+------------+
| film_id | vote_count | avg_rating |
+---------+------------+------------+
|       1 |        134 |        7.5 |
+---------+------------+------------+
DELIMITER //
CREATE TRIGGER after_insert_rating AFTER INSERT ON ratings FOR EACH ROW
BEGIN
    DECLARE new_vote_count INT;
    DECLARE new_avg_rating DECIMAL(5,2);
    
    -- Yeni eklenen film için oy sayısı ve ortalama puanı hesapla
    SELECT COUNT(*), AVG(rating) INTO new_vote_count, new_avg_rating FROM ratings
    WHERE film_id = NEW.film_id;
    
    -- Eğer ilgili film için summary kaydı varsa güncelle, yoksa ekle
    INSERT INTO ratings_summary (film_id, vote_count, avg_rating)
      VALUES (NEW.film_id, new_vote_count, new_avg_rating)
      ON DUPLICATE KEY UPDATE vote_count = new_vote_count, avg_rating = new_avg_rating;
END;
//
DELIMITER ;
Artık ratings tablosunda bir değişiklik olduğunda ratings_summary otomatik güncellenecek. Sonra mesela filmleri oylamalar ile birlikte almak isterseniz:
SELECT f.id, f.title, rs.avg_rating, rs.vote_count
FROM films AS f
LEFT JOIN ratings_summary AS rs ON f.id = rs.film_id;