Wir vergassen zu erwähnen, dass VIEWs per se böse sind.
Interessant, inwiefern?
Man braucht keine Sichten. Einzige uns bekannte vernünftige Anwendung für dieses Objekt ist die Schemasicht auf RDBMS-eigene Datenbasen, die eine zusätzliche Abstraktionsebene einzieht und unabhängig von in späteren Versionen zu erwartenden Designänderungen an der Systemdatenhaltung zukünftige Kompatibilität und Abhängigkeiten vermeidet. [1]
Demzufolge vermeiden wir in unseren Applikation bestmöglich Sichten und arbeiten stattdessen mit stored procedures, die Datensatzmengen zurückliefern, also SELECTieren.
Warum aber sind VIEWs böse? Nun, erst einmal haben wir eine zusätzlich eingezogene Schicht, die nicht benötigt wird. (Es kann bspw. bei eher wenig erfahrenen Entwicklern oft zu "Vers(ch)ichtungen" kommen, Sichten, die auf Sichten, die auf Sichten basieren. LOL)
Zudem kann man Sichten und deren Abhängigkeiten schlecht verwalten. Aber darüber darf diskutiert werden und wir wollen nicht auf diesem Argument bestehen.
Q:Warum gibt es Sichten?
A:Der Markt verlangt Sichten.
[1] Ebenso heisse Eisen wie die VIEWs sind bspw. die TRIGGER und die CASCADING DELETES, wobei es für Trigger immer hin noch den Anwendungsbereich "Alarmmeldungen" gibt.