10. Anwendungsprogrammierung. Client-Server-Architektur

Größe: px
Ab Seite anzeigen:

Download "10. Anwendungsprogrammierung. Client-Server-Architektur"

Transkript

1 10. Anwendungsprogrammierung Client-Server-Architektur Anbindung von Programmiersprachen Call-Level-Schnittstellen: SQL/CLI, JDBC Einbettung: Embedded SQL, SQLJ Gespeicherte Prozeduren Prozedurale Erweiterungen: SQL/PSM, PL/SQL VL Datenbanken I 10 1 Client-Server-Architektur typische Architektur von DB-Anwendungen, da zentrale Verwaltung durch DBMS notwendig Prinzip: Client nimmt Dienste eines Servers in Anspruch erfordert Kenntnis über angebotene Dienste Protokoll zur Regelung der Interaktion VL Datenbanken I 10 2 Client-Server-Modell Client (Dienstnehmer) Server (Diensterbringer) 1.Anforderung 2.Bearbeitung 3.Antwort VL Datenbanken I 10 3

2 Funktionsgruppen in DB-Anwendungen Präsentation und Benutzerinteraktion Anwendungslogik Datenmanagementfunktionalität VL Datenbanken I Schichten-Architektur Benutzerschnittstelle Anwendungslogik Client DB-Schnittstelle DBMS-Protokoll DB-Server VL Datenbanken I Schichten-Architektur Benutzerschnittstelle Client CORBA, RMI,... Anwendungslogik DB-Schnittstelle Applikationsserver DBMS-Protokoll DB-Server VL Datenbanken I 10 6

3 Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Einbettung einer DB-Sprache in Programmiersprachen statische Einbettung: Vorübersetzer-Prinzip SQL-Anweisungen zur Übersetzungszeit festgelegt dynamische Einbettung: Konstruktion von SQL-Anweisungen zur Laufzeit Spracherweiterungen und neue Sprachentwicklungen VL Datenbanken I 10 7 Cursor-Konzept Anwendungsprogramm Datenbank PASCAL SQL Cursor Relation VL Datenbanken I 10 8 Cursor in SQL Cursor-Deklaration: declare AktBuch cursor for select ISBN, Titel, Verlagsname from Bücher where Verlagsname = Thomson ; Cursor-Deklaration mit Änderungsmöglichkeit: declare AktBuch cursor for select ISBN, Titel, Verlagsname from Bücher for update of ISBN, Titel; VL Datenbanken I 10 9

4 Cursor in SQL2 declare CursorName [insensitive] [scroll] cursor for... next: Gehe weiter zum nächsten Tupel prior: Gehe zum vorherigen Tupel first bzw. last: Gehe zum ersten bzw. letzten Tupel absolute n from: Gehe zum n-ten Tupel des Cursors (negative Werte werden relativ zum letzten Tupel rückwärts gewertet absolute -1 ist also äquivalent zu last) relative n from: Gehe zum n-ten Tupel relativ zur aktuellen Cursor-Position VL Datenbanken I SQL/CLI: Der Standard Call-Level-Interface: Bibliothek von Prozeduren/Funktionen zur Kommunikation mit dem DBMS Definition und Ausführung von Anfragen Verarbeitung von Ergebnissen SQL/CLI: ISO-Standard für API Programmiersprachen: C/C++, Ada, Fortran, Pascal,... VL Datenbanken I CLI: Handles Handle: Verweis auf globale Datenstruktur zur Kommunikation mit DBMS C-Datentyp: SQLHANDLE erforden explizite Allokation (SQLAllocHandle) Arten: Environment Handles: Verwaltung des globalen Zustandes der Applikation Connection Handles: Verwaltung von Verbindungsdaten Statement Handles: Informationen zu einer SQL-Anweisung Description Handles: Daten zu Ergebnisspalten bzw. Paramtern VL Datenbanken I 10 12

5 CLI: Aufbau einer DB-Verbindung 1. Handles allokieren SQLHANDLE henv; /* Environment Handle */ SQLHANDLE hdbc; /* Connection Handle */ SQLAllocHandle (SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); if (SQLAllocHandle (SQL_HANDLE_DBC, henv, &hdbc)!= SQL_SUCCESS) /* Fehlerbehandlung */ 2. Verbindung herstellen SQLCHAR *server = "shop_db", *uid = "scott", *pwd = "tiger"; SQLConnect (hdbc, server, SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS); VL Datenbanken I CLI: Anfrageausführung SQLHANDLE hstmt; SQLCHAR *select = "select KNr, Name, Ort from Kunde"; SQLAllocHandle (SQL_HANDLE_STMT, hdbc, &hstmt); SQLExecDirect (hstmt, select, SQL_NTS); VL Datenbanken I CLI: Ergebnisverarbeitung 1. Bindung an Variablen herstellen SQLINTEGER knr; SQLCHAR kname[31], kort[51]; SQLBindCol (hstmt, 1, SQL_C_LONG, (SQLPOINTER) &knr, 0, NULL); SQLBindCol (hstmt, 2, SQL_C_CHAR, kname, 31, NULL); SQLBindCol (hstmt, 3, SQL_C_CHAR, kort, 51, NULL); 2. Ergebnisse auslesen while (SQLFetch (hstmt) == SQL_SUCCESS) printf ("Kunde = %ld, %s, %s\n", knr, kname, kort); VL Datenbanken I 10 15

6 CLI: Transaktionssteuerung Transaktion erfolgreich beenden SQLEndTrans (SQL_HANDLE_DBC, hdbc, SQL_COMMIT); Transaktion abbrechen SQLEndTrans (SQL_HANDLE_DBC, hdbc, SQL_ROLLBACK); VL Datenbanken I ODBC SQL/CLI-konforme Implementierung für Microsoft Windows Zugriff auf verschiedene Datenbanksysteme über systemspezifische Treiber möglich dynamisches Laden von Treibern (implementiert als DLL) Registrierung von Datenquellen mit Name, System, Treiber, Verbindungsinformation VL Datenbanken I JDBC: Überblick Datenbankzugriffsschnittstelle für Java abstrakte, datenbankneutrale Schnittstelle vergleichbar mit ODBC Low-Level-API: direkte Nutzung von SQL Java-Package java.sql DriverManager: Einstiegspunkt, Laden von Treibern Connection: Datenbankverbindung Statement: Ausführung von Anweisungen über eine Verbindung ResultSet: verwaltet Ergebnisse einer Anfrage, Zugriff auf einzelne Spalten VL Datenbanken I 10 18

7 JDBC: Ablauf 1. Aufbau einer Verbindung zur Datenbank Angabe der Verbindungsinformationen Auswahl und Laden des Treibers 2. Senden einer SQL-Anweisung Definition der Anweisung Belegung von Parametern 3. Verarbeiten der Anfrageergebnisse Navigation über Ergebnisrelation Zugriff auf Spalten VL Datenbanken I JDBC: Verbindungsaufbau 1. Treiber laden Class.forName ("com.company.dbdriver"); 2. Verbindung herstellen Connection con; String url = "jdbc:subprotocol:datasource"; con = DriverManager.getConnection (url, "scott", "tiger"); JDBC-URL spezifiziert Datenquelle/Datenbank Verbindungsmechanismus (Protokoll, Server-Host und Port) VL Datenbanken I JDBC: Anfrageausführung 1. Anweisungsobjekt (Statement) erzeugen Statement stmt = con.createstatement (); 2. Anweisung ausführen String query = "SELECT titel, preis FROM buch"; ResultSet rset = stmt.executequery (query); Klasse java.sql.statement Ausführung von Anfragen (SELECT) mit executequery Ausführung von Änderungsanweisungen (DELETE, INSERT, UPDATE) mit executeupdate VL Datenbanken I 10 21

8 JDBC: Ergebnisverarbeitung 1. Navigation über Ergebnismenge (Cursor-Prinzip) while (rset.next ()) { // Verarbeitung der einzelnen Tupel... } 2. Zugriff auf Spaltenwerte über gettype-methoden über Spaltenindex String titel = rset.getstring (1); über Spaltenname String titel = rset.getstring ("titel"); VL Datenbanken I JDBC: Fehlerbehandlung Fehlerbehandlung mittels Exception-Mechanismus SQLException für alle SQL- und DBMS-Fehler try { // Aufruf von JDBC-Methoden... } catch (SQLException exc) { System.out.println (SSQLException: "+ exc.getmessage ()); } VL Datenbanken I JDBC: Änderungsoperationen DDL- und DML-Operationen mittels executeupdate liefert Anzahl der betroffenen Zeilen (für DML-Operationen) Statement stmt = con.createstatement (); int rows = stmt.executeupdate ( " UPDATE buch SET bestand = bestand-1"+ " WHERE isbn = "); VL Datenbanken I 10 24

9 JDBC: Transaktionssteuerung Methoden von Connection commit () rollback () Auto-Commit-Modus implizites Commit nach jeder Anweisung Transaktion besteht nur aus einer Anweisung Umschalten mittels setautocommit (boolean) VL Datenbanken I Statische Einbettung: Embedded SQL exec sql declare AktBuch cursor for select ISBN, Titel, Verlagsname from Bücher for update of ISBN, Titel; Öffnen und Schließen einer Datenbank exec sql connect UniBeispiel; VL Datenbanken I Deklarationen Deklaration benutzter Datenbankrelationen exec sql declare Buch table ( ISBN char(10) not null, Titel char(120) not null, Verlagsname char(30) not null); Deklaration gemeinsamer Variablen exec sql begin declare section; BuchISBN char(10); NeuerPreis real; exec sql end declare section; VL Datenbanken I 10 27

10 Datentransfer exec sql update Buch_Versionen set Preis = :NeuerPreis where ISBN = :BuchISDN ; exec sql insert into Buch_Versionen values (:NeuISBN, :NeuAuflage, 1995, :Seiten, :Preis); exec sql select ISBN, Auflage, Jahr, Preis into :ISBN, :Auflage, :Jahr, :Preis from Buch_Versionen where ISBN = :SuchISBN and Auflage = 1; VL Datenbanken I Datentransfer (II) Indikator-Variablen zum Test auf null-werte: exec sql select :ISBN, Auflage, Jahr, Preis into :ISBN, :Auflage, :Jahr, :Preis:PreisInd from Buch_Versionen where ISBN = :SuchISBN and Auflage = :SuchAuflage; VL Datenbanken I Einsatz der Cursor-Technik exec sql open AktBuch; exec sql fetch AktBuch into :ISBN, :Titel, :Verlagsname; exec sql close AktBuch; exec sql delete from Bücher where current of AktBuch; VL Datenbanken I 10 30

11 Fehler- und Ausnahmebehandlung SQL Communication Area exec sql include sqlca; whenever -Anweisung exec sql whenever <Bedingung> <Aktion>; not found: Kein Tupel wurde gefunden, definiert etwa als sqlcode = 100. sqlwarning: Warnung, entspricht etwa sqlcode > 0 sqlcode 100. sqlerror: Fehler, also sqlcode < 0. VL Datenbanken I Transaktionssteuerung exec sql commit work; exec sql rollback work; VL Datenbanken I Dynamische Einbettung: Dynamic SQL exec sql begin declare section; AnfrageString char(256) varying; exec sql end declare section; exec sql declare AnfrageObjekt statement; AnfrageString := DELETE FROM Vorlesungen WHERE SWS < 2 ;... exec sql prepare AnfrageObjekt from :AnfrageString; exec sql execute AnfrageObjekt; Anfragen als Zeichenketten VL Datenbanken I 10 33

12 Dynamische Einbettung: Dynamic SQL... AnfrageString := DELETE FROM Buch_Versionen + WHERE ISBN =? AND Auflage =? ; exec sql prepare AnfrageObjekt from :AnfrageString; exec sql execute AnfrageObjekt using :LöschISBN, :LöschAuflage; Wertübergabe an Anfragen VL Datenbanken I SQLJ: Embedded SQL für Java Einbettung von SQL-Anweisungen in Java-Quelltext Vorübersetzung des erweiterten Quelltextes in echten Java-Code durch Translator sqlj Überprüfung der SQL-Anweisungen korrekte Syntax Übereinstimmung der Anweisungen mit DB-Schema Typkompatibilität der für Datenaustausch genutzten Variablen Nutzung von JDBC-Treibern VL Datenbanken I SQLJ-Anweisungen Kennzeichnung durch #sql Deklarationen Klassendefinitionen für Iteratoren SQL-Anweisungen: Anfragen, DML- und DDL-Anweisungen #sql { SQL-Operation }; Beispiel: #sql { INSERT INTO buch VALUES ("Datenbanken", 59.00, "123456", "MITP") }; VL Datenbanken I 10 36

13 Host-Variablen Variablen einer Host-Sprache (hier Java), die in SQL-Anweisungen auftreten können Verwendung: Austausch von Daten zwischen Host-Sprache und SQL Kennzeichnung durch ":variable" Beispiel: String titel, isbn = "123456"; #sql { SELECT titel INTO :titel FROM buch WHERE isbn = :isbn }; VL Datenbanken I Iteratoren Implementierung des Cursor-Konzeptes 1. Deklaration des Iterators #sql public iterator BookIter (String titel, double preis); 2. Definition des Iteratorobjektes BookIter iter; 3. Ausführung der Anweisung #sql iter = { SELECT titel, preis FROM buch }; 4. Navigation while (iter.next ()) { System.out.println (iter.titel () + " "+ iter.preis ()); } VL Datenbanken I Gespeicherte Prozeduren Probleme von CLI und Embedded SQL: ständiger Wechsel der Ausführungskontrolle zwischen Anwendung und DBS keine anweisungsübergreifende Optimierung notwendig Ausweg: gespeicherte Prozeduren im Datenbank-Server verwaltete und auch dort ausgeführte Software-Module in Form von Prozeduren bzw. Funktionen Aufruf aus Anwendungen und Anfragen heraus VL Datenbanken I 10 39

14 Vorteile Gespeicherter Prozeduren Strukturierungsmittel für größere Anwendungen Prozeduren nur vom DBMS abhängig und nicht von externen Programmiersprachen oder Betriebssystemumgebungen Optimierung der Prozeduren Ausführung der Prozeduren unter Kontrolle des DBMS zentrale Kontrolle der Prozeduren: redundanzfreie Darstellung relevanter Aspekte der Anwendungsfunktionalität Rechtevergabe für Prozeduren in der Integritätssicherung: Aktionsteil von Triggern VL Datenbanken I SQL/PSM: Der Standard SQL-Standard für prozedurale Erweiterungen PSM: Persistent Stored Modules gespeicherte Module aus Prozeduren und Funktionen Einzelroutinen Einbindung externer Routinen (implementiert in C, Java,... ) syntaktische Konstrukte für Schleifen, Bedingungen etc. VL Datenbanken I SQL/PSM: Funktionen Funktionsdefinition create function dm_in_euro (float v) returns float begin return (v / ); end; Aufruf innerhalb einer Anfrage select Bezeichnung, dm_in_euro (Preis) from Produkt where dm_in_euro (Preis) < 100 Nutzung außerhalb von Anfragen set euro_preis = dm_in_euro (79.00); VL Datenbanken I 10 42

15 SQL/PSM: Prozeduren Prozedurdefinition create procedure rechnungsbetrag ( in int nr, out float summe) begin select sum(p.preis bp.anzahl) into summe from Bestellposten bp, Produkt p where bp.bestnr = nr and bp.prodid = p.prodid; end; Nutzung über call-anweisung declare preis float; call rechnungsbetrag (42, preis); VL Datenbanken I SQL/PSM: Zugriffscharakteristik Eigenschaften von Prozeduren, die Anfrageausführung und -optimierung beeinflussen deterministic: Routine liefert für gleiche Parameter gleiche Ergebnisse no sql: Routine enthält keine SQL-Anweisungen contains sql:routine enthält SQL-Anweisungen (Standard für SQL-Routinen) reads sql data: Routine führt SQL-Anfragen (select-anweisungen) aus modifies sql data: Routine, die DML-Anweisungen (insert, update, delete) enthält VL Datenbanken I SQL/PSM: Ablaufkontrolle Variablendeklaration declare name varchar(50); Zuweisung set var = 42; Bedingte Verzweigungen if <Bedingung> then <Anweisungen> [ else <Anweisungen> ] end if; Schleifen loop <Anweisungen> end loop while <Bedingung> do <Anweisungen> end while repeat <Anweisungen> until <Bedingung> end repeat VL Datenbanken I 10 45

16 SQL/PSM: Ausnahmebehandlung Auslösen einer Ausnahme (Condition) signal <ConditionName>; Deklarieren von Ausnahmen declare yyy condition; Ausnahmebehandlung begin declare exit handler for <ConditionName> begin <Ausnahmebehandlung>; end <Anweisungen>; end VL Datenbanken I PL/SQL von Oracle prozedurale SQL-Erweiterung für Oracle Merkmale erweitertes Typsystem Package-Konzept Deklarationen declare Heute date; type PersonRecordType is record ( PersonName varchar (50), GebDatum date); Mitarbeiter PersonRecordType; VL Datenbanken I PL/SQL: Cursor cursor AktBuch is select ISBN, Titel, Verlagsname from Bücher; Zugriff auf Typinformation AktPersName Mitarbeiter.PersonName%type; BuchTupel AktBuch%rowtype; VL Datenbanken I 10 48

17 Operationale Konstrukte if <Bedingung> then <PL/SQL-Anweisungen> [ else <PL/SQL-Anweisungen> ] end if; for <IndexVariable> in <EndlicherBereich> loop <PL/SQL-Anweisungen>; end loop; while <Bedingung> loop <PL/SQL-Anweisungen>; end loop; VL Datenbanken I Iteration über Tabellen for BuchRec in AktBuch loop... end loop; entspricht declare BuchRec AktBuch%rowtype; begin loop fetch AktBuch into BuchRec; exit when AktBuch%notfound;... end loop; VL Datenbanken I Fehlerbehandlung when Ausnahme then ProgrammStück; VL Datenbanken I 10 51

18 PL/SQL: Gespeicherte Prozeduren create function FunktionsName ( Param1 ParamTyp1,..., ParamN ParamTypN ) return ErgebnisTyp is /* PL/SQL - Block mit return-anweisung */ create procedure ProzedurName ( Param1 in ParamTyp1, ( Param2 out ParamTyp2, ( Param3 in out ParamTyp3,... ) is /* PL/SQL - Block mit Zuweisungen an out-parameter */ VL Datenbanken I Weitere Prozedurale SQL-Erweiterungen IBM DB2: SQL/PSM Informix: SPL Sybase, Microsoft SQL Server: Transact-SQL externe Routinen: implementiert in C, Java,... VL Datenbanken I 10 53

11 Anwendungsprogrammierung

11 Anwendungsprogrammierung 11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:

Mehr

vs. Fehler zur Übersetzungszeit

vs. Fehler zur Übersetzungszeit Client-Server-Architektur, Anbindung von Programmiersprachen, Call-Level-Schnittstellen: /, JDBC, :, J, gespeicherte Prozeduren, prozedurale Erweiterungen: /PSM, PL/. IPD, Forschungsbereich Systeme der

Mehr

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java

Mehr

10 Anwendungsprogrammierung

10 Anwendungsprogrammierung 10 10 10.1 Programmiersprachenanbindung 10.2 10.3 PL/SQL 169 10 Teil X 0 Programmiersprachenanbindung 1 2 3 LINQ Sattler / Saake Datenbanksysteme Letzte Änderung: 11.10.2011 10 1 Programmiersprachenanbindung

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Grundlagen: Datenbankprogrammierung Literatur T. Kudraß (Hrsg.): Taschenbuch Datenbanken, Hanser, 2007 DB-Programmierung-2 Einbettungstechniken Einbettung in 3GL Embedded

Mehr

Datenbank und Informationssysteme

Datenbank und Informationssysteme Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................

Mehr

Datenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann

Datenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann Datenbanksysteme I Datenbankprogrammierung 15.6.2009 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,

Mehr

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen Architekturen ƒ Datenbankanwendungen Aufgaben und Komponenten Aufteilung ƒ Architektur Web-basierter Anwendungen HTTP-basierte Architekturen Applet-basierte Architekturen Vorlesung Internet-Datenbanken

Mehr

Teil XI Anwendungsprogrammierung

Teil XI Anwendungsprogrammierung Teil XI Anwendungsprogrammierung Anwendungsprogrammierung 1 Programmiersprachenanbindung 2 JDBC 3 SQLJ 4 LINQ 5 Objekt-relationales Mapping 6 Prozedurale SQL-Erweiterungen: SQL/PSM Sattler / Saake Datenbanksysteme

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4) Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,

Mehr

Inhalt. Einbettungstechniken für SQL. 1. Datenbank-Programmierung. Statische Einbettung

Inhalt. Einbettungstechniken für SQL. 1. Datenbank-Programmierung. Statische Einbettung Vorbemerkungen Inhalt Einbettungstechniken für SQL 1. Datenbankprogrammierung auf der Client-Seite: Embedded SQL, JDBC und SQLJ 2. Datenbankprogrammierung auf der Server-Seite: Stored Procedures 3. Erweiterbarkeit

Mehr

Datenbankprogrammierung 1

Datenbankprogrammierung 1 Datenbankprogrammierung 1 Die Folien basieren auf: Datenbanken: Konzepte und Sprachen, Andreas Heuer und Gunter Saake, mitp-verlag, 2. Auflage, 2000, http://wwwiti.cs.uni-magdeburg.de/biber/ Datenbanken

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Kapitel 11: Anwendungsentwicklung

Kapitel 11: Anwendungsentwicklung Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2015/2016 Kapitel 11: Anwendungsentwicklung Vorlesung:

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Kapitel 11: Anwendungsentwicklung

Kapitel 11: Anwendungsentwicklung Skript zur Vorlesung Wintersemester 2005/2006 Kapitel 11: Anwendungsentwicklung Vorlesung: Dr. Matthias Schubert Übungen: Elke Achtert, Arthur Zimek Skript 2004 Christian Böhm http://www.dbs.informatik.uni-muenchen.de/lehre/dbs

Mehr

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen Datenbankentwurf & Datenbankzugriff mit JDBC Georg Köster Sven Wagner-Boysen 6. November 2007 Gliederung 2 Datenbankentwurf für ProminentPeople.info ER-Modell Relationaler Entwurf Normalisierung Datenbankzugriff

Mehr

Universität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures

Universität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -

Mehr

Einbettung in SQL. Zwei Prinzipien: (1) Statische Einbettung

Einbettung in SQL. Zwei Prinzipien: (1) Statische Einbettung Einbettung in SQL Zwei Prinzipien: (1) Statische Einbettung - Vorübersetzer-Prinzip (Pre-Compiler) - In Programmcode integrierte SQL-Anweisungen werden durch den Precompiler übersetzt, d.h. in Prozeduraufrufe

Mehr

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher

Mehr

Datenbanksysteme I Datenbankprogrammierung. 19.12.2007 Felix Naumann

Datenbanksysteme I Datenbankprogrammierung. 19.12.2007 Felix Naumann Datenbanksysteme I Datenbankprogrammierung 19.12.2007 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Institut für Programmstrukturen und Datenorganisation (IPD) Kommunikation und Datenhaltung Datenbankanwendungsentwicklung Institut für Programmstrukturen und Datenorganisation (IPD) Überblick über den

Mehr

Wie kommen die Befehle zum DBMS

Wie kommen die Befehle zum DBMS Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?

Mehr

Datenbank-Anwendungsprogrammierung

Datenbank-Anwendungsprogrammierung Datenbank-Anwendungsprogrammierung Navigierende Ansätze Anbindung von SQL Weitere Ansätze Andreas Heuer, Gunter Saake Datenbanken I 11-1 Datenmanipulation im Netzwerkmodell User Working Area UWA User Working

Mehr

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //

Mehr

DBS: Anwendungsprogrammierung

DBS: Anwendungsprogrammierung Bisher: Grundlagen / Theorie DBS: Anwendungsprogrammierung Daten Schema Datenbank 1 Daten Schema Datenbank 2 DBMS Benutzer 1 Benutzer 2 Benutzer n Hier: Idee der Praxis Datenbanksysteme Benutzer Anwendungskontrollkomponenten

Mehr

DB-Anwendungsprogrammierung

DB-Anwendungsprogrammierung Hauptaufgabe: Abbildung der unterschiedlichen Datenmodelle und Zugriffsparadigmen zwischen Programmiersprache und dem DBMS, z.b. C++ Basisdatentypen und flexible Typkonstruktoren wie Strukturen und Klassen

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

Java und Datenbanken

Java und Datenbanken Java und Datenbanken Benutzerschnittstelle DB-Client Client Benutzerschnittstelle CORBA, HTTP,... DB-Client Anwendungslogik DB-Schnittstelle JDBC, SQLJ Anwendungslogik DB-Schnittstelle Anwendungs- Server

Mehr

Praktikum Datenbanksysteme

Praktikum Datenbanksysteme Praktikum Datenbanksysteme Herbstsemester 2012 Dr. Andreas Geppert Platform Architecture Technology Infrastructure Services Credit Suisse geppert@acm.org Herbstsemester 2012 Slide 1 Themenübersicht konzeptueller

Mehr

10. Anwendungsprogrammierung. Client-Server-Architektur. Funktionsgruppen in DB-Anwendungen. Client-Server-Modell

10. Anwendungsprogrammierung. Client-Server-Architektur. Funktionsgruppen in DB-Anwendungen. Client-Server-Modell 10. Anwendungsprogrammierung Client-Server-Architektur Client-Server-Architektur Anbindung von Programmiersprachen Call-Level-Schnittstellen: SQL/CLI, JDBC Einbettung: Embedded SQL, SQLJ Gespeicherte Prozeduren

Mehr

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines

Mehr

Kapitel 11: Anwendungsentwicklung

Kapitel 11: Anwendungsentwicklung Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für ysteme Skript zur Vorlesung Wintersemester 2010/2011 Kapitel 11: Anwendungs Vorlesung: DP Dr. Matthias Schubert

Mehr

Willkommen. Datenbanken und Anbindung

Willkommen. Datenbanken und Anbindung Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein

Mehr

Datenbanken 1 für Mediennformatiker WS 06. 4. ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme

Datenbanken 1 für Mediennformatiker WS 06. 4. ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme Datenbanken 1 für Mediennformatiker WS 06 4. ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme Der letzte Schritt Diese grafische Oberfläche mit der Ebay-Datenbank verbinden... Anwendungen

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Datenbanksysteme I Übung: JDBC. Jana Bauckmann

Datenbanksysteme I Übung: JDBC. Jana Bauckmann Datenbanksysteme I Übung: JDBC Jana Bauckmann Wo reicht SQL alleine nicht? 2 Web-Anwendungen Daten übersichtlich und schön präsentieren Komplizierte Fragestellungen Sind sich 2 Tupel ähnlich? Duplikaterkennung

Mehr

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt Andreas Heuer Gunter Saake Kai-Uwe Sattler Datenbanken kompakt Inhaltsverzeichnis Vorwort v 1 Was sind Datenbanken 1 1.1 Warum Datenbanken 1 1.2 Datenbanksysteme 4 1.3 Anforderungen: Die Codd'schen Regeln

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

Wie kommen die Befehle zum DBMS

Wie kommen die Befehle zum DBMS Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS MySQL Workbench / HeidiSQL Kommandozeile Weitere?

Mehr

11. Datenbankschnittstellen

11. Datenbankschnittstellen 11. Datenbankschnittstellen Inhalt 11.1 Motivation 11.2 Eingebettetes SQL 11.3 Open Database Connectivity (ODBC) 11.4 Java Database Connectivity (JDBC) 11.5 Objekt-Relationale Abbildung (ORM) 2 11.1 Motivation

Mehr

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Seminarunterlage Version: 12.05 Version 12.05 vom 29. Januar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt-

Mehr

Kurzeinführung ODBC. 1 Codebeispiele. 1.1 Embedded SQL

Kurzeinführung ODBC. 1 Codebeispiele. 1.1 Embedded SQL Kurzeinführung ODBC ODBC (Open Database Connectivity) ist eine von Microsoft entworfene Anwendungsschnittstelle (Application Programming Interface, API), welche in der Lage ist, auf alle gebräuchlichen

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Übungsblatt 8- Lösungsvorschlag

Übungsblatt 8- Lösungsvorschlag Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)

Mehr

Java: MySQL-Anbindung mit JDBC.

Java: MySQL-Anbindung mit JDBC. Java: MySQL-Anbindung mit JDBC Vorarbeiten Wir brauchen: - MySQL-Server - JDBC-Treiber - (Import java.sql.*) Vorarbeiten MySQL-Server in unserem Falle: WAMP (= Apache) (runterladen, installieren, starten)

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133. Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht

Mehr

Entwicklung von Web-Anwendungen mit JAVA EE

Entwicklung von Web-Anwendungen mit JAVA EE Entwicklung von Web-Anwendungen mit JAVA EE Grundlagen: Datenbankprogrammierung Literatur T. Kudraß (Hrsg.): Taschenbuch Datenbanken, Hanser, 2007 DB-Programmierung-2 Einbettungstechniken Einbettung in

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Übersicht der (kommenden) Vorlesungen ˆ Embedded SQL (in Java und C++) ˆ Stored Procedures

Mehr

Datenbankzugriff mit JDBC

Datenbankzugriff mit JDBC Java: Kapitel 8 Datenbankzugriff mit JDBC Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 8 Einführung in SQL und JDBC Verbindung zur Datenbank

Mehr

Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen

Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen Explizite Jedes SQL Statement, das der Oracle Server ausführt, hat einen individuellen, der verbunden ist mit: Implizitem : Declariert für alle DML-Statements und PL/SQL SELECT Statements. Explizitem :

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D. 1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme

Mehr

JDBC Datenzugriff aus Java ETIS SS04

JDBC Datenzugriff aus Java ETIS SS04 JDBC Datenzugriff aus Java ETIS SS04 Gliederung Motivation Bestandteile Fehlerbehandlung Metadaten Zusammenfassung JDBC 2 Motivation(I) Standard für Zugriff auf Datenquellen aus Java- Anwendungen RDBs,

Mehr

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz Oracle 12c: Neuerungen in PL/SQL Roman Pyro DOAG 2014 Konferenz Herrmann & Lenz Services GmbH Herrmann & Lenz Solutions GmbH Erfolgreich seit 1996 am Markt Firmensitz: Burscheid (bei Leverkusen) Beratung,

Mehr

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008 Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)

Mehr

Kapitel 4 Dynamisches SQL

Kapitel 4 Dynamisches SQL Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Kopplung (1) Kopplung (3) Kopplung (2) Eingebettetes statisches SQL (1) Kopplung (4) 8. Anwendungsprogrammierschnittstelle

Kopplung (1) Kopplung (3) Kopplung (2) Eingebettetes statisches SQL (1) Kopplung (4) 8. Anwendungsprogrammierschnittstelle Kopplung () Übersicht 8. Anwendungsprogrammierschnittstelle Kopplung Inhalt Kopplung von DB- und Programmiersprache Eingebettetes statisches SQL Wirtsspracheneinbettung und Übersetzung SQL/PSM Dynamisches

Mehr

Teil VIII. Weitere Datenbanksprachen

Teil VIII. Weitere Datenbanksprachen Teil VIII Weitere Datenbanksprachen Weitere Datenbanksprachen 1 Programmiersprachenanbindung 2 QBE 3 Änderungen in QBE 4 Anfragen in Access Sattler / Saake Datenbanksysteme Wintersemester 2010/11 8 1 Programmiersprachenanbindung

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

3 Embedded SQL. 3.1 Theorie. 3.1.1 Was ist Embedded SQL?

3 Embedded SQL. 3.1 Theorie. 3.1.1 Was ist Embedded SQL? 3 Embedded SQL 3.1 Theorie 3.1.1 Was ist Embedded SQL? Nachdem bisher alle SQL-Anweisungen über den CLP abgewickelt wurden, sollen diese Anweisungen nun in eine Host-Sprache eingebettet werden. Wir werden

Mehr

SQLJ SQLJ. SQL-Klauseln. Embedded SQL für Java. Einbettungsprinzip. Host-Variablen. SQLJ ist in 3 Teile gegliedert: Stefan Böttcher Sven Groppe

SQLJ SQLJ. SQL-Klauseln. Embedded SQL für Java. Einbettungsprinzip. Host-Variablen. SQLJ ist in 3 Teile gegliedert: Stefan Böttcher Sven Groppe Datenbanken und Informationsysteme I Stefan Böttcher Sven Groppe Universität Paderborn ist in 3 Teile gegliedert: Part 0: Embedded SQL für Java ANSI-Standard Baut auf die JDBC API auf Part 1: Java Stored

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

Klausur zur Vorlesung Datenbanksysteme I

Klausur zur Vorlesung Datenbanksysteme I Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe

Mehr

Datenbanken. Autor Rainer Colgen (0171)

Datenbanken. Autor Rainer Colgen (0171) Autor Rainer Colgen (0171)8004088 - 2 - Inhaltsübersicht 1...3 2. SQL IN ENTWICKLUNGSUMGEBUNGEN...3 1. 2.1 EMBEDDED SQL...3 2.1.1 Einführung...3 2.1.2 Präprozessor...3 2.1.3 Statisches SQL...4 2.1.4 Dynamisches

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Java und Datenbanksysteme Datenbankanbindung mit JDBC

Java und Datenbanksysteme Datenbankanbindung mit JDBC Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von

Mehr

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT 1 Metadaten a) Wozu werden Metadaten im Umfeld von DBMS benötigt? b) Nennen Sie mindestens zwei weitere Anwendungsfelder, in denen Metadaten zum Einsatz kommen.

Mehr

JDBC. Java DataBase Connectivity

JDBC. Java DataBase Connectivity JDBC Java DataBase Connectivity JDBC-Schichten JDBC besteht aus 2 Teilen, 1. aus Datenbanktreibern, die den Anschluß von Java-Anwendungen an Datenbanksysteme wie Sybase, DB/2, Oracle, MS ACCESS oder Mini

Mehr

1. DB-Anwendungsprogrammierung

1. DB-Anwendungsprogrammierung 1. DB-Anwendungsprogrammierung Einleitung Eingebettetes SQL - Cursor-Konzept - positionierte Änderungsoperationen (UPDATE, DELETE) - Verwaltung von Verbindungen - Dynamisches SQL Call-Level-Interface -

Mehr

Beispiel: DB-Mock (1/7)

Beispiel: DB-Mock (1/7) Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau

Mehr

JDBC. Allgemeines ODBC. java.sql. Beispiele

JDBC. Allgemeines ODBC. java.sql. Beispiele JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-1 Themen der Vorlesung

Mehr

Übung Datenbanksysteme I JDBC. Thorsten Papenbrock

Übung Datenbanksysteme I JDBC. Thorsten Papenbrock Übung Datenbanksysteme I JDBC Thorsten Papenbrock Motivation: Grenzen von SQL 2 1. Bedingte Anweisungen Erhöhe das Gehalt eines Arbeitsnehmers um 2%, falls er eine Belobigung erhalten hat 2. Darstellung

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

Mehr