Darstellung der Relationenalgebra als Programmiersprache Zugriff auf Daten Darstellung der Relationenalgebra als Programmiersprache
QUEL QUEry Language (vgl. DEC/RDB) INGRES: 70'er Jahre, Forschungsprototyp der University of Berkley, Michel Stonebreaker, heute frei für Linux Abfragen: RANGE OF t1 IS R1 ... RANGE OF tn IS Rn RETRIEVE (ti.Ai1...tj.Ajn) WHERE P(t1,...,tn) ti Tupelvariablen über Ri Relationen ti.Aik Attribut Ak von Tupel ti P Prädikat
QUEL contd. Beispiel: RANGE OF e IS EMP RANGE OF d IS DEPT RETRIEVE (e.ename,d.dname) WHERE P(e.deptno=d.deptno) Neue Datensätze hinzufügen APPEND TO EMP (empno='4711', ename='Hänisch') Datensätze ändern REPLACE e(sal=1000) WHERE (e.empno=4711)
QBE Query By Example Daten als Tabellen IBM, 70'er Jahre grafische Darstellung keine Programmierkenntnisse erforderlich IBM, 70'er Jahre einfache Alternative zu SQL Anwender füllt Mustertabellen aus, System generiert Anfrage empno ename deptno EMP P P 20 4711 Hänisch 20 123 Müller 20 4242 Meier 20
QBE contd. Bedingungen Operationen zum Einfügen, Ändern,... in einer Zeile werden "UND" verknüpft in mehreren Zeilen werden "ODER" verknüpft Operationen zum Einfügen, Ändern,... sehr mächtig wurde schlecht akzeptiert komplexe Dinge sind auch in QBE komplex später übernommen durch Borland (PARADOX) Microsoft (ACCESS)
SQL Structured Query Language Standardisiert (ISO 9075), 1992 SQL2 IBM, 70'er Jahre Abfragesprache für "System R" interaktiv für Endanwender (UFI) Programmierschnittstelle (Embedded SQL) einfache (?) Sprache DML (Data Manipulation Language) DDL (Data Definition Language) wurde von (allen) anderen DB-Herstellern übernommen Standardisiert (ISO 9075), 1992 SQL2