Perché SQL Server non supporta i vincoli di chiave esterna nelle viste?


12

So che SQL Server non supporta l'utilizzo di una vista come riferimento per un vincolo di chiave esterna, c'è un motivo (ovvero qualcosa a che fare con il modello relazionale), è così? Sembra che sarebbe utile ...


3
Ho fatto una domanda correlata (non il perché, ma come potrebbe essere fatto con altri modi): esistono DBMS che consentono una chiave esterna che fa riferimento a una vista (e non solo alle tabelle di base)? Probabilmente ha a che fare con la complessità dell'implementazione di tale funzionalità. Il modello relazionale sta bene con un simile concetto.
ypercubeᵀᴹ

Risposte:


13

Non esiste alcun problema fondamentale nel fare ciò, poiché le tabelle e le viste sono entrambe variabili di relazione nel modello relazionale. I vincoli di chiave esterna sono solo una particolare sottoclasse di vincoli generali, che viene implementata da SQL standard in CREATE ASSERTIONmodo da non avere particolari difficoltà nel linguaggio SQL.

Secondo questo elemento Connect (non più disponibile e non archiviato) è semplicemente una questione di priorità. Se ritieni utile questa funzione, vota l'elemento e in particolare aggiungi i dettagli del tuo caso d'uso nei commenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.