это зависит от деталей.Есть аргументы для каждого подхода.По сути, чем больше данных распределяется между таблицами, тем больше смысла в том, чтобы «нормализовать» данные и использовать «супертип / подтип», как вы выразились.Обратите внимание, что если вы воспользуетесь этим подходом, ваш sql может стать довольно сложным, и вам придется объединять таблицы.
Другой вариант - иметь одну таблицу и использовать простой столбец типа 'comment_type ', чтобы различать, если это блог, статья или профиль.Sql для этого подхода тоже был бы очень простым и его просто where comment_type = 'whatever'
.Обязательно индексируйте столбец 'comment_type'.Этот подход не имеет смысла, если столбцы в ваших таблицах сильно отличаются.