Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7

Ähnliche Präsentationen


Präsentation zum Thema: "Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7"—  Präsentation transkript:

1 Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
Anfrage Kalküle Basiert auf der Idee, dass Datenbankinhalte Belegungen von Prädikaten einer Logik entsprechen und Anfragen abgeleiteten Prädikaten. Derartige Anfrageformalismen werden als Kalküle bezeichnet. Da bei der Definition abgeleiteter Prädikate angegeben wird, was zum Ergebnis gehören soll und nicht, wie es berechnet wird, spricht man auch von deskriptiven Anfragen. Ein Kalkül kann [nach Heuer/Saake] als formale logische Sprache zur Formulierung von Aussagen betrachtet werden. Im Bereich des Relationenmodells sind zwei Kalküle verbreitet, die sich in den erlaubten Wertebereichen der Variablen unterscheiden. Der Bereichskalkül ist dadurch gekennzeichnet, dass Variablen Werte elementarer Datentypen (Bereiche) annehmen. Im Tupelkalkül hingegen variieren Variablen über Tupelwerte (entsprechend den Zeilen einer Relation).

2 Terme können Konstanten, Variablen zu Datentypen, Funktionsanwendungen
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 2/7 Der Bereichskalkül lässt als Variablen nur Variablen zu den Basis-Datentypen der Relationsmodells zu, die sogenannten Bereichsvariablen. Die Bausteine für Anfragen sind somit Terme, atomare Formeln und Formeln. Terme können Konstanten, Variablen zu Datentypen, Funktionsanwendungen sein Atomare Formeln werden durch Konstruktionen basierend auf Prädikatanwendungen gebildet. Formeln werden mit den prädikatlogischen Operatoren gebildet.

3 Vergleich SQL mit 3GL Vergleich:
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 3/7 Vergleich SQL mit 3GL Vergleich: Abfrage aller Autoren und Titel von ausleihbaren Büchern aus der Beispieltabelle buecher. Prozedurale Sprache (3GL) SQL (4GL) open (buecher); while (not EOF (buecher)) { read (buch); If (buch.leihfrist > 0) print (buch.autor,buch.titel); } close (buecher); select autor, titel from buecher where leihfrist > 0

4 Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 4/7
Datenbanksprachen SQL (Structured Query Language) ist die Normendatenbanksprache für relationale Datenbanken SQL enthält mehrere Teilsprachen DDL (Data Definition Language) zur Definition eines konzeptuellen Datenbankschemas SSL (Storage Structure Language) zum Einrichten von internen Zugriffspfaden IQL (Interactive Query Language) zur Formulierung von Anfragen DML (Data Manipulation Language) zur Anfrage und zur Änderung des Datenbestandes SQL hat weiterhin noch eingebettete Befehle zur Sichtdefinition, Transaktionsdefinition , Rechtvergabe und Integritätssicherung

5 Weitere Datenbanksprachen
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 5/7 Weitere Datenbanksprachen QUEL QBE MS Access Diese Sprache beruht auf dem Tupelkalkül QUEL ist im Zusammenhang mit dem System INGRES entwickelt worden und wird nur dort eingesetzt Bekannt geworden als DDL/DML des oben genannten Systems Auf Grund des orthogonalen Sprachenentwurfs lange Zeit ernster Konkurrent von SQL Anfragen in QUEL wird unterschieden in Kern Anteil (angelehnt am Tupelkalkül) und den Erweiterungen (z.B. Aggregierung)

6 Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 6/7
Spalten ausblenden: Diese Operation heißt Projektion, in Zeichen π. Als Parameter werden in eckigen Klammern […] (oder als tiefgestellter Index) die Spalten definiert, die erhalten bleiben sollen, in runden Klammern (…) die Relation, auf die die Operation angewendet werden soll. Zeilen heraussuchen: Diese Operation heißt Selektion, in Zeichen σ. Als Parameter werden in […] die Bedingungen definiert, unter denen die Zeilen im Ergebnis erhalten bleiben sollen, in (…) die Relation, auf die die Operation angewendet werden soll. Tabellen verknüpfen: Hierfür ist der Verbund (oder: Join) zuständig, in Zeichen Dabei werden Tupel zweier Relationen über gleichbenannten Spalten und Werten aneinandergehängt.

7 Tabellen voneinander abziehen:
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 7/7 Tabellen vereinigen: Diese Operation ist die Vereinigung, in Zeichen U. Tupel aus den beiden beteiligten Relationen werden zusammengesammelt, doppelte Tupel entfernt. Tabellen voneinander abziehen: Dies ist die Differenz, in Zeichen -. Tupel aus der ersten Relation werden herausgenommen, falls sie auch in der zweiten Relation vorkommen. Spalten umbenennen: Diese Operation heißt Umbenennung, in Zeichen ß. Hierbei werden Attributnamen in andere umbenannt, was für Operationen wie , U, - wichtig werden wird, da diese von den Namen der Attribute abhängen.


Herunterladen ppt "Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7"

Ähnliche Präsentationen


Google-Anzeigen