Warum unterstützt SQL Server keine Fremdschlüsseleinschränkungen für Ansichten?

12

Ich weiß, dass SQL Server die Verwendung einer Ansicht als Referenz für eine Fremdschlüsseleinschränkung nicht unterstützt. Gibt es einen Grund (dh etwas, das mit dem relationalen Modell zu tun hat), warum dies der Fall ist? Es scheint, als wäre es nützlich ...

jmoreno
quelle
3
Ich habe eine verwandte Frage gestellt (nicht das Warum, sondern wie dies auf andere Weise geschehen könnte): Gibt es DBMS, die einen Fremdschlüssel zulassen, der auf eine Ansicht verweist (und nicht nur auf Basistabellen)? Dies hängt wahrscheinlich mit der Komplexität der Implementierung einer solchen Funktion zusammen. Das relationale Modell ist mit einem solchen Konzept in Ordnung.
ypercubeᵀᴹ

Antworten:

13

Dies ist kein grundsätzliches Problem, da Tabellen und Sichten im relationalen Modell beide Beziehungsvariablen sind. Fremdschlüsseleinschränkungen sind nur eine bestimmte Unterklasse allgemeiner Einschränkungen, die von Standard-SQL implementiert werden, CREATE ASSERTIONsodass es auch keine besonderen SQL-Sprachschwierigkeiten gibt.

Gemäß diesem Connect-Element (nicht mehr verfügbar und nicht archiviert) handelt es sich lediglich um eine Priorisierung. Wenn Sie diese Funktion nützlich finden, stimmen Sie für den Artikel ab und fügen Sie in den Kommentaren Details zu Ihrem Anwendungsfall hinzu.

Paul White 9
quelle