Почему SQL Server не поддерживает ограничения внешнего ключа для представлений?

12

Я знаю, что SQL Server не поддерживает использование представления в качестве ссылки для ограничения внешнего ключа, есть ли причина (то есть что-то связанное с реляционной моделью), это так? Кажется, это было бы полезно ....

jmoreno
источник
3
Я задал связанный вопрос (не почему, но как это можно сделать другими способами): существуют ли СУБД, которые допускают внешний ключ, который ссылается на представление (и не только базовые таблицы)? Вероятно, это связано со сложностью реализации такой функции. Реляционная модель подходит для такой концепции.
ypercubeᵀᴹ

Ответы:

13

В этом нет фундаментальной проблемы, поскольку таблицы и представления являются переменными отношения в реляционной модели. Ограничения внешнего ключа - это просто особый подкласс общих ограничений, которые стандарт SQL использует с использованием, CREATE ASSERTIONпоэтому особых проблем с языком SQL также нет.

Согласно этому элементу Connect (больше не доступен и не архивирован), это просто вопрос расстановки приоритетов. Если вы сочтете эту функцию полезной, проголосуйте за элемент и, в частности, добавьте подробности своего варианта использования в комментарии.

Пол Уайт 9
источник