Использование пользовательского типа в качестве первичного ключа - PullRequest
1 голос
/ 16 марта 2010

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

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

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

datasource 
datasource-key 

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

1 Ответ

2 голосов
/ 16 марта 2010

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

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

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

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

...