Por que o SQL Server não suporta restrições de chave estrangeira nos modos de exibição?

12

Eu sei que o SQL Server não oferece suporte ao uso de uma exibição como referência para uma restrição de chave estrangeira. Existe um motivo (isto é, algo a ver com o modelo relacional), esse é o caso? Parece que seria útil ....

jmoreno
fonte
3
Eu fiz uma pergunta relacionada (não o porquê, mas como isso poderia ser feito de outras maneiras): existem DBMS que permitem uma chave estrangeira que faz referência a uma exibição (e não apenas tabelas base)? Provavelmente tem a ver com a complexidade de implementar esse recurso. O modelo relacional está bem com esse conceito.
ypercubeᵀᴹ

Respostas:

13

Não há problema fundamental em fazer isso, pois tabelas e visualizações são variáveis ​​de relação no modelo relacional. As restrições de chave estrangeira são apenas uma subclasse específica de restrições gerais, que o SQL padrão implementa usando, CREATE ASSERTIONpara que também não haja dificuldade específica na linguagem SQL.

De acordo com este item do Connect (não está mais disponível e nem arquivado), é simplesmente uma questão de priorização. Se você achar esse recurso útil, vote no item e inclua particularmente detalhes do seu caso de uso nos comentários.

Paul White 9
fonte