У меня есть две таблицы, которые моделируют отношения наследования. Это выражается ограничением внешнего ключа на Derived.Id
, ссылающимся на Base.Id
. Некоторые столбцы в Base
по существу дублируются в Derived
, поэтому они могут ссылаться на уникальные ограничения и сложные внешние ключи. Я бы хотел, чтобы значения для этих столбцов были одинаковыми в обеих таблицах. В идеале это будет сделано с помощью сложного внешнего ключа на Id
+ столбце. Но это предотвращает изменение значений - это сценарий catch-22.Дублирующие столбцы в модели наследования
Как я могу обеспечить, чтобы эти столбцы имели одинаковые значения в обеих таблицах и позволяют им обновляться? У меня есть полная гибкость, поэтому я могу изменить схемы таблиц или сделать все, что нужно, чтобы сделать это возможным.
В качестве примера у всех 'Base' есть' Category'. Но 'Category' должен находиться в' Derived', чтобы установить уникальное ограничение на 'Category' +' Name' (которое находится только в 'Derived'). Что касается каскадных обновлений, к сожалению, это не соответствует требованиям ORM, которые я должен использовать. – Daniel
Когда я делал подобное в прошлом, у меня только что была категория в базовой таблице и у меня было уникальное ограничение на поле имени, так как производная таблица содержала только одну категорию, так как каждая категория имела разные столбцы. – Beth
Фактически, если каждая производная категория имеет имя (или что-то еще), вы можете сохранить это в базовой таблице. – Beth