Sichten-Nachteile

Die Nachteile von Sichten könnten wohl eher als Schwierigkeiten beim Umgang mit Sichten bezeichnet werden. Es sind meist Probleme, die auftreten, wenn sehr exzessiv Gebrauch von diesem Konzept gemacht wird, wenn z.B. Sichten auf Sichten auf Sichten und so weiter definiert werden, also Sichtdefinitionen auf mehreren Ebenen von Sichten aufbauen und dann auch bei Anfragen entsprechend ausgewertet werden müssen.

Wiederverwendbarkeit:

Der Vorteil der Wiederverwendbarkeit kann sich ins negative kehren, wenn Entwickler "eigentlich nicht so genau wissen, was in der Sicht bzw. in den darunter liegenden Ebenen passiert". Da kann es dann schon mal passieren, dass in Anfragen oder höhreren Sichten Spalten, Datensätze, Aktionen hinzugenommen werden, die zuvor auf den unteren Ebenen herrausgenommen worden sind und auch umgekehrt. Dieser verloren gegangene Überblick hat dann redundante Auswertungen oder überflüssige Auswertungen zur Folge, die unnötig viel Zeit in Anspruch nehmen.

Logische Datenunabhängigkeit:

Um den eigentlichen Vorteil der logische Datenunabhängigkeit zu erhalten, darf der Anwender in den meisten Fällen gar keine Kenntnisse der Realisierung auf der Datenbank haben (Transparenz, ob es Sichten oder Tabellen sind). Es wird damit ausgeschlossen, dass ein Anwender dieses Wissen dazu einsetzen könnte, die Vorteile der Datenunabhängigkeit zunichte zu machen. Zumindest im interaktiven Betrieb des Systems muss also die Umsetzung der Sicht-Anfragen und Änderungen auf die zugrunde liegenden Tabellen automatisch vom DMBS vorgenommen werden. Anfragen und Änderungen müssen also automatisch umgesetzt werden in die zugehörigen Tabellenanfragen und -änderungen.

  • Die Anfragetransformation in SQL ist als eher komplex anzusehen, da auch in neueren Versionen eine direkte Transformation zum Teil nicht möglich ist. Zum Beispiel ist eine automatische Anfragetransformation durch geschachtelte Aggregatfunktionen (wie z.B. der maximale Durchschnittspreis) nicht möglich. Es können so Performance-Probleme auftreten, da die Auswertung über mehrere Sichtebenen ggf. langsamer ist als eine semantisch äquivalente komplexe Anfrage, die direkt auf den Tabellen ausgewertet wird.
  • Allgemeine Schwierigkeiten bereitet hingegen auch die Durchführung von Änderungen auf Sichten, da Änderungen auf beliebig berechneten Datenbankobjekten nicht immer auf logische Änderungen der Basisdatenbank umgesetzt werden können. (vgl. änderbare Sichten)

Quellen:

  • ANSI/ISO/IEC 9075-1:2003. Part 1 "SQL/Framework", ISO International Organization for Standardization / ANSI American National Standards Institute, September 2003
  • ANSI/ISO/IEC 9075-2:2003. Part 2 "SQL/Foundation", ISO International Organization for Standardization / ANSI American National Standards Institute, Dezember 2003
  • Elmasri, Ramez/Navathe, Shamkant B.: "Grundlagen von Datenbanksystemen" , Pearson Studium, München, 2002, ISBN 3-8273-7021-3
  • Faeskorn-Woyke, Heide/Bertelsmeier, Birgit/Riemer, Petra/Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
  • Kemper, Alfons/Eickler, André: "Datenbanksysteme", Oldenbourg, München, 2009, 978-3-486-59018-0
  • Melton, Jim/Simon, Alan R.: "SQL: 1999 - Understanding Relational Language Components", Morgan Kaufmann, San Francisco, 2001, ISBN 1558604561
  • Oracle® Database SQL Language Reference 11g Release 2 (11.2), E17118-03, August 2010, http://download.oracle.com/docs/cd/E11882_01/server.112/e17118.pdf
  • Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2
  • Vossen, Gottfried: "Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme", Oldenbourg, München, 2008, ISBN 978-3-486-27574-2

Kategorien: SQL, S