Использование пользовательского типа в качестве первичного ключа
Предположим, у меня есть система, где у меня есть метаданные, такие как:
table:
======
key
name
address
...
Тогда предположим, что у меня есть пользовательский тип, описанный так:
datasource
datasource-key
А) Существуют ли системы, где можно иметь ключи на основе пользовательских типов?
Б) если да, как вы раскладываете ключи в форму, подходящую для запросов?
C) это тот случай, когда мне просто лучше с составным первичным ключом?
1 ответ
Решение
Используйте составной первичный ключ, если это то, что говорит модель
- если вам нужно разбить на компоненты для запроса, то вы уже убили производительность
- любой непрозрачный пользовательский тип может давать ложные дубликаты, потому что 2 разных входа могут давать один и тот же вывод
Я не пробовал, но SQL Server, вероятно, позволит это. Тем не менее, первичный ключ является индексом, поэтому он не может, определенно нет, если тип пользователя не является ни детерминированным, ни привязанным к схеме
Хотя, я думаю, что я смешиваю типы и udfs в своем мышлении...