Самое простое решение, которое мне приходит в голову, это просто использовать ON DELETE CASCADE
с таблицей мостов NoteTagJoin
.Затем удаление заметок из таблицы Notes
приведет к удалению ассоциаций с тегами заметок, но ничего из таблицы Tags
не удалит.
Это оставляет проблему возможных висячих тегов, которые не связаны с какими-либозаметки.Но, возможно, вы могли бы запустить периодическую очистку, чтобы удалить их, или, возможно, кто-то будет управлять ими вручную (например, приложением).