Предположим, у меня есть таблица супертипов со многими таблицами подтипов. Я заинтересован в их создании disjoint подтипов в том, что таблица супертипов указывает только на одну из возможных таблиц подтипов на строку. В Интернете я столкнулся с описаниями дискриминатора подтипа, который является новым столбцом, помещенным в таблицу супертипов, которая представляет собой небольшой код (обычно символ), который идентифицирует, к какому подтипу принадлежит строка.Как используется дискриминатор подтипа?
Я не нашел реальных примеров этого на практике. Если бы я работал на C#, я бы предположил, что вы запрашиваете столбец дискриминатора подтипа таблицы, а затем протестируйте против некоторого списка key-> value ([sub type discinator] -> subtype_table_name), чтобы создать правильный SQL для присоединения к правильной таблице?
Или, для этой цели уже существует синтаксис запроса/SQL-запроса на SQL Server?
В принципе, мне интересно, на каком уровне я должен фактически выполнять логику, чтобы сделать дискриминатор полезным.
Спасибо, я попробую ответить позже. Я оставлю вопрос открытым дольше, чтобы узнать, есть ли кто-либо еще. – user17753
Я пробовал это на некоторых фиктивных БД в sql server 2005. Казалось, он работает нормально, но не совсем уверен, что вы имеете в виду не гарантированную часть. – user17753
Я делал заявление о производительности. Я надеялся, что запрос, который я разместил, будет иметь доступ только к Root и соответствующему ребенку во время выполнения (в отличие от простого доступа ко всем таблицам). – usr