Dlaczego SQL Server nie obsługuje ograniczeń klucza obcego dla widoków?

12

Wiem, że SQL Server nie obsługuje używania widoku jako odniesienia do ograniczenia klucza obcego, czy istnieje jakiś powód (tj. Coś wspólnego z modelem relacyjnym)? Wydaje się, że przydałoby się ...

jmoreno
źródło
3
Zadałem powiązane pytanie (nie dlaczego, ale jak można to zrobić na inne sposoby): Czy istnieją DBMS, które pozwalają na klucz obcy, który odwołuje się do widoku (a nie tylko tabele podstawowe)? Prawdopodobnie ma to związek ze złożonością implementacji takiej funkcji. Model relacyjny jest w porządku z taką koncepcją.
ypercubeᵀᴹ

Odpowiedzi:

13

Nie ma w tym podstawowego problemu, ponieważ zarówno tabele, jak i widoki są zmiennymi relacji w modelu relacyjnym. Ograniczenia klucza obcego są tylko szczególną podklasą ograniczeń ogólnych, których używa standardowy SQL, CREATE ASSERTIONwięc nie ma też szczególnych trudności w języku SQL.

Zgodnie z tym elementem Connect (nie jest już dostępny i nie jest archiwizowany) jest to po prostu kwestia priorytetów. Jeśli uznasz, że ta funkcja jest przydatna, głosuj na przedmiot, a w szczególności dodaj szczegółowe informacje na temat przypadku użycia w komentarzach.

Paul White 9
źródło