Это действительно зависит от вашего варианта использования. Многие приложения для блогов используют теги с отношением «многие ко многим» вместо категорий с отношением «один ко многим», потому что более целесообразно рассматривать статью как связанную (возможно) со многими тегами, чем видеть статью как содержится "внутри категории.
Если логика вашего блога заключается в том, что статья строго содержится в категории, то отношение «один ко многим» оправдано. И в некоторых случаях каскадное удаление также будет оправдано. В конце концов, где бы вообще находились осиротевшие статьи.
Это просто тот случай, когда вы должны предвидеть интуицию своей базы пользователей. То, что они считают естественным.
Между прочим, это намного больше работы, но если бы это был я, я бы не делал каскадное удаление. Я бы пометил статьи как осиротевшие и скрыл их от большинства просмотров. Я также предоставил бы некоторый интерфейс для восстановления осиротевших статей. И я хотел бы рассмотреть вопрос о предоставлении сценария, который удаляет все, что осиротело в течение более чем некоторого периода времени. Таким образом, если вы ошиблись в том, что ожидали ваши пользователи, вы можете исправить проблему.