у меня есть база данных mysql
со следующими таблицами:Создание триггеров против взглядов
Penalties
Scores
player_instance
Когда штрафы обновляется/удален, то он будет обновлять оценки (через триггер). Также, когда строка player_instance
удаляется, то (через ON DELETE CASCADE
) связанная строка штрафов будет удалена. Проблема в том, что в mysql
ограничения внешнего ключа не активируют триггеры. Таким образом, когда player_instance
удаляется, он удаляет соответствующую строку штрафов, но не обновляет баллы.
Я думал о том, чтобы решить эту проблему:
Используйте базу данных, которая не поддерживает активации триггеры внешних ключей. таких как
PostgreSQL
. Насколько сложно мне изменить сценарий отmysql
доPostgreSQL
?Я мог бы заменить ограничения внешнего ключа триггерами (то есть
CREATE TRIGGER ON DELETE...
). Это должно означать, что когдаplayer_instance
будет удален, он приведет к удалениюPenalties
, который, в свою очередь, обновитScores
.Я мог полностью скомбинировать (что записывает счет в матче). Вместо этого я мог бы создать
VIEW
, который суммировал бы все очки в штрафных, чтобы получить счет в матче.
Это плохая идея для производительности или дизайна?
Любые мысли об этом, включая другие варианты, были бы замечательными.