Modul 5 - Programmier- und sonstige Schnittstellen Flashcards
Agenda
- SQL Command Line
- DB spezifische SQL Schnittstellen
- Stored Procedures
- Spezielle Interfaces wie „Oracle Application Express“
- Programmierschnittstellen
SQL Prompt Schnittstellen
Beispiel 1: SQL Command Prompt (Kommandozeile von der aus man innerhalb einer Datenbank SQL Befehle absetzen kann)
Beispiel 2: Oracle Interfaces
• PL/SQL – prozedurale Programiersprache mit integrierter SQL
Abfragesprache
• kein API (wie bspw. ODBC oder JDBC)
• Kann in Script ablaufen oder in Stored Procedure
• Syntax Check während Kompilierung
• Unterstützt werden Variablen, Bedingungen, Schleifen und
Ausnahmebehandlungen.
• Standardisiert durch ANSI-Gremium
Stored Procedures
• Sammlung von wiederkehrenden SQL Anweisungen zusammengefasst in
einer Prozedur
• Nutzung von Übergabeparametern
• Werden üblicherweise in der Datenbank im Data Dictionary gespeichert
• Ausführung auf dem DB Server – nicht auf dem Client
• Extrem schnell
• Sicher ( „Grant DELETE, UPDATE oder INSERT to…“ nicht nötig)
• Bibliothek wird oft vom Hersteller angeboten
• Aufruf mit einem einzigen CALL oder EXECUTE
• Können von verschiedenen Interfaces aufgerufen werden (SQL, ODBC, …)
Stored Procedures Implementierung nach Hersteller
DBMS Implementierungssprache DB2 | SQL PL Informix | SPL Oracle | PL/SQL und Java Microsoft SQL Server | Transact SQL und .NET MySQL | SQL 2003
Programmierschnittstellen (Embedded Sql)
SQL Statements sind fest im Programm verdrahtet.
• meist mit #SQL oder EXEC SQL gekennzeichnet
• mit einem Precompiler in die Programmiersprache übersetzt
• danach mit Compiler und Loader in eine Executable verwandelt
• Beispiel Embedded SQL for Java
Call-Level-Interface
Viele DBMS Hersteller bieten eigene CLIs an, die spezifische DB Features unterstützen
• Java-/Open Database Connectivity
• SQL Anweisungen werden als Argumente an die CLI-Prozeduren übergeben
• SQL Statements werden dynamisch zur Laufzeit erstellt durch Übergabe eines SQL String
an die Prozedur
• Fast alle Hersteller unterstützen O-/JDBC
ODBC Überblick
• Ursprünglich von Microsoft für Windows entwickelt
• ODBC stellt C/C++-Klassenbibliothek zur Verfügung (auch Fortran oder Visual
Basic
• Läuft neben Windows auch auf Linux
• Anwendungsprogramme, die als Datenbankschnittstelle ODBC benutzen, sind
nicht nur als Quellcode, sondern auch in compilierter Form portabel.
• Erst zur Laufzeit des Programms muss entschieden werden, auf welche
Datenbank zugegriffen werden soll
• Dadurch kann man mit mehreren Datenbanken unterschiedlicher Hersteller
gleichzeitig arbeiten.
JDBC Überblick
• JDBC ist der Name einer von Javasoft/Sun entwickelten SQL/CLI-konformen API
• Ähnlicher Standard wie ODBC
• Ist in zwei Pakete unterteilt:
• java.sql - enthält die grundlegenden Klassen und Schnittstellen.
• javax.sql - stellt erweiterte Funktionalitäten für die Arbeit mit Datenbanken bereit
• Die wichtigsten Klassen und Schnittstellen des Paketes java.sql sind:
• java.sql.DriverManager - bildet den Einstiegspunkt, da der Treibermanager Treiber
registriert und Verbindungen zur Datenbank aufbaut.
• java.sql.Connection - repräsentiert eine Datenbankverbindung.
• java.sql.Statement - ermöglicht die Ausführung von SQL-Anweisungen über eine
gegebene Verbindung.
• java.sql.ResultSet - verwaltet Ergebnisse einer Anfrage in Form einer Relation und
unterstützt den Zugriff auf einzelne Spalten.