Использование пользовательского типа в качестве первичного ключа

Предположим, у меня есть система, где у меня есть метаданные, такие как:

table: 
====== 
   key 
   name 
   address 
   ... 

Тогда предположим, что у меня есть пользовательский тип, описанный так:

datasource 
datasource-key 

А) Существуют ли системы, где можно иметь ключи на основе пользовательских типов?
Б) если да, как вы раскладываете ключи в форму, подходящую для запросов?
C) это тот случай, когда мне просто лучше с составным первичным ключом?

1 ответ

Решение

Используйте составной первичный ключ, если это то, что говорит модель

  • если вам нужно разбить на компоненты для запроса, то вы уже убили производительность
  • любой непрозрачный пользовательский тип может давать ложные дубликаты, потому что 2 разных входа могут давать один и тот же вывод

Я не пробовал, но SQL Server, вероятно, позволит это. Тем не менее, первичный ключ является индексом, поэтому он не может, определенно нет, если тип пользователя не является ни детерминированным, ни привязанным к схеме

Хотя, я думаю, что я смешиваю типы и udfs в своем мышлении...

Другие вопросы по тегам