Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen als Operationen auf diesen Wertebereich. Anfragen werden durch Schachtelung von Operationen ausgedrückt. Anfragealgebren für Datenbanken sind oft als einsortige Algebra konzipiert. So behandelt die relationale Algebra nur Tabellen als „Werte“. Jede Operation der relationalen Algebra hat als Eingabe eine oder mehrere Tabellen und als Ergebnis wieder eines Tabelle. Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 2/7 Aus den bestehenden Basisrelationen können virtuelle Relationen berechnet werden. Die Ableitung einer virtuellen Relation nennt man Anfrage, Sicht oder Snapshot. Eine Anfrage ist also eine Folge von Operationen, die aus den Basisrelationen einer Ergebnisrelation berechnet. Die Ergebnisrelation kann entweder • interaktiv auf den Bildschirm angezeigt oder • per Programm weitergeleitet werden („Einbettung“ der Anfragesprache in eine Programmiersprache) Im interaktiven Fall steht die Anfrage und die berechnete Relation am Ende der Sitzung nicht mehr zur Verfügung. Eine Sicht wird als eine Folge von Anfragen definiert, die unter einen Sichtnamen abgespeichert und unter diesen wieder aufgerufen werden kann. Sie ergibt eine Sichtrelation, die bei jedem Aufruf der Sicht aus den dann aktuellen Basisrelationen neu berechnet wird. Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 3/7 Ein Snapshot dagegen ist eine Ergebnisrelation einer Anfrage, die unter einen Snapshot-Namen abgelegt wird. Diese Anfrage wird nie ein zweites Mal aus der Basisrelation berechnet. Snapshot finden als Bilanzen (Jahresabschlussbilanz) Anwendung. Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 4/7 • Die Schema-Architektur beschreibt den Zusammenhang zwischen dem konzeptuellen, internen und externen Schema. Außerdem ordnet sie die Datenbank-Anwendungsprogramme in diese Schemata ein. • Die System-Architektur beschreibt den Aufbau eines Datenbanksystems aus Komponenten, Bausteinen oder Werkzeugen. In Standardisierungsvorschlägen werden die Schnittstellen zwischen diesen Komponenten genormt, nicht jedoch die Komponenten selbst. • Die Anwendungsarchitektur beschreibt den Ablauf der Anwendungsentwicklung mit Datenbanken. Insbesondere beschreibt es die Vorgänge und Arbeitsschritte, die bei der Erstellung und Übersetzung eines Datenbank-Anwendungsprogramms anfallen. Sie erlaubt Einblicke in die Arbeit eines Datenbank-Anwenderprogramms, weiterhin die Einsicht auf Werkzeuge, die zur Abhandlung eines speziellen Problems nötig sind. Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 5/7 Relation Der Begriff Relation (Beziehung, Verwandtschaft) steht allgemein für alle Formen von Beziehungen und Abhängigkeiten von Objekten und Daten zueinander. Bei den relationalen Datenbanken spielt der Begriff eine besondere Rolle. Eine Relation ist hier eine Menge gleichartiger strukturierter Datensätze (so genannter Tupel). Diese beschreiben wiederum Datenobjekte aus einem bestimmten Sachzusammenhang. Relationale Datenbank Bei einer relationalen Datenbank werden die einzelnen Daten in Datenfeldern gespeichert, die zu Datensätzen zusammengefasst sind. Mehrere gleichartige Datensätze bilden eine Relation oder Tabelle. Miteinander in Beziehung stehende Relationen bilden wiederum die relationale Datenbank. Eine relationale Datenbank ist dadurch gekennzeichnet, dass in ihr die Daten in einem relationalen Schema dargestellt werden. In einem relationalen Modell werden die Daten in so genannten Relationen, d.h. in Tabellenform dargestellt. Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 6/7 Schema Architektur Das konzeptuelle Schema ist das Ergebnis der Datenmodellierung, des Datenbankentwurfes und der Datendefinition. Das interne Schema legt die Dateiorganisation und Zugriffspfade für das konzeptuelle Schema fest. Das externe Schema ist das Ergebnis der Sichtdefinition und legt Benutzersichten auf das globale konzeptuelle Schema fest. Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 7/7 Die System-Architektur enthält die folgenden Arten von Komponenten, die in einem Datenbanksystem nötig sind: • Die Definitionskomponenten zur Datendefinition auf der konzeptuellen Ebene, Definition der Dateiorganisation auf der internen Ebene und der Sichtdefinition auf der externen Ebene. • Die Programmier-Komponenten zur Datenbankprogrammierung mit Datenbank- Operationen, die in herkömmliche Programmiersprachen eingebettet werden. • Die Benutzerkomponenten, wie erstellte Datenbank-Anwendungsprogramme, interaktive Anfrage- und Änderungswerkzeuge. • Die Transformationskomponenten zur Optimierung, Auswertung und der Plattenzugriffssteuerung für Datenbank-Operationen und der Transformation der Ergebnisdaten von der internen in die externe (Benutzer-)Darstellung.