Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Sichten (1) Oftmals ist es für Anwendungen einfacher, nicht mit dem Original- Datenbestand, sondern einem speziell zugeschnittenen Ausschnitt zu arbeiten.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Sichten (1) Oftmals ist es für Anwendungen einfacher, nicht mit dem Original- Datenbestand, sondern einem speziell zugeschnittenen Ausschnitt zu arbeiten."—  Präsentation transkript:

1 1 Sichten (1) Oftmals ist es für Anwendungen einfacher, nicht mit dem Original- Datenbestand, sondern einem speziell zugeschnittenen Ausschnitt zu arbeiten. Beispiel: Dispatcher in Frankfurt greift häufig auf in Frankfurt startende Flüge zu, daher Anlegen einer separaten Relation FRA_START als Untermenge von FLUG sinnvoll.

2 2 Sichten (2) 1. Möglichkeit: Deklaration einer separaten Tabelle und Befüllen mit der gewünschten Information: createtable FRA_START ( flugNrCHAR(6), vonCHAR(3), nachCHAR(3), ftypIdCHAR(3), wochentageCHAR(7), abflugszeitTIME, ankunftszeitTIME, entfernungINT); insertinto FRA_START (select fromFLUG wherevon = "FRA")

3 3 Sichten (3) Nachteile der Relation FRA_START : Inhalt ist Schnappschuss des Datenbasiszustandes zum Zeitpunkt der Einfügeoperation. Nachträgliche Veränderungen an FLUG spiegelt FRA_START nicht automatisch wider, daher regelmäßiges manuelles Aufdatieren erforderlich. Redundante Datenhaltung verbraucht zusätzlichen Speicherplatz.

4 4 Sichten (4) Bessere Alternative: Vereinbarung von FRA_START als Sicht (Sichtrelation, engl.: view), deren Inhalt sich durch Berechnung aus den tatsächlich gespeicherten Relationen (sog. Basisrelationen) ermitteln lässt. createview FRA_START as (select fromFLUG wherevon = "FRA")

5 5 Sichten (5) Effekt einer Sichtenvereinbarung: DBMS registriert die Sichtendefinition, aber berechnet zugehörige Tupelmenge nicht sofort. Der Name der Sicht kann in Anfragen wie eine Basisrelation verwendet werden. Bei Zugriff auf die Sicht wird der Sichtenname automatisch durch die Sichtendefinition ersetzt und die modifizierte Anfrage ausgewertet. Konsequenz: Sicht stellt virtuelle Relation dar, die bei Bedarf aus den materialisierten Basisrelationen erzeugt wird.

6 6 Sichten (6) Beispiel für Anfrageauswertung über Sichten: Sichtenvereinbarung: createview FRA_START as (select fromFLUG wherevon = "FRA") Anfrage Bestimme von Frankfurt ausgehende Fernflüge: selectflugNr fromFRA_START whereentfernung > 6000 Modifizierte Anfrage: selectFRA_START.flugNr from(select from FLUG where von = "FRA") as FRA_START whereFRA_START.entfernung > 6000

7 7 Sichten (7) Sichten können durch beliebige SQL-Anfragen definiert werden. Beispiel: Sicht mit in Frankfurt eingesetzten Flugzeugtypen und ihrer Einsatzhäufigkeit: createview FRA_START_ZAHL (ftypId, anzahlFlüge) as selectftypId, count(flugNr) fromFRA_START group byftypId Bemerkungen: Attributliste (ftypId, anzahlFlüge) gibt explizite Benennungen der Spalten vor, da für count(flugNr) ansonsten Defaultbezeichnung generiert wird. Definition von Sichten auf Sichten (FRA_START) ist zulässig.


Herunterladen ppt "1 Sichten (1) Oftmals ist es für Anwendungen einfacher, nicht mit dem Original- Datenbestand, sondern einem speziell zugeschnittenen Ausschnitt zu arbeiten."

Ähnliche Präsentationen


Google-Anzeigen