TSQL-Fremdschlüssel in Sichten?

Ich habe eine SQL-Server-2008-Datenbank und ein schema, das verwendet foreign key-Einschränkungen erzwingen der referenziellen Integrität. Funktioniert wie vorgesehen. Jetzt erstellt der Benutzer sichten auf den original-Tabellen zu arbeiten, um auf Teilmengen von Daten nur. Mein problem ist, dass das filtern bestimmter Datensätze in Tabellen, in anderen aber nicht verletzen wird die foreign key-Einschränkungen.
Stellen Sie sich die zwei Tabellen "eins" und "zwei".". "" enthält nur eine id-Spalte mit den Werten 1,2,3. "Zwei" Referenzen "eins". Jetzt können Sie Ansichten erstellen, die auf beide Tabellen. Die Ansicht für die Tabelle "zwei" nicht-filter-alles, während die anzeigen für die Tabelle "eins" löscht alle Zeilen außer der ersten. Sie werden am Ende mit Einträgen in die zweite Sicht, die point nirgendwo.

Gibt es eine Möglichkeit, dies zu vermeiden? Können Sie Fremdschlüssel-constraints zwischen den Ansichten?

Einige Klarstellungen in Reaktion auf einige der Kommentare:
Ich bin mir bewusst, dass die zugrunde liegenden Randbedingungen sicherstellen der Integrität der Daten auch beim einfügen über die Ansichten. Mein problem liegt bei den Aussagen verbrauchen die Ansichten. Diese Aussagen wurden mit den original-Tabellen im Hinterkopf und übernehmen bestimmte Verknüpfungen nicht scheitern. Diese Annahme ist immer dann gültig, wenn die Arbeit mit den Tabellen - aber die Aussicht auf potenziell brechen.
Aufnahme - /Prüfung alle Einschränkungen, die beim erstellen der views in den ersten Platz annyoing aufgrund der großen Anzahl von verweisen auf Tabellen. Also ich hatte gehofft, zu vermeiden.

InformationsquelleAutor der Frage BuschnicK | 2009-12-18

Schreibe einen Kommentar