Должен ли подтип / супертип использоваться в базах данных? - PullRequest
0 голосов
/ 02 октября 2011

У меня есть таблица комментариев для блогов, статей, профилей. Таблица комментариев может быть супертипом, а comments_blog, comments_article, comments_profile могут быть подтипами.

Следует ли использовать супертип / подтип в дизайне базы данных, так как он является объектно-ориентированным дизайном или должен иметь 3 разные таблицы?

1 Ответ

1 голос
/ 02 октября 2011

это зависит от деталей.Есть аргументы для каждого подхода.По сути, чем больше данных распределяется между таблицами, тем больше смысла в том, чтобы «нормализовать» данные и использовать «супертип / подтип», как вы выразились.Обратите внимание, что если вы воспользуетесь этим подходом, ваш sql может стать довольно сложным, и вам придется объединять таблицы.

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

...