Datenbank und Informationssysteme

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Datenbank und Informationssysteme"

Transkript

1 Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen Architektur des SQL/CLI am Beispiel JDBC SQl-Anweisungen und Ergebnismengen Metainformationen und adaptives Programmieren Architektur von ADO.NET Speicherresidente Datenbankstrukturen mit ADO.NET Objekt-Relationales Mapping am Beispiel Hibernate Transaktionen und Nebenläufigkeitskontrolle Eigenschaften und Verwendung von Transaktionen Serialisierbarkeit und Nebenläufigkeitskontrolle Isolationslevel in SQL-Datenbanksystemen Strategien der Nebenläufigkeitskontrolle Verteilte Datenbanken Architektur verteilter Datenbanken Datenspeicherung in verteilten Datenbanken Verteilte Anfragen Änderung verteilter Daten und Replikation Verteilte Transaktionen Datenbanksicherheit und Autorisierung Autorisierung und Zugriffskontrolle Techniken zum Recovery Datenanalyse zur Entscheidungsfindung Data-Warehouses Data-Mining

2 6 Neue Datenbanktechnologien XML und Datenbanken Temporale Datenbanken Geografische Datenbanken Logik-basierte Datenbanken _.tex,v,1.1,october 29, 2006 at 11:37:11 CET Seite 2

3 1 Programmierung von Datenbankzugriffen Situation: Frontend Anwendung *S SQL DB-Server Backend *C myprog Ergebnismengen DBMS Daten *R Beispiel 1.1 Die Grundstruktur des Datenbankzugriffs mit JDBC besteht in sechs Schritten. 1 import java. s q l. ; Listing 1: JDBC-Abfrage }.tex,v,1.1,october 29, 2006 at 11:37:11 CET 3 public class BasicJDBC { 5 public s t a t i c void main ( S t r i n g [ ] a r g s ){ Connection con = null ; 7 Statement stmt = null ; R e s ultset r s = null ; 9 try{ 11 / Schritt 1: Treiber r e g i s t r i e r e n / Class. forname ( " sun. jdbc. odbc. JdbcOdbcDriver " ) ; 13 / Schritt 2: Connection zur Datenbank herstellen / 15 con = DriverManager. getconnection ( " jdbc : odbc : azamon", " d i s ", " " ) ; 17 / Schritt 3: Satement erzeugen / 19 stmt = con. createstatement ( ) ; 21 / Schritt 4: Anweisung direkt ausfuehren / r s = stmt. executequery ( " s e l e c t author, t i t l e from Books" ) ; 23 / Schritt 5: Ergebnis verwenden / 25 while ( r s. next ( ) ){ System. out. p r i n t l n ( r s. g e t S t r i n g ( " author " ) + " " 27 + r s. g e t S t r i n g ( " t i t l e " ) ) ; Seite 3

4 29 } } catch ( Exception e ) { e. printstacktrace ( ) ; } f i n a l l y { 31 try{ / Schritt 6: Nicht mehr benoetigte Resourcen freigeben / 33 i f ( r s!= null ) r s. c l o s e ( ) ; i f ( stmt!= null ) stmt. c l o s e ( ) ; 35 i f ( con!= null ) con. c l o s e ( ) ; 37 } catch ( Exception e ){ e. printstacktrace ( ) ; } } } } Es sind sechs Schritte, die die Grundstruktur eines JDBC-Programms bilden: 1. Treiber registrieren Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") Mit der klassenglobalen Funktion forname von Class wird das Class-Objekt Jdbc-Odbc- Driver erzeugt, in unserem Fall die so genannten JDBC-ODBC-Bridge. Diese tr agt sich im statischen Treiberregister von JDBC ein. Mit diesem Schritt eröffnen wir uns den Zugriff auf ein Objekt, den Treiber, der den Datenzugriff auf eine Datenquelle durchfhren kann. 2. Connection zur Datenbank herstellen Connection con = DriverManager.getConnection() Der JDBC-Treibermanager DriverManager ist ein Singleton, sein Konstruktor ist privat und alle seine Methoden sind statisch, also klassenglobal. Er verwendet die JDBC URL (in unserem Fall jdbc:odbc:azamon), bietet sie jedem registrierten Treiber an, bis sich der erste findet, der zu dieser URL eine Connection herstellen kann. Der Treiber instantiiert ein Objekt der Klasse Connection, das der Treibermanager der Anwendung bergibt. (Danach spielt der Treibermanager gar keine Rolle mehr, es ist das Connection-Objekt, das für die Anwendung die Verbindung zur Datenquelle repräsentiert.) 3. Statement erzeugen _.tex,v,1.1,october 29, 2006 at 11:37:11 CET Statement stmt = con.createstatement() Das Objekt der Klasse Statement wird von der Connection erzeugt; es wird verwendet, um SQL-Anweisungen an die Datenquelle zu richten. 4. Anweisung ausfhren und Ergebnismenge erzeugen ResultSet rs = stmt.executequery(...) Die SQL-Anweisung wird ausgefhrt und die Methode executequery liefert eine Referenz auf die Ergebnismenge zurck. Die Klasse ResultSet repräsentiert die Ergebnismenge einer SQL-Anweisung und hat Methoden, mit denen der (implizite) Cursor auf der Ergebnismenge bewegt wird und mit denen die Werte aus der Ergebnismenge gelesen werden. Im einfachsten (und im Default) Fall hat das Objekt rs einen Cursor, der schrittweise vorwärts ber die Zeilen des Ergebnisses bewegt werden kann. Seite 4

5 5. Ergebnis verwenden while ( rs.next() ) {... Die Methode next() der ResultSet positioniert den Cursor zunächst auf die erste Zeile der Ergebnismenge, und bewegt ihn dann mit jeder Iteration ber die folgenden Zeilen. Mit den Methoden getxxx(), in unserem Fall getstring(), können die Werte der Spalten aus der aktuellen Zeile der Ergebnismenge gelesen werden. Als Parameter der GetMethoden kann man den Namen der Spalte oder auch ihre Position (bei 1 beginnend) angeben. JDBC ist sehr komfortabel was die Konvertierung der Datentypen angeht in der JDBC-Dokumentation geben Listen Auskunft ber die möglichen Konversionen. 6. Nicht mehr benötigte Resourcen freigeben rs.close()... Sicherlich würde auch schlussendlich der GarbageCollector von Java die Objekte vernichten und in diesem Zuge die entsprechende Methode close() aufrufen. Auch wenn ein bergeordnetes Objekt vernichtet wird, ruft JDBC die entsprechenden Funktionen der untergeordneten Objekte auf. Herr Renz hat gleichwohl bewusst im Beispiel die ganze Reihung der CloseMethoden explizit angegeben, um auf folgenden Punkt aufmerksam zu machen: Die GarbageCollection von Java kann keine Ahnung davon haben, wie externe Resourcen verwaltet werden, Resourcen, die die Datenbank oder etwa ein ODBC-Treiber bereitstellt. Infolgedessen kann es auch keinen Mechanismus geben, der den geeigneten Zeitpunkt automatisch ermittelt, zu dem diese Resourcen freigegeben werden sollten. Es ist also guter Stil in einem JDBC-Programm, nicht mehr benötigte Resourcen selbst freizugeben. 1.1 Architektur des SQL/CLI am Beispiel JDBC Zwei grundlegende Techniken des Zugriffs: 1. SLI: Statement Level Interface (embedded/eingebettetes SQL) 2. CLI: Call LevelInterface SLI am Beispiel SQLJ: _.tex,v,1.1,october 29, 2006 at 11:37:11 CET Prinzip: SQL-Anweisung als Teil unseres Codes Listing 2: sli-beispiel.java 1... s t r i n g i s b i n = new s t r i n g ( " " ) ;... 3 #s q l {SELECT author, t i t l e INTO: author : t i t l e FROM Books WHERE i s b n =: i s b n } Dieser Code steht in einer.sqlj -Datei. Der SQLJ-Translator erzeugt daraus eine.java- und eine.ser-datei. Der Java-Compiler erzeugt aus dem.java-code eine ausfhrbare Java-Klasse.class. Bei der Ausfhrung greift die Klassendatei auf den vorbereiteten SQL-Ausfhrungsplan aus der.ser-datei zu, der in der Datenbank vorgehalten wird statisches SQL. Seite 5

6 file.sqlj file.java javac SQL-Translator file.ser enthält vorcompilierten Zugriffsplan des DBMS für alle #SQL-Anweisungen in file.sqlj file.class SQLJ Run-Time file.ser Statisches SQL Erstellen des Zugriffsplan des DBMS zur Compilierzeit. Vorteil: Zugriffsplan steht bei der Ausfhrung schon fertig zur Verfgung, Ausfhrung dadurch etwas schneller. Nachteil: Hohe Kopplung an die Datenbank, Datenbank muß beim Compilieren verfgbar sein. Dynamisches SQL Erstellen des Zugriffsplans des DBMS zur Ausfhrungszeit. Nachteil: Zugriffsplan muß zur Ausfhrungszeit berechnet werden. (kann optimiert werden) Vorteil: Unter Umständen kann das DBMS jederzeit ohne Anpassung des Codes gewechselt werden. Außerdem Vorteil SLI: Meist statisches und dynamisches SQL möglich. CLI: Call Level Interface _.tex,v,1.1,october 29, 2006 at 11:37:11 CET Beispiel: ODBC JDBC ADO.NET sind Implementierungen von C/C++ Java C# SQL/CLI = Teil des SQL-Standards. Aufbau JDBC: Java-Anwendung kommuniziert mit (DBMS-unabhängigem) JDBC-Treibermanager. (java.sql.*) Treibermanager kommuniziert mit DBMS-abhängigem JDBC-Treiber. Spezifischer JDBC-Treiber kommuniziert mit seinem DBMS. Seite 6

7 Die Java-Anwendung sendet SQL-Anweisungen an JDBC und erhält Ergebnismengen zurck. Java-Anwendung SQL DBMS-unabhängig java.sql.* JDBC (Treibermanager) JDBC- Treiber Oracle JDBC- Treiber mysql JDBC- Treiber DBMS-spezifisch Ergebnismengen DB- Server DB- Server DB- Server Oracle mysql Aufbau ODBC äuivalent. Problem: SQL-Dialekte in den DBMS machen die DBMS-unabhängikeit wieder schwieriger, Dialekte und spezielle Features sollten nach Möglichkeit vermieden werden. 4 Arten von JDBC-Treibern: Die Unterschiede ergeben sich durch die verschiedenen Typen der JDBC-Treiber, die in der Abbildung skizziert sind. Java-Anwendung JDBC-Treibermanager _.tex,v,1.1,october 29, 2006 at 11:37:11 CET Treiber vom: Client JDBC- ODBC- Bridge ODBC Client- DB-Lib Client Naiver API- Treiber Client- DB-Lib JDBC Net- Treiber Client DB- Middleware Client Naiver Protokoll- Treiber Typ 1 Typ 2 Typ 3 Typ 3 Seite 7

8 Typ 1: JDBC-ODBC-Bridge (sun.jdbc.odbc.jdbcodbcdriver) Typ 2: Native API-Treiber Typ 3: JDBC-Net-Treiber Typ 4: Nativer Protokoll-Treiber Typen von JDBC-Treibern 1. Treiber vom Typ 1 implementieren die JDBC API durch das Mapping der Funktionen auf eine andere SQL CLI, die nicht in Java geschrieben ist. In der Regel handelt es sich dabei natrlich um ODBC, d.h. Treiber vom Typ 1 sind eine JDBC-ODBC-Bridge. Ein solcher Treiber ist Bestandteil von SUNs JDK. Der Vorteil dieser Technik besteht darin, dass man vorhandene und installierte ODBC-Funktionalität sofort nutzen kann es stand somit von der ersten JDBC-Version an der Zugriff auf nahezu alle denkbaren Datenquellen zur Verfgung. Der große Nachteil liegt darin, dass ODBC nicht für Applets genutzt werden kann, weil ODBC die Sicherheitsrestriktionen für Applets verletzt. 2. Treiber vom Typ 2 beruhen auf den Datenbankspezifischen Schnittstellen, d.h. sie verwenden die (in der Regel in C geschriebenen) Low-Level-APIs des jeweiligen Datenbank- Herstellers. Bezglich der Applets verbessert sich die Lage gegenber der JDBC-ODBC-Bridge dadurch natrlich nicht. 3. Treiber vom Typ 3 sind rein in Java geschrieben und kommunizieren ber ein Datenbankunabhängiges Netzprotokoll mit einer Middleware-Komponente, die auf dem Server installiert ist. Diese Komponente fhrt dann den eigentlichen DatenbankZugriff durch. Um ein Beispiel zu nennen: Easysoft bietet eine JDB-CODBC-Bridge vom Typ 3 an. Auf Client-Seite wird ein reiner Java-Treiber verwendet, der mit dem UDP-Protokoll (user datagram protocol) via TCP/IP mit dem Server spricht. Serverseitig werden nun die Anfragen des JDBC-Treibers in ODBC-Anfragen transformiert und ODBC fhrt dann den eigentlichen Datenzugriff weiter. _.tex,v,1.1,october 29, 2006 at 11:37:11 CET 4. Treiber vom Typ 4 sind rein in Java geschrieben und kommunizieren mit dem Datenbank-Server ber sein Netzprotokoll. D.h. der Java-JDBC-Treiber tritt an die Stelle des Datenbank-Clients und wickelt die Kommunikation mit dem Server direkt ab. Ein Beispiel für einen Treiber dieses Typs ist jconnect von Sybase. Der JDBC-Treiber jconnect verwendet das Protokoll TDS (tabular data stream) von Sybase und richtet so seine Anfragen direkt an den Datenbank-Server. Treiber vom Typ 4 versprechen die beste Performance. Treibermanager Registrieren und Laden von Treibern Herstellen der Verbindung zur DB Konfiguration der Verbindung Delegation an JDBC-Treiber Seite 8

9 1. Registrieren und Laden von Treibern Methode 1: Explizites Laden der Treiberklasse: 1 Class. forname ( org. p o s t g r e s. Driver ) Methode 2: properties-datei: 1 jdbc. d r i v e r s=org. p o s t g r e s. Driver,... Methode 3: Systemeigenschaft (Parameter beim Aufruf): 1 java D jdbc. d r i v e r s =.... MyClass Methode 4: (neu in JDBC 4.0) automatisches Laden bei getconnection anhand URL 2. Herstellen der Verbindung zur Datenbank Methode 1: DriverManager.getConnection(url,uid,pwd) jdbc:<subprotocol>:<subname> z. B.: 1 jdbc : odbc : azamon / = DSN i n ODBC / jdbc : p o s t g r e s q l : / / host : port / database / = URL der DB auf postgresql Server / Methode 2: Verwenden einer DataSource Vorteil: Nur der Name muß bekannt sein, keine Ports etc.. Schritt 1: Der Anbieter einer Datenquelle registriert DataSource bei JNDI Namensdienst Schritt 2: Der Verwender holt sich eine Connection bei der DataSource DataSource ds = ( DataSource ) new I n i t i a l C o n t e x t ( ). lookup ( "Name der Datenquelle " ) ; 2 Connection con = ds. getconnection ( ) ; _.tex,v,1.1,october 29, 2006 at 11:37:11 CET 1.2 SQl-Anweisungen und Ergebnismengen select author, t i t l e from Books where ISBN= 3... Seite 9

10 1 2 3 SQL-Gramatik Parsen EXECUTE DIRECT PREPARE STORED PRO- CEDURE erzeugen Systemkatalog Validieren Optimieren zur Laufzeit zur Laufzeit binärer Zugriffsplan erzeugen Zugriff durchführen EXECUTE zur Laufzeit, mehrfach durchführbar STORED PRO- CEDURE verwenden Methode 1: 1 Statement stmt = con. createstatement ( ) ; R e s ultset r s = stmt. executequery ( " s e l e c t author, t i t l e from Books where ISBN = 3... " ) ; Methode 2: Parametrisierte Anweisung PreparedStatement pstmt = con. preparestatement ( " s e l e c t author, t i t l e from Books where ISBN =? " ) ; PreparedStatement wird vom DBMS bei preparestatement(...) vorbereitet/bearbeitet und zwischengespeichert _.tex,v,1.1,october 29, 2006 at 11:37:11 CET 1 pstmt. s e t S t r i n g ( 1, " " ) ; R e s ultset r s = pstmt. executequery ( ) ; Methode 3: CREATEE PRODUCERE char ( 1 3 ) 2 AS select author, t i t l e from Books where i s b n ; 4 6 CallableStatement cstmt = con. p r e p a r e C a l l ( "{ c a l l readbook (? ) }) ; R e s ultset r s = cstmt. executequery ( ) ; Seite 10

11 Arten von Anweisungen a) Abfragende Anweisung liefert ResultSet 1 " s e l e c t... " R esultset r s = stmt. executequery (... ) ; _.tex,v,1.1,october 29, 2006 at 11:37:11 CET b) Modifizierende Anweisung liefert Zahl der veränderten Zeilen 1 " i n s e r t... " " update... " int rows = stmtm. executeupdate (... ) ; 3 " d e l e t e... " c) Beliebige Anweisung liefert ein Boolean 1 "... " boolean t o r f = stmt. execute (... ) ; // true or f a l s e wenn t o r f==true // Ergebnis i s t ResultSet 3 r s. stmt. g e t R e s u l t S e t ( ) ; wenn t o r f==f a l s e // Ergebnis i s t int 5 r s. getupdatecount ( ) ; Ergebnismengen Relationales Modell: Tabellen/Relationen enthalten Zeilen von Werten. Seite 11

12 OO-Programmiersprachen: Variablen, Objekte mit Attributen(Variablen), Datenstrukturen,... -> Konzeptbruch / "paradigma mismatch" Programmiersprache Ein Resultset rs repräsentiert einen Cursor auf eine Zeile der Ergebnismenge (Relation) aus dem DBMS. Die Ergebnismenge muß nicht zwangsläufig bei executequery sofort vollständig materialisiert sein, Zeilen können bei Bedarf nachgeladen werden. Metainformationen über die Ergebnismenge stehen in den SQL-Deskriptoren, beginnend bei 1 für Spalte 1. Arten von Ergebnismengen 1. Scroll-Eigenschaften TYPE_FORWARD_ONLY (Abrufen nur vorwärts, schnell und einfach aber beschränkt) TYPE_SCROLL_INSENSITIVE (Insensitive: Änderungen während der Verarbeitung des Results bleiben unsichtbar) TYPE_SCROLL_SENSITIVE (Sensitive: Alle Änderungen während der Verarbeitung des Results wirken sich sofort aus) 2. Änderbarkeit CONCUR[RENCY]_READ_ONLY (Cursor hat nur Lesezugriff) CONCUR[RENCY]_UPDATEABLE (An der Position des Cursor können Daten verändert werden) 1+2 wird angegeben bei createstatement. _.tex,v,1.1,october 29, 2006 at 11:37:11 CET Seite 12

13 1.3 Metainformationen und adaptives Programmieren 1.4 Architektur von ADO.NET 1.5 Speicherresidente Datenbankstrukturen mit ADO.NET 1.6 Objekt-Relationales Mapping am Beispiel Hibernate 2 Transaktionen und Nebenläufigkeitskontrolle 2.1 Eigenschaften und Verwendung von Transaktionen 2.2 Serialisierbarkeit und Nebenläufigkeitskontrolle 2.3 Isolationslevel in SQL-Datenbanksystemen 2.4 Strategien der Nebenläufigkeitskontrolle 3 Verteilte Datenbanken 3.1 Architektur verteilter Datenbanken 3.2 Datenspeicherung in verteilten Datenbanken 3.3 Verteilte Anfragen 3.4 Änderung verteilter Daten und Replikation 3.5 Verteilte Transaktionen 4 Datenbanksicherheit und Autorisierung _.tex,v,1.1,october 29, 2006 at 11:37:11 CET x Seite 13

14 4.1 Autorisierung und Zugriffskontrolle 4.2 Techniken zum Recovery 5 Datenanalyse zur Entscheidungsfindung 5.1 Data-Warehouses 5.2 Data-Mining 6 Neue Datenbanktechnologien 6.1 XML und Datenbanken 6.2 Temporale Datenbanken 6.3 Geografische Datenbanken 6.4 Logik-basierte Datenbanken _.tex,v,1.1,october 29, 2006 at 11:37:11 CET Seite 14

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. 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

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

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

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

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

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 Datenbanksysteme Programmieren von Datenbankzugriffen mit JDBC Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2018 Übersicht Architektur von JDBC Ziele von JDBC Grundstruktur

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

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

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

Datenbanken & Informationssysteme Übungen Teil 1

Datenbanken & Informationssysteme Übungen Teil 1 Programmierung von Datenbankzugriffen 1. Daten lesen mit JDBC Schreiben Sie eine Java-Anwendung, die die Tabelle Books in der Datenbank azamon ausgibt. Verwenden Sie dabei die SQL-Anweisung select * from

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

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

Klausur Datenbanken II

Klausur Datenbanken II Klausur Datenbanken II 8.3.2001 Name Vorname Semester Matrikelnr Aufgabe Punkte maximal 1 8 2 8 3 3 4 3 5 4 6 6 7 6 8 6 9 [Zusatz] [4] Summe 44 Punkte erreicht Bitte geben Sie die Lösungen möglichst direkt

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

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

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

Datenbankanwendungen (JDBC)

Datenbankanwendungen (JDBC) Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau

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

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

Hauptschritte einer JDBC-App

Hauptschritte einer JDBC-App JDBC Java DataBase Connectivity Sammlung von Klassen und Interfaces zur Arbeit mit Datenbanken auf Basis von SQL Package java.sql Datenbankmanagementsystem und eine oder mehrere Datenbanken Jdbc Driver,

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

JDBC Kurze Einführung

JDBC Kurze Einführung JDBC Kurze Einführung JDBC ist die Implementierung des SQL/CLI (SQL Call-Level Interface) für die Programmiersprache Java. JDBC ist also eine Klassenbibliothek für den Zugriff auf SQL-Datenbanken in Java-Programmen.

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

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

DB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren

DB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren DB-Programmierung Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele static SQL verstehen Build-Prozess / Art des Datenzugriffs Host-Variablen Vor- / Nachteile dynamic SQL verstehen

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

embedded SQL Embedded SQL wurde erstmals im SQL92- Standard definiert.

embedded SQL Embedded SQL wurde erstmals im SQL92- Standard definiert. embedded SQL Embedded SQL (abgekürzt: ESQL) ist eine Spracherweiterung von SQL, mit der es möglich ist, SQL-Anweisungen innerhalb einer strukturierten oder objektorientierten Programmiersprache (der Hostsprache)

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

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

Datenbank und Informationssysteme

Datenbank und Informationssysteme Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 2 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 SQl-Anweisungen und Ergebnismengen.......................

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

Hauptschritte einer JDBC-App

Hauptschritte einer JDBC-App JDBC Java DataBase Connectivity Sammlung von Klassen und Interfaces zur Arbeit mit Datenbanken auf Basis von SQL Package java.sql Datenbankmanagementsystem und eine oder mehrere Datenbanken Jdbc Driver,

Mehr

Udo Matthias Munz. Datenbanken und SQL. mit. Einführung. Informationstechnik

Udo Matthias Munz. Datenbanken und SQL. mit. Einführung. Informationstechnik Udo Matthias Munz Datenbanken und SQL mit Einführung Informationstechnik Zugriff auf eine Datenbank... 2 ODBC... 2 Eine DSN einrichten... 3 Verbindung zu einer Datenbank... 4 Datenbank... 4 Metadaten der

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Sommersemester 2011 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 10. Java: Datenhaltung mit Datenbanken 1 Datenbank-Programme Derby (Hersteller: Apache

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig

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

Kurzübersicht JDBC. Marc Monecke. monecke@informatik.uni-siegen.de. 15. Januar 2003

Kurzübersicht JDBC. Marc Monecke. monecke@informatik.uni-siegen.de. 15. Januar 2003 Kurzübersicht JDBC Marc Monecke monecke@informatik.uni-siegen.de 15. Januar 2003 Zusammenfassung Über JDBC-Schnittstellen können Anwendungsprogramme auf Datenbanken zugreifen, ohne daß dabei hersteller-

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

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

6.9 Java Server Pages

6.9 Java Server Pages DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException

Mehr

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

Mehr

Java Database Connectivity. Gracin Denis, IB 4 C

Java Database Connectivity. Gracin Denis, IB 4 C Java Database Connectivity Gracin Denis, IB 4 C Agenda 1. JDBC-Architektur 2. Treiber der JDBC 2.1 Typ-1 Treiber 2.2 Typ-2 Treiber 2.3 Typ-3 Treiber 2.4 Typ-4 Treiber 3. Verbindungsablauf 4. Connection

Mehr

Anwendungsprogrammierung mit JDBC

Anwendungsprogrammierung mit JDBC Anwendungsprogrammierung mit JDBC Datenbanken - Java - Client/Server von Wolfgang Dehnhardt 1. Auflage Anwendungsprogrammierung mit JDBC Dehnhardt schnell und portofrei erhältlich bei beck-shop.de DIE

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

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

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

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

RELATIONONALE DATENBANKEN MIT JDBC

RELATIONONALE DATENBANKEN MIT JDBC RELATIONONALE DATENBANKEN MIT JDBC Christoph Süsens 07.05.2012 Inhalt Abbildungsverzeichnis...3 Java Database Connection JDBC...4 Herstellen einer Verbindung JDBC - DBMS...4 Treiber Installation Beispiel:

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig

Mehr

Datenbank-Programmierung mit JDBC Weiterbildungsmaßnahme Technische und Praktische Informatik Sommersemester 2003

Datenbank-Programmierung mit JDBC Weiterbildungsmaßnahme Technische und Praktische Informatik Sommersemester 2003 Datenbank-Programmierung mit JDBC Weiterbildungsmaßnahme Technische und Praktische Informatik Sommersemester 2003 DBIS @ BTU Cottbus Dipl-Inf Gunar Fiedler 1 Motivation für JDBC Auf dem Markt existiert

Mehr

Datenbanken SQL JDBC. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 21

Datenbanken SQL JDBC. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 21 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 21 Datenbanken SQL JDBC 2 / 21 Relationale Datenbanken Ein Datenbanksystem ist ein System zur Speicherung von (großen) Datenmengen:

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

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist herstellerabhängig

Mehr

Einführung in JDBC. IFIS Universität zu Lübeck 18.04.2007

Einführung in JDBC. IFIS Universität zu Lübeck 18.04.2007 Einführung in JDBC IFIS Universität zu Lübeck 18.04.2007 1 Was ist JDBC Standard für relationale DB: SQL Vor JDBC: Open Database Connectivity (ODBC), uniforme Schnittstelle für Zugriff JDBC: Programmierschnittstelle

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

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

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

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

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

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

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

Skalierbare Webanwendungen mit Python und Google App Engine

Skalierbare Webanwendungen mit Python und Google App Engine Skalierbare Webanwendungen mit Python und Google App Engine Oliver Albers 03. Juli 2008 1/32 Einführung Worum geht es? Pro und Contra Technik Genereller Aufbau Anwendungskonfiguration Verarbeitung von

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

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

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

JSP, Tomcat, JDBC. Agenda. Übung Informationsintegration 3.5.2004. JSP & Tomcat JDBC. l Syntax. l Implizite Objekte. l Direktiven

JSP, Tomcat, JDBC. Agenda. Übung Informationsintegration 3.5.2004. JSP & Tomcat JDBC. l Syntax. l Implizite Objekte. l Direktiven JSP, Tomcat, JDBC Übung Informationsintegration 03.05.2004 Agenda JSP & Tomcat Syntax Impizite Objekte Direktiven JDBC 2 Java Server Pages - JSP Was ist eine JSP? Bietet die Mögichkeit, dynamischen Inhat

Mehr

MySQL mit MyLinux. boehm@2xp.de. 2/2003 boehm@2xp.de Java unter Linux

MySQL mit MyLinux. boehm@2xp.de. 2/2003 boehm@2xp.de Java unter Linux Bild: www.carsten-lehmann.de MySQL mit MyLinux boehm@2xp.de 1 MySQL mit MyLinux Überblick über MySQL & Co Überblick über MySQL MySQL in 5 Minuten JDBC mit MySQL Ende 2 Überblick über MySQL & Co 3 Datenbanken

Mehr

Oracle & Java HOW TO

Oracle & Java HOW TO Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau

Mehr

Connection Pooling. Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen.

Connection Pooling. Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen. Connection Pooling Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen. Wo wird es eingesetzt?? Connection Pooling wird vor allem in Verbindung

Mehr

Ziel: Verständnis für Konzepte von JDBC aufbauen

Ziel: Verständnis für Konzepte von JDBC aufbauen 11. JDBC Grundsätzliche Nutzung von JDBC Verbindungsaufbau Anfragen Analyse des erhaltenen Ergebnisses Veränderungen des Ergebnisses Ziel: Verständnis für Konzepte von JDBC aufbauen 253 Überblick: Datenbankanfragen

Mehr

Datenbank Anbindung. Arthur Zaczek. Nov 2014

Datenbank Anbindung. Arthur Zaczek. Nov 2014 Arthur Zaczek Nov 2014 1 Datenbank Anbindung 1.1 Übersicht Datenbankanbindung mit JDBC und ADO.NET. 1.2.NET ADO.NET Kein Treiberkonzept. Jede Datenbank hat eigenes Set an Klassen. Meistens wird für nur

Mehr

Mehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank. Carsten Czarski Business Unit Database Oracle Deutschland GmbH

Mehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank. Carsten Czarski Business Unit Database Oracle Deutschland GmbH Mehr Performance mit JDBC JAVA-Anwendungen und die Oracle-Datenbank Carsten Czarski Business Unit Database Oracle Deutschland GmbH Oracle JDBC Treiber Versionen Datenbank-Release J D B C 10.1.0 9.2.0 9.0.1

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

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

Programmieren II. Relationale Datenbanken. Vorlesung 07. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011.

Programmieren II. Relationale Datenbanken. Vorlesung 07. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Datenbanken SQL-Grundlagen JDBC SQL-Constraints 2 / 26 Relationale Datenbanken Ein Datenbanksystem ist ein System zur

Mehr

Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können!

Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! Datenbanken: Standard CLI und JDBC Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! (Endanwendern ist nicht zuzumuten, SQL zu lernen

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Datenbankzugriff mit JDBC

Datenbankzugriff mit JDBC Programmieren / Java Datenbankzugriff mit JDBC Frage Nr. 13 Datenbankzugriff mit JDBC Ausarbeitung einer Maturafrage aus dem Fach P r o g r a m m i e r e n / J a v a Andreas Hechenblaickner 5CDH HTBLA

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Lösungen zu Datenbank und Informationssysteme

Lösungen zu Datenbank und Informationssysteme zu Datenbank und Informationssysteme A Programmierung von Datenbankzugriffen 1. Daten lesen mit JDBC Schreiben Sie eine Java-Anwendung, die die Tabelle Books in der Datenbank Azamon des Servers MMSERV

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

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) 4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

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

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape 6. Übung Aufgabe 1: In dieser Übung sollen Sie eine kleine Java-Anwendung schreiben, die auf die Oracle-Datenbank

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

6. Übung - Datenbankprogrammierung

6. Übung - Datenbankprogrammierung 6. Übung - Datenbankprogrammierung Java Database Connectivity (JDBC) und Open Database Connectivity (ODBC) Ziel der Übung. Kommunikation von C- und Java-Anwendungen mit DB2. Aufgaben Teil 1: JDBC Verwenden

Mehr

Datenbankzugriff über JDBC Datenbanken I (Systemorientierte Informatik IV) SS 2007. 1 Einführung

Datenbankzugriff über JDBC Datenbanken I (Systemorientierte Informatik IV) SS 2007. 1 Einführung Concept Content Information Topic Datenbankzugriff über JDBC Datenbanken I (Systemorientierte Informatik IV) SS 2007 Gunar Fiedler (fiedler@isinformatikuni-kielde) Institut für Informatik Arbeitsgruppe

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

PHP. Prof. Dr.-Ing. Wolfgang Lehner. Diese Zeile ersetzt man über: Einfügen > Kopf- und

PHP. Prof. Dr.-Ing. Wolfgang Lehner. Diese Zeile ersetzt man über: Einfügen > Kopf- und 8. PHP Prof. Dr.-Ing. Wolfgang Lehner Diese Zeile ersetzt man über: Einfügen > Kopf- und PHP PHP (Hypertext Preprocessor) Serverseitige Skriptsprache (im Gegensatz zu JavaScript) Hauptanwendungsgebiet:

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests. Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden

Mehr

Tag 5 Inhaltsverzeichnis

Tag 5 Inhaltsverzeichnis Tag 5 Inhaltsverzeichnis ODBC / JDBC: Ziel und Prinzip JDBC Überblick Erstes Beispiel Queries (Execute- und UpdateQuery) Der Typ "ResultSet" Diverses Metadata PreparedStatement Transaktionen und Batches

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 15.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung Programmieraufwand für geübte

Mehr

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Gregor Raschke 2008 HIBERNATE. Eine Einführung 1 HIBERNATE Eine Einführung Inhalt 2 Einleitung Beispielkonfiguration Die hibernate.cfg.xml Eine Beispieltransaktion Abfragemöglichkeiten JPA und Hibernate Ressourcen und Quellen Einleitung (1) - Geschichtliches

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

PL/SQL Web-Services mit Oracle 11g

PL/SQL Web-Services mit Oracle 11g DOAG 2008 Konferenz 01. - 03.12.2008 Nürnberg Markus Fiegler ORDIX AG, Paderborn mf@ordix.de www.ordix.de Agenda SOA und Web-Services im Überblick Datenbank als Web-Services Provider - Alternative mit

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

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

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

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