K8 Anwendungsprogrammierschnittstelle Flashcards

1
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Kopplung von DB- und Programmiersprache

A

Call-Schnittstelle (prozedurale Schnittstelle, CLI)

  • DB-Funktionen werden durch Bibliothek von Prozeduren realisiert
  • Anwendung enthält lediglich Prozeduraufrufe

Einbettung von SQL (Embedded SQL, ESQL)

  • Spracherweiterung um spezielle DB-Befehle (EXEC SQL …)
  • komfortablere Programmierung als mit CLI

statische Einbettung

  • Vorübersetzer (Precompiler) wandelt DB-Aufrufe in Prozeduraufrufe um
  • Nutzung der normalen PS-Übersetzer für umgebendes Programm
  • SQL-Anweisungen müssen zur Übersetzungszeit feststehen
  • im SQL-Standard unterstützte Sprachen: C, COBOL, FORTRAN, Ada, PL1, Pascal, MUMPS, Java, …

dynamische Einbettung:

  • Konstruktion von SQL-Anweisungen zur Laufzeit

Integrationsansätze unterstützen typischerweise ‚nur‘

  • ein Typsystem
  • Navigation (satz-/objektorientierterZugriff)
  • wünschenswert sind jedoch Mehrsprachenfähigkeit und deskriptive DB-Operationen (mengenorientierter Zugriff)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Relationale Anwendungsprogrammierschnittstellen (APIs)

A
  • bieten Mehrsprachenfähigkeit und deskriptive DB-Operationen,
  • erfordern jedoch Maßnahmen zur Überwindung der sog. Fehlanpassung (impedance mismatch): Satzorientierung vs. Mengenorientierung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Kernprobleme der API bei konventionellen Programmiersprachen

A
  • Konversion und Übergabe von Werten
  • Übergabe aktueller Werte von Wirtssprachenvariablen (Parametrisierung von DB-Operationen)
  • Mengenorientierung von DB-Operationen
  • Wie und in welcher Reihenfolge werden Zeilen/Sätze dem AP zur Verfügung gestellt?
  • Cursor-Konzept
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Eingebettetes statisches SQL:

Anbindung einer SQL-Anweisung an die Wirtssprachen-Umgebung

A
  • eingebettete SQL-Anweisungen werden durch exec sql eingeleitet und durch spezielles Symbol (hier “;”) beendet, um dem Compiler eine Unterscheidung von anderen Anweisungen zu ermöglichen
  • Verwendung von AP-Variablen in SQL-Anweisungen verlangt Deklaration innerhalb eines ‚declare section‘-Blocks sowie Angabe des Präfix “:” innerhalb von SQL-Anweisungen
  • Kommunikationsbereich SQLCA (Rückgabe von Statusanzeigern u.ä.)
  • Übergabe der Werte einer Zeile mit Hilfe der INTO-Klausel
  • INTO target-commalist (Variablenliste des Wirtsprogramms)
  • Anpassung der Datentypen (Konversion)
  • Aufbau/Abbau einer Verbindung zu einem DBS: connect/disconnect
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: Zweck, Iterator, Cursor-Deklaration

A

Zweck

  • satz-weise Abarbeitung von Ergebnismengen
  • Trennung von Qualifikation und Bereitstellung/Verarbeitung von Zeilen

Cursor ist ein Iterator,

  • der einer Anfrage zugeordnet wird und
  • mit dessen Hilfe die Zeilen der Ergebnismenge einzeln (one tuple at a time) im Programm bereitgestellt werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: Cursor-Operation, Reihenfolge der Ergebniszeilen, Wann wird die Ergebnismene ermittelt?

A

Reihenfolge der Ergebniszeilen

  • systembestimmt
  • benutzerspezifiziert (ORDER BY)

Wann wird die Ergebnismenge ermittelt?

  • schritthaltende Auswertung durch das DBS? Verzicht auf eine explizite Zwischenspeicherung ist nur bei einfachen Anfragen möglich.
  • daher Kopie bei OPEN meist erforderlich (ORDER BY, Join, Aggregat-Funktionen, …)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: Veranschaulichung der Cursor-Schnittstelle

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: C-Beispiel

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: Aktualisierung mit Bezugnahme auf eine Position

A

Wenn die Zeilen, die ein Cursor verwaltet (active set), eindeutig den Zeilen einer Tabelle entsprechen, können sie über Bezugnahme durch den Cursor geändert werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: SQL-Programmiermodell

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: SQL-Programmiermodell - Beispiel: Stücklistenauflösung

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: Erweiterungen - Syntax

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: Erweiterungen - SCROLL: Erweiterte Positionierungsmöglichkeiten

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: Erweiterungen - Sichtbarkeit von Änderungen - INSENSITIVE CURSOR

A
  • T sei die Zeilenmenge, die sich für den Cursor zum OPEN-Zeitpunkt (Materialisierung) qualifiziert
  • Spezifikation von INSENSITIVE bewirkt, dass eine separate Kopie von T angelegt wird und der Cursor auf die Kopie zugreift
  • Aktualisierungen, die T betreffen, werden in der Kopie nicht sichtbar gemacht; solche Änderungen könnten z. B. direkt oder über andere Cursor erfolgen
  • Über einen insensitiven Cursor sind keine Aktualisierungsoperationen möglich (UPDATE nicht erlaubt)
  • Die Kombination mit SCROLL ist unproblematisch
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Cursor-Konzept: Erweiterungen - Sichtbarkeit von Änderungen - ASENSITIVE CURSOR

A
  • Standard
  • Bei OPEN muss nicht zwingend eine Kopie von T erstellt werden: die Komplexität der Cursor-Definition verlangt jedoch oft seine Materialisierung als Kopie
  • Ob Änderungen, die T betreffen und durch andere Cursor oder direkt erfolgen, in der momentanen Cursor-Instanziierung sichtbar werden, ist implementierungsabhängig
  • Falls UPDATE deklariert wird, muss eine eindeutige Abbildung der Cursor-Zeilen auf die Tabelle möglich sein (siehe aktualisierbare Sicht); es wird definitiv keine separate Kopie von T erstellt.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Wirtsspracheneinbettung und Übersetzung: Prinzipielle Möglichkeiten

A

Aufruftechnik

  • DB-Anweisung wird durch expliziten Funktionsaufruf an das Laufzeitsystem des DBS übergeben, z. B. CALL DBS (‘open C1’)
  • Es sind prinzipiell keine DBS-spezifischen Vorkehrungen bei der AP-Übersetzung erforderlich!
  • Verschiedene Formen der Standardisierung: Call-Level-Interface (CLI), JDBC

Direkte Einbettung

  • keine syntaktische Unterscheidung zwischen Programm- und DB-Anweisungen
  • DB-Anweisung wird als Zeichenkette A ins AP integriert, z. B. exec sql open C1
  • typischerweise Einsatz eines Vorübersetzers PC (Precompiler)
  • PC erzeugt für DB-Anweisungen spezielle Call-Aufrufe im AP, so dass das modifizierte AP mit dem Wirtssprachencompiler C übersetzt werden kann
17
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Einbettung/Übersetzung: Von der Übersetzung bis zur Ausführung (bei Einsatz eines Vorübersetzers)

A
18
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Einbettung/Übersetzung: Von der Übersetzung bis zur Ausführung

A

Vorübersetzung des AP

  • Entfernung aller Embedded-SQL-Anweisungen aus dem Programm (Kommentare)
  • Ersetzung durch Programmiersprachen-spezifische DBS-Aufrufe
  • Erzeugung eines „SQL-freien“ Programms in der Programmiersprache
  • DBS-seitige Vorbereitung: Analyse und Optimierung der SQL-Anweisungen und Erstellung eines Zugriffsmoduls im DB-Katalog

Übersetzung des AP

  • Umwandlung der Anweisungen der höheren Programmiersprache in Maschinencode (Objektmodul) und Abspeicherung in Objektbibliothek
  • SQL-Anweisungen für Compiler nicht mehr sichtbar

Binden

  • Zusammenfügen der Objektmodule zu lauffähigem Programm
  • Hinzufügen des SQL-Laufzeitsystems

Laden und Ausführen

  • Laden des ausführbaren Programms in den Speichen
  • Anbinden des Zugriffsmoduls aus DB-Katalog und automatische Überprüfung seiner Gültigkeit
  • Programmstart
19
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Einbettung/Übersetzung: Von zentraler Bedeutung

A

Anfrageauswertung/-optimierung des DBVS ist im wesentlichen für die effiziente Abarbeitung verantwortlich

20
Q

GDB K8 Anwendungsprogrammierschnittstelle

Einbettung/Übersetzung: Auswertungstechnik: Spektrum von Verfahren mit folgenden Eckpunkten

A

Maximale Vorbereitung

  • Für eine DB-Anweisung wird ein zugeschnittenes Programm (Zugriffsmodul) zur Übersetzungszeit (ÜZ) erzeugt
  • Zur Ausführung einer DB-Anweisung (Laufzeit, LZ) wird das Zugriffsmodul geladen und abgewickelt; dabei wird durch Aufrufe des DBVS (genauer: des Zugriffssystems) das Ergebnis abgeleitet
  • aufwendige Optimierung und Erstellung eines Zugriffsmoduls
  • maximale Auswirkungen von Schemaänderungen, welche die DB-Anweisung betreffen
  • Schemaänderungen nach der Übersetzung werden nicht berücksichtigt (neue Zugriffspfade, geänderte Statistiken etc.)
  • Invalidierung des Zugriffsmoduls und erneute Erstellung

Keine Vorbereitung

  • typisch für Call-Schnittstellen (dynamisches SQL)
  • Allgemeines Programm (Interpreter) akzeptiert DB-Anweisungen als Eingabe und erzeugt durch Aufrufe des Zugriffssystems das Ergebnis
  • Interpretation einer DB-Anweisung:
  • Interpreter wertet Anweisung (als Zeichenfolge) zur Laufzeit aus
  • aktueller DB-Zustand wird automatisch berücksichtigt
  • sehr hohe Ausführungskosten bei Programmschleifen sowie durch häufige Katalogzugriffe
  • interessant vor allem für Ad-hoc-Anfragen bzw. dynamisches SQL
21
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Einbettung/Übersetzung: Wahl des Bindezeitpunktes

A
  • Wann werden die für die Abwicklung einer DB-Anweisung erforderlichen Operationen vom DB-Schema abhängig?
  • Übersetzungszeit vs. Laufzeit
22
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

SQL/PSM

A

PSM: Persistent Stored Modules

zielt auf Leistungsverbesserung vor allem in Client/Server-Umgebung ab

  • Ausführung mehrerer SQL-Anweisungen durch ein EXEC SQL
  • Entwerfen von Routinen mit mehreren SQL-Anweisungen

erhöht die Verarbeitungsmächtigkeit des DBS

  • Prozedurale Erweiterungsmöglichkeiten (der DBS-Funktionalität aus Sicht der Anwendung)
  • Einführung neuer Kontrollstrukturen

erlaubt reine SQL-Implementierungen von komplexen Funktionen

  • Sicherheitsaspekte
  • Leistungsaspekte

ermöglicht SQL-implementierte Klassenbibliotheken (SQL-only)

Vorteile

  • vorübersetzte Ausführungspläne werden gespeichert, sind wiederverwendbar
  • Anzahl der Zugriffe des Anwendungsprogramms auf die DB wird reduziert
  • als gemeinsamer Code für verschiedene Anwendungsprogramme nutzbar
  • es wird ein höherer Isolationsgrad der Anwendung von der DB erreicht
23
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

SQL/PSM: Prozedurale Spracherweiterungen

A
24
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Dynamisches SQL

A

Festlegen/Übergabe von SQL-Anweisungen zur Laufzeit

  • Benutzer stellt Ad-hoc-Anfrage
  • AP berechnet dynamisch SQL-Anweisung
  • SQL-Anweisung ist aktueller Parameter von Funktionsaufrufen an das DBVS

Eigenschaften

  • Vorbereitung einer SQL-Anweisung kann erst zur Laufzeit beginnen
  • Bindung an das DB-Schema erfolgt zum spätest möglichen Zeitpunkt
    • DB-Operationen beziehen sich stets auf den aktuellen DB-Zustand
    • größte Flexibilität und Unabhängigkeit vom DB-Schema
  • Vorbereitung und Ausführung einer SQL-Anweisung
    • erfolgt typischerweise durch Interpretation
    • Leistungsproblem: wiederholte Ausführung derselben Anweisung (DB2 UDB bewahrt Zugriffspläne zur Wiederverwendung im Cache auf)
    • Übersetzung und Code-Generierung ist jedoch prinzipiell möglich!
25
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Dynamisches SQL: Mehrere Sprachansätze (ähnlicher Funktionalität)

A
  • Eingebettetes dynamisches SQL
  • Call-Level-Interface (CLI)
    • kann ODBC (Open Database Connectivity) implementieren
  • Java Database Connectivity (JDBC)
    • dynamische SQL-Schnittstelle zur Verwendung mit Java
    • ‘de facto’-Standard für den Zugriff auf relationale Daten von Java-Programmen aus;
    • JDBC ist gut in Java integriert und ermöglicht einen Zugriff auf relationale Datenbanken in einem objektorientierten Programmierstil
    • JDBC ermöglicht das Schreiben von Java-Applets, die von einem Web-Browser auf eine DB zugreifen können

Gemeinsame Anforderungen (LZ)

  • Zugriff auf Metadaten
  • Übergabe und Abwicklung dynamisch berechneter SQL-Anweisungen
  • Optionale Trennung von Vorbereitung und Ausführung
    • einmalige Vorbereitung mit Platzhalter (?) für Parameter
    • n-malige Ausführung
  • Explizite Bindung von Platzhaltern (?) an Wirtsvariable
    • Variable sind zur ÜZ nicht bekannt!
    • Variablenwert wird zur Ausführungszeit vom Parameter übernommen
26
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Eingebettetes Dynamisches SQL

A

Eigenschaften

  • Abkürzung: EDSQL
  • unterstützt mehrere Wirtssprachen
  • ist im Stil statischem SQL ähnlich; wird oft von Anwendungen gewählt, die dynamische und statische SQL-Anweisungen mischen
  • Programme mit EDSQL sind kompakter und besser lesbar als solche mit CLI oder JDBC
  • SQL-Anweisungen werden vom Compiler wie Zeichenketten behandelt; Anweisungen enthalten Platzhalter für Parameter (?) statt Programmvariablen
27
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Call-Level-Interface

A

Spezielle Form von dynamischem SQL

  • Schnittstelle ist als Sammlung von Prozeduren/Funktionen realisiert
  • Direkte Aufrufe der Routinen einer standardisierten Bibliothek
  • Keine Vorübersetzung (Behandlung der DB-Anweisungen) von Anwendungen
  • Vorbereitung der DB-Anweisung geschieht erst beim Aufruf zur LZ
  • Anwendungen brauchen nicht im Source-Code bereitgestellt werden
  • Wichtig zur Realisierung von kommerzieller AW-Software bzw. Tools

wird sehr häufig in der Praxis eingesetzt!

Vorteile von CLI

  • Schreiben portabler Anwendungen
  • Systemunabhängigkeit
  • Mehrfache Verbindungen zur selben DB
  • Verbindungen zu mehreren DBS
  • Optimierung des Zugriffs (durch Prepare)

Kooperation von AP und DBS

  • maximale gegenseitige Kapselung
  • Zusammenspiel AP/CLI und DBVS ist nicht durch Übersetzungsphase vorbereitet
  • Wahl des DBS zur Laufzeit
  • vielfältige LZ-Abstimmungen erforderlich
28
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Call-Level-Interface: Wesentlich: Konzept der Handle-Variablen

A

Handle (internes Kennzeichen) ist letztlich eine Programmvariable, die Informationen repräsentiert, die für ein AP durch die CLI-Implementierung verwaltet wird

gestattet Austausch von Verarbeitungsinformationen

Arten:

  • Umgebungskennung repräsentiert den globalen Zustand der Applikation
  • Verbindungskennung
    • separate Kennung: n Verbindungen zu einem oder mehreren DBS
    • Freigabe/Rücksetzen von Transaktionen, Isolationsgrad
  • Anweisungskennung
    • mehrfache Definition, auch mehrfache Nutzung
    • Ausführungszustand einer SQL-Anweisung; sie fasst Informationen zusammen, die bei statischem SQL in SQLCA, SQLDA und Cursorn stehen
  • Deskriptorkennung enthält Informationen, wie Daten einer SQL-Anweisung zwischen DBS und CLI-Programm ausgetauscht werden
29
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

SQL-Injection

A
  • Sicherheitslücke bei dynamischem SQL
  • Bösartiges Einschleusen von ungewollten SQL-Statments
  • Verhinderung durch Prepared Statements
    • Statement bereits vorkompiliert
    • Nutzereingabe wird vollständig als Abeilungsnummer (Parameter) gewertet (und aufgrund des unpassenden Typs ein Fehler geworfen)
30
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Zusammenfassung: Cursor-Konzept

A

Cursor-Konzept zur satz-weisen Verarbeitung von Datenmengen

  • Anpassung von mengenorientierter Bereitstellung und satz-weiser Verarbeitung von DBS-Ergebnissen
  • Operationen: DECLARE CURSOR, OPEN, FETCH, CLOSE
  • Erweiterungen: Scroll-Cursor, Sichtbarkeit von Änderungen
31
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Zusammenfassung: Statisches (eingebettetes) SQL

A
  • hohe Effizienz, gesamte Typprüfung und Konvertierung erfolgen durch Precompiler
  • relativ einfache Programmierung
  • Aufbau aller SQL-Befehle muss zur Übersetzungszeit feststehen
  • es können zur Laufzeit nicht verschiedene Datenbanken dynamisch angesprochen werden
32
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Zusammenfassung: Interpretation einer DB-Anweisung

A
  • allgemeines Programm (Interpreter) akzeptiert Anweisungen der DB-Sprache als Eingabe und erzeugt mit Hilfe von Aufrufen des Zugriffssystems Ergebnis
  • hoher Aufwand zur Laufzeit (v.a. bei wiederholter Ausführung einer Anweisung)
33
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Zusammenfassung: Übersetzung, Code-Erzeugung und Ausführung einer DB-Anweisung

A
  • für jede DB-Anweisung wird ein zugeschnittenes Programm erzeugt (Übersetzungszeit), das zur Laufzeit abgewickelt wird und dabei mit Hilfe von Aufrufen des Zugriffssystems das Ergebnis ableitet
  • Übersetzungsaufwand wird zur Laufzeit soweit wie möglich vermieden
34
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Zusammenfassung: PSM

A
  • zielt ab auf Leistungsverbesserung, vor allem in Client/Server-Umgebung
  • erhöht die Verarbeitungsmächtigkeit des DBS
35
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Zusammenfassung: Dynamisches SQL

A
  • Festlegung/Übergabe von SQL-Anweisungen zur Laufzeit
  • hohe Flexibilität, schwierige(re) Programmierung
  • Unterschiede zu statischem, eingebettetem SQL
    • explizite Anweisungen zur Datenabbildung zwischen DBS und Programmvariablen
    • klare Trennung zwischen Anwendungsprogramm und SQL (→ einfacheres Debugging)
36
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Zusammenfassung: CLI

A
  • Schnittstelle ist als Sammlung von Prozeduren/Funktionen realisiert
  • Keine Vorübersetzung oder Vorbereitung
  • Anwendungen brauchen nicht im Source-Code bereitgestellt werden
  • Wichtig zur Realisierung von kommerzieller AW-Software bzw. Tools
37
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Zusammenfassung: JDBC (ergänzende Information)

A

bietet Schnittstelle für den Zugriff auf (objekt-) relationale DBS aus Java-Anwendungen

vermeidet einige syntaktischen Mängel (Lesbarkeit, Fehleranfälligkeit) von CLI

38
Q

GDB K8 Anwendungsprogrammierschnittstelle (keine Berechnugen oder Code in K.)

Zusammenfassung: SQLJ (ergänzende Information)

A
  • eingebettete Sprache für „statische” Java-Programme
  • zielt auf verbesserte Laufzeiteffizienz im Vergleich zu JDBC ab, Syntax- und Semantikprüfung zur Übersetzungszeit
  • größere Unabhängigkeit von verschiedenen SQL-Dialekten