JDBC. Udo Kelter
|
|
- Rosa Geiger
- vor 7 Jahren
- Abrufe
Transkript
1 JDBC Udo Kelter Zusammenfassung dieses Lehrmoduls JDBC (Java Database Connectivity) ist eine Schnittstelle, über die von Java-Programmen aus auf die Inhalte relationaler Datenbanken zugegriffen werden kann. Dieses Lehrmodul stellt die wichtigsten Funktionen vor. Insb. wird die Frage beantwortet, wie mit einer typsicheren Sprache wie Java die Ergebnisse von Abfragen, deren Typ man nicht statisch bestimmen kann, verarbeitet werden können. Vorausgesetzte Lehrmodule: obligatorisch: Einführung in SQL Stoffumfang in Vorlesungsdoppelstunden: 1.0 1
2 JDBC 2 Inhaltsverzeichnis 1 Motivation 3 2 Aufbau einer Verbindung zum Datenbankserver JDBC-Treiber laden Connection-Objekt erzeugen SQL-Statements SQL-Statement-Objekte erzeugen executeupdate executequery ResultSets ResultSet als lineare Liste Cursors (Positionsmarken) Positionierbare ResultSets Auslesen eines Tupels Automatisch aktualisierte ResultSets Änderbare ResultSets Motivation Ändern eines Tupels Löschen von Tupeln Einfügen von Tupeln Vorübersetzte Statements 12 7 Fehlerbehandlung 14 Index Dieser Text darf für nichtkommerzielle Nutzungen als Ganzes und unverändert in elektronischer oder gedruckter Form beliebig weitergegeben werden und in WWW-Seiten, CDs und Datenbanken aufgenommen werden. Jede andere Nutzung, insb. die Veränderung und Überführung in andere Formate, bedarf der expliziten Genehmigung. Die jeweils aktuellste Version ist über erreichbar.
3 JDBC 3 1 Motivation Viele einfache ad-hoc-abfragen zu einer bestehenden relationalen Datenbank können mit wenigen Abfragen über einen interaktiven Kommandointerpreter, den jedes DBMS-Produkt mitliefert, erledigt werden. Für komplexere Abfragen und erst recht umfängliche Änderungen von Daten in einer Datenbank ist eine derartige interaktive, also manuelle Vorgehensweise nicht geeignet. Stattdessen sollte bzw. muß von einem (laufenden) Programm aus auf die Datenbank zugegriffen werden. Hierbei treten folgende Detailprobleme auf: Aufbau und Überwachung einer Verbindung zum Datenbankserver die Konversion von Daten in der Datenbank in den Laufzeitobjekten der jeweiligen Programmiersprache und umgekehrt. In der Regel weisen die Typsysteme der Datenbank und der Programmiersprache erhebliche Unterschiede auf. Besonders schwierig ist speziell für Abfragen die Entwicklung einer Laufzeit-Datenstruktur, die die zurückgelieferte (Ergebnis-) Relation implementieren kann. die Gestaltung geeigneter und leicht nutzbarer APIs für sämtliche SQL-Kommandos die Fehlerbehandlung. Im Prinzip kann z.b. bei der üblichen Prozeßarchitektur von DBMS-Laufzeitumgebungen jederzeit die Verbindung zum DBMS-Serverprozeß gestört sein. Fast alle vorstehenden Detailprobleme müssen spezifisch für die jeweilige Programmiersprache gelöst werden. Daher existieren für die gängigen Programmiersprachen jeweils eigene Anbindungen, um von Programmen in dieser Sprache auf eine relationale Datenbank zugreifen zu können. Man kann ganz grob zwei Arten von Anbindungen unterscheiden: reine APIs bzw. Bibliotheken: die Bibliotheken werden zu dem Programm, das eine Datenbank benutzt, nach dessen Kompilierung hinzugebunden. Die Funktionen der Bibliothek werden durch manuell erstellte Aufrufe benutzt. Derartige APIs werden auch als
4 JDBC 4 Treiber (driver) bezeichnet, in Analogie zum Anschluß von Plattenlaufwerken. Ein Entwickler hat hier viele Gestaltungsmöglichkeiten, muß sich aber auch um viele Details kümmern. Präprozessoren und automatisierte Konversionen: Die Konversion von Daten und andere Details werden hier durch einen Präprozessor automatisiert, der insb. die Datenstrukturen analysiert, die persistent gemacht werden sollen, und entsprechende Tabellen definiert und API-Aufrufe generiert. Auf der einen Seite wird hier viele manuelle Programmierung vermieden, andererseits muß man i.d.r. zunächst ein komplexes Framework verstehen. In diesem Lehrmodul stellen wir ein API für die Sprache Java vor, JDBC. JDBC (Java Database Connectivity) ist... the industry standard for database-independent connectivity between the Java programming language and a wide range of SQL databases and other tabular data sources, such as spreadsheets or flat files. 1 2 Aufbau einer Verbindung zum Datenbankserver 2.1 JDBC-Treiber laden Ein Datenbankprodukt, das JDBC unterstützt, muß eine eigene Implementierung des APIs mitliefern. Dieser Treiber wird identifiziert durch Paket- und Klassennamen, beispielsweise: org.postgresql.driver. Der Treiber muß als erstes zum Benutzerprogramm hinzugebunden und geladen werden, und zwar mit einem Kommando der Form Class.forName(driver class);. Beispiel: Class.forName("org.postgresql.Driver"); 1 Quelle:
5 JDBC Connection-Objekt erzeugen Damit das laufende Applikationsprogramm mit dem DBMS-Serverprozeß kommunizieren kann, muß eine Kommunikationsverbindung zwischen beiden Prozessen hergestellt werden. Zur Laufzeit werden solche Verbindungen durch Connection-Objekte repräsentiert. Deklariert wird eine derartiges Objekt wie folgt Connection con = null; Um die Verbindung tatsächlich aufzubauen, muß die Operation getconnection benutzt werden, die der DriverManager zur Verfügung stellt. Muster: con = DriverManager.getConnection(db, user, passw); Die Parameter von getconnection sind wie folgt anzugeben: db user Die Datenbank ist in folgender Syntax anzugeben: protokoll://rechnername/dateipfad Beispiel: jdbc:postgresql://pi81.informatik.uni-siegen.de/dbs1 Dieses Beispiel zeigt, daß Protokolle aufeinander aufbauen können. Oft wird z.b. ein Java-API auf Basis eines schon existierenden C-APIs implementiert. Benutzername passw Passwort Wenn die Operation getconnection erfolgreich ausgeführt wurde, kann anschließend auf die Datenbank zugegriffen werden. 3 SQL-Statements 3.1 SQL-Statement-Objekte erzeugen Letztlich will man SQL-Kommandos ausführen. Hierzu müssen zunächst Objekte erzeugt werden, die die SQL-Kommandos repräsentieren. Diese Objekte haben den vordefinierten Typ Statement. Hierbei sind mehrere Schritte zu trennen:
6 JDBC 6 1. ein Statement-Objekt erzeugen und initialisieren 2. eine Anweisung eintragen 3. die enthaltene Anweisung ausführen (ggf. mehrfach) Ein Statement-Objekt kann mit der Operation createstatement erzeugt und initialisiert werden: Statement stmt; stmt = con.createstatement(); Im Zustand des Statement-Objekts ist vermerkt, zu welcher Verbindung es gehört. Daher braucht die Verbindung nicht mehr jedesmal erneut angegeben zu werden. Mit einem initialisierten Statement-Objekt können nun beliebige SQL-Kommandos durchgeführt werden. Im einfachsten Fall wird das SQL-Kommando textuell als Argument übergeben und ausgeführt. Wegen der unterschiedlichen Rückgaben sind hier zwei Fälle zu unterscheiden: Abfragen: Zurückgeliefert wird hier eine Tabelle. Dementsprechend gibt es eine Operation zur Ausführung einer Abfrage, die eine Tabelle liefert (executequery). Alle anderen SQL-Kommandos: Diese sind mit der Operation executeupdate durchzuführen. 3.2 executeupdate executeupdate ist für alle SQL-Kommandos zu benutzen, die eine Datenbank ändern (insb. create table, insert, delete,...). Die Syntax ist: int executeupdate(string sql) Beispiel: int num = stmt.executeupdate("insert..."); executeupdate liefert einen Integer-Wert zurück, der bestimmte Informationen über das Ausführungsergebnis darstellt:
7 JDBC 7 ggf. die Zahl der eingefügten / gelöschten / geänderten Tupel 0 bei create table und u.ä. Kommandos 3.3 executequery In JDBC ist eine Tabelle durch die Klasse ResultSet implementiert. executequery liefert daher einen solchen ResultSet. Beispiel: ResultSet result = stmt.executequery("select..."); Es gibt mehrere Arten von ResultSets, die wir i.f. vorstellen. 4 ResultSets 4.1 ResultSet als lineare Liste Eine Tabelle ist konzeptuell betrachtet eine Kollektion von Tupeln. Es gibt unterschiedliche Methoden, Kollektionen zu implementieren. Die einfachste Form ist eine lineare Liste, dies ist auch das Standardverhalten von executequery. D.h. das Java-Kommando ResultSet result = stmt.executequery("select..."); erzeugt eine lineare Liste (wozu der Name ResultSet nicht so ganz paßt) von Tupeln (rows). Lineare Listen kann man jeweils nur sequentiell von vorne bis zum Ende durchlaufen. Die Klasse ResultSet bietet hierzu die Operation next an. Beispiel: while(result.next()) { verarbeite aktuelles Tupel } 4.2 Cursors (Positionsmarken) Jeder ResultSet hat als Teil seines Zustands einen Cursor, also eine aktuelle Position in der Liste. Gedanklich besteht die Menge der Cursorpositionen aus den Positionen zwischen zwei aufeinanderfolgenden Tupeln und der Position vor dem ersten und nach dem letzten Tupel. Bei n Tupeln im ResultSet gibt es also n + 1 Cursorpositionen; diese sind von 0 bis n durchnumeriert.
8 JDBC 8 Initial steht der Cursor vor dem ersten Tupel. Die Operation next bezieht sich implizit auf den Cursor des ResultSets. Der Haupteffekt von next besteht darin, den Cursor eine Position weiter zu verschieben. Aktuelles Tupel. Für jede Cursorposition p > 0 ist ein aktuelles Tupel definiert, und war das Tupel, das sozusagen zwischen den Cursorpositionen p 1 und p steht. Die Tupel eines ResultSets sind auf diese Weise von 1 bis n durchnumeriert. Nur auf das aktuelle Tupel kann zugegriffen werden, hierauf gehen wir später genauer ein. 4.3 Positionierbare ResultSets Wenn man ein Abfrageergebnis nur unverändert ausgibt, reicht eine lineare Liste völlig aus. Wenn man hingegen den ResultSet wiederholt durchsuchen muß oder einzelne Tupel z.b. anhand ihrer Positionsnummer direkt lokalisieren will, ist eine wiederholte lineare Suche ineffizient. Statt als lineare Liste können ResultSets daher als beliebig positionierbare ( scrollbare ) Kollektion erzeugt werden; hierzu ist in der Operation createstatement das Argument ResultSet. TYPE SCROLL INSENSITIVE anzugeben. Beispiel: stmt = con.createstatement( ResultSet.TYPE_SCROLL_INSENSITIVE); result = stmt.executequery("select..."); Für einen solchen positionierbaren ResultSet stehen diverse Positionierungsoperationen, und zwar 2 : relative Veränderungen der aktuellen Cursorposition: next(), previous(), relative(int) 2 Details s. JDBC-Tutorial, Abschnitt Cursors /tutorial/jdbc/basics/retrieving.html#cursors bzw. Spezifikation der Klasse ResultSet
9 JDBC 9 absolute Veränderungen: first(), beforefirst(), last(), afterlast(), absolute(int) Mit der Operation int getrow() kann die Nummer der aktuellen Cursorposition bestimmt werden. Mit absolute(int) kann man später zu dieser Cursorposition zurückkehren. 4.4 Auslesen eines Tupels Man steht beim Zugriff von Programmen auf Datenbanken vor dem generellen Problem, daß die Typwelten, insb. die elementaren Datentypen und die Typkonstruktoren, nicht übereinstimmen. Im Fall von Java ist hier zusätzlich relevant, daß Java grundsätzlich als typsichere Sprache gestaltet ist, d.h. der Typ von Objekten kann bereits beim Compilieren bestimmt werden, was extreme softwaretechnische Vorteile bei der Identifikation von Fehlern bietet. Im krassen Widerspruch dazu steht die geringe Typsicherheit von SQL. Die Abfrage SELECT * FROM r liefert eine Tabelle eines Typs, der erst zur Laufzeit bestimmt werden kann. Weiterhin sind diverse Detailinformationen über die Datentypen der Spalten einer Tabelle aus den Abfragen nicht erkennbar. Beispielsweise kann der Compiler bei einer Abfrage executequery("select A FROM r") statisch nicht wissen, welchen Typ die Spalte A hat. Noch weniger weiß der Compiler, wenn der String, der die Abfrage definiert, dynamisch erzeugt wird und von vorherigen interaktiven Eingaben abhängt. Daher muß letzten Endes ein Entwickler explizit angeben, welche Typen die Spalten eines zurückgelieferten ResultSets haben. Technisch wird dieses Problem dadurch gelöst, daß die Attribute des aktuellen Tupels einzeln durch typspezifische Kopieroperationen gelesen und z.b. auf Laufzeitvariablen übertragen werden. Die Operationsnamen dieser Kopieroperationen haben die Form getxxx, worin XXX ein Typname ist, z.b. getint, getstring usw. Eigenschaften dieser Operationen: Sie beziehen sich auf das aktuelle Tupel.
10 JDBC 10 Sie lesen den Wert eines Attributs des aktuellen Tupels. Sie liefern einen Wert vom Typ XXX zurück. Hierbei werden ggf. Werte implizit konvertiert(!), was u.u. nicht beabsichtigt war. Als Entwickler muß man also den Typ des Attributs kennen und die passende get-operation benutzen. Für alle get-operationen existieren jeweils zwei Varianten, wie das gewünschte Attribut identifiziert wird: getxxx(string): anhand des Namens getxxx(int): anhand der Position (1,...) Beispiele: name = result.getstring("vorname"); plz = result.getint(5); Alle get-operationen sind in der Spezifikation der Klasse Result- Set genauer beschrieben. 4.5 Automatisch aktualisierte ResultSets Wenn ein ResultSet nach den bisherigen Verfahren durch ein executequery erzeugt wird, ist sein Inhalt eine Kopie der Daten aus der DB zum Zeitpunkt der Abfrage. Wenn sich die Datenbank danach ändert, bleibt der ResultSet unverändert, d.h. der ResultSet gibt ggf. den aktuellen Stand der Daten nicht mehr richtig wieder. In vielen Fällen ist es wünschenswert, daß der ResultSet sich automatisch an Änderungen in der Datenbank anpaßt. Die Lösung dieses Problems sind sensitive ResultSets, die mit dem Argument ResultSet. TYPE SCROLL SENSITIVE in der Operation createstatement erzeugt werden. Beispiel: stmt = con.createstatement( ResultSet.TYPE_SCROLL_SENSITIVE); result = stmt.executequery("select...");
11 JDBC 11 5 Änderbare ResultSets 5.1 Motivation Die bisher eingeführten ResultSets waren unveränderlich, es sind nur lesende Operationen erlaubt. Oft wäre es aber praktisch, einen Result- Set zu durchlaufen und dabei bestimmte Attribute einzelner oder aller Tupel sofort nach dem Lesen zu verändern. Theoretisch kann man für jede einzelne Änderung ein update-kommando mit executeupdate durchführen. Dies wäre allerdings sehr umständlich und ineffizient. Eine elegantere Lösung sind änderbare ResultSets 3. Um einen änderbaren ResultSet zu erzeugen, ist die Operation createstatement mit dem Argument ResultSet.CONCUR UPDATABLE aufzurufen. Beispiel: stmt = con.createstatement( ResultSet.CONCUR_UPDATABLE); result = stmt.executequery("select..."); 5.2 Ändern eines Tupels In einem änderbaren ResultSet können die Attribute des aktuellen Tupels mit updatexxx-operationen verändert werden, z.b. updateint, updatestring usw. Diese sind analog zu den getxxx-operationen konzipiert. Eigenschaften der updatexxx- Operationen: Sie beziehen sich implizit auf das aktuelle Tupel. XXX ist ein Typname. Der 1. Parameter ist der Name (Typ: string) oder die Nummer (Typ: integer) des gewünschten Attributs. Der 2. Parameter ist vom Typ XXX, er enthält den neuen Wert des Attributs. Auch hier werden ggf. Werte implizit konvertiert, was u.u. nicht beabsichtigt war. Der Rückgabewert ist void. 3 Nach einer Änderung ist der Begriff ResultSet eigentlich nicht mehr korrekt.
12 JDBC 12 Beispiele: result.updatestring("vorname", "Hans"); result.updateint(5,57076); Alle update-operationen sind in der Spezifikation der Klasse ResultSet beschrieben. Die Änderungen einzelner Attribute werden nicht sofort in die Datenbank übertragen, sondern nur gesammelt pro Tupel mit der Operation updaterow(). 5.3 Löschen von Tupeln Die Operation deleterow() löscht das aktuelle Tupel im ResultSet und in der Datenbank. 5.4 Einfügen von Tupeln Das Einfügen von Tupeln in einen ResultSet wird durch eine spezielle zusätzliche Cursorposition und ein zugehöriges virtuelles Einfüge- Tupel ( insert row ) unterstützt. Zunächst muß man mit der Operation movetoinsertrow() den Cursor auf das Einfüge-Tupel setzen: result.movetoinsertrow(); Danach kann man mit den update-operationen Attribute dieses Tupels ändern. Wenn man damit fertig ist, fügt man mit der Operation insertrow() das neue Tupel in den ResultSet und in die Datenbank ein: result.insertrow(); Danach kann man mit der Operation movetocurrentrow() den Cursor wieder an die Stelle zurücksetzen, den er vor Ausführung des movetoinsertrow() hatte. 6 Vorübersetzte Statements Wenn man viele Daten ändert, sind änderbare ResultSets i.d.r. die beste Methode. Änderbare ResultSets werden aber nicht von allen Systemen unterstützt, dann bleibt nichts anderes übrig als mit einzelnen
13 JDBC 13 Änderungskommandos zu arbeiten. Dies ist relativ rechenaufwendig, weil bei der Übersetzung des Kommandotextes jedesmal erneut alle üblichen Prüfungen auf korrekte Syntax, Vorhandensein der Bezeichner usw. durchgeführt werden müssen. Dieser Aufwand ist vermeidbar, wenn immer wieder fast das gleiche SQL-Kommando ausgeführt wird, und zwar mithilfe vorübersetzter Statements (Prepared Statements). Ein vorübersetzbares Statement ist ein Kommando-Text, der an den Stellen, wo ein Eingabeparameter (ein Bezeichner oder eine Konstante) erwartet wird, ein Fragezeichen enthält. Man kann dies auch als eine Funktionsdeklaration betrachten, jedes Fragezeichen steht für einen Parameter. Beispiel: String insertcmd = "INSERT INTO lieferungen " + "(Kundennummer, Lieferadresse, Betrag, Datum) " + "VALUES (?,?,?, )"; In diesem Beispiel wird die Eintragung mehrerer Lieferungen am in die Relation lieferungen vorbereitet. Vorübersetztende Statements werden in 3 Phasen definiert und ausgeführt: 1. Der vorzuübersetzende Text wird mit der Operation preparestatement übersetzt, zurückgeliefert wird ein Objekt vom Typ PreparedStatement. Beispiel: PreparedStatement psinsertlfg; psinsertlfg = con.preparestatement(insertcmd); 2. Die offenen Stellen, sozusagen die Parameter des PreparedStatements, werden gefüllt, s.u. 3. Nach Setzen der Werte aller Parameter wird das vervollständigte PreparedStatement mit der Operation executeupdate ausgeführt. Beispiel: psinsertlfg.executeupdate(); Setzen der Parameter eines PreparedStatements. Hierzu dienen setxxx-kommandos, die für Objekte des Typs Preparedc 2016 Udo Kelter Stand:
14 JDBC 14 Statement definiert sind. Analog wie bei den getxxx-kommandos steht XXX auch hier wieder für einen elementaren Datentyp. Die setxxx-kommandos haben 2 Parameter: 1. die Nummer des offenen Eingabeparameters 2. den zu benutzenden Wert, der vom Typ XXX sein muß Beispiele: psinsertlfg.setint (1, ); psinsertlfg.setstring (2, "Bahnhofstr. 55"); Weitere Details s. 7 Fehlerbehandlung Wie schon früher erwähnt sind bei jedem Datenbankzugriff prinzipiell immer Fehler möglich, z.b. Syntaxfehler oder der Verlust der Verbindung zum DBMS-Serverprozeß. Alle Datenbankzugriffe müssen daher selbst bei ersten Übungsaufgaben in try/catch-blöcken gekapselt werden. Eine detaillierte Behandlung aller Fehlerursachen ist relativ aufwendig und kann ggf. Teile der Applikationslogik beinhalten. Bei ersten Übungen kann man auf eine detaillierte Fehlerbehandlung zunächst verzichten. Alle SQL-Zugriffsoperationen werfen Exceptions vom Typ SQLException. Über diese exception-objekte können diverse Informationen über die Art des Fehlers herausgefunden werden. Die Klasse SQLException bietet hierzu folgende Operationen an: getmessage() liefert eine verbale Beschreibung des Fehlers getsqlstate() liefert einen Fehlercode gemäß dem ANSI- bzw. ISO- Standard geterrorcode() liefert einen herstellerspezifischen Fehlercode, dessen Bedeutung in der Produktdokumentation definiert sein muß. Bei einen Datenbankzugriff können i.a. mehrere SQLExceptions
15 JDBC 15 auftreten. Deren Abhängigkeitsstruktur kann mit Hilfe der Operation getcause() abgefragt werden. Warnungen. Neben Fehlern können Datenbankzugriffe auch Warnungen produzieren. Während ein Fehler die nicht erfolgreiche Ausführung eines SQL-Kommandos anzeigt und ggf. zu einem Programmabbruch führt, treten Warnungen auch bei einer erfolgreichen Ausführung des Kommandos auf. Beispielsweise kann bei einer Konversion von Datenwerten ein Rundungsfehler aufgetreten sein. Warnungen müssen mit der Operation getwarnings abgerufen werden. Diese Operation ist u.a. für die Klassen Connection, Statement, PreparedStatement und ResultSet definiert, also bei allen Objekten aufrufbar, die Ergebnis von Datenbankzugriffen sind. Analog zu Fehlern sind Informationen über die Warnung abrufbar, und ein Datenbankzugriff kann mehrere Warnungen verursachen. Weitergehende Informationen SQLExceptions bzw. Warnungen s. u.a. zum Auslesen der Liste der
JDBC (Stichworte) Udo Kelter
JDBC (Stichworte) Udo Kelter 19.12.2011 Zusammenfassung dieses Lehrmoduls JDBC (Java Database Connectivity) ist eine Schnittstelle, über die von Java-Programmen aus auf die Inhalte relationaler Datenbanken
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
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
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
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
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)
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
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
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
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
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
Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6
Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez. 2011 Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Datenbanksysteme I Aufgabe 1: Deklarative Änderungsoperationen
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)
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
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
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:
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
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
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)
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-
Datenbanken SQL-Grundlagen JDBC SQL-Constraints. Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011
Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 Datenbanken 2 SQL-Grundlagen 3 JDBC 4 SQL-Constraints Relationale Datenbanken Ein Datenbanksystem ist ein System zur Speicherung
Johannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Weiterführende Spracheigenschaften
JAVA Weiterführende Spracheigenschaften 100 AGENDA Strings Exceptions Enums Generics Lambdas & Methods Bulk-Operations 101 DIE KLASSE STRING Zeichenketten werden in Java als String repräsentiert Wie der
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
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
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
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für
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
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
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
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
Der Einsatz von SELECT from INSERT auf dem System i
Zwei Operationen werden zu einer neuen Funktion von Jinmei Shen und Karl Hanson INSERT und SELECT waren vor V6R1 in DB2 für i5/os zwei getrennte Operationen. Um eingefügte Spaltenwerte abzufragen, konnte
Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3
Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................
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)
Ausgewählte Implementierungsprobleme
Ausgewählte Implementierungsprobleme Rebecca Tiarks 22. Januar 2009 1 / 50 Inhaltsverzeichnis 1 2 / 50 Datenbanken Sammeln, Zugreifen und Verwalten von Daten in der Computerwelt geschieht das mit Datenbanken
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
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1
Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1
Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
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
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,
Implementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
Es geht also im die SQL Data Manipulation Language.
1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.
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
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
12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL
12. Datenschutz: Zugriffsrechte in SQL 12-1 Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten
GML und Bibliothek oracle.sdoapi
GML und Bibliothek oracle.sdoapi Nachfolgend werden die Java-Klassen aus dem GML-Kapitel unter Verwendung der alten Klassenbibliothek oracle.sdoapi dargestellt. Erzeugung von GML 3.1 aus SDO_GEOMETRY-Objekten
Musterlösung Übungsblatt 11
Julia Wolters Abgabe: 06.07.2009 Aufgabe 41 1 Aufgabe 41 2 3 CREATE TABLE auftraege ( 4 anfang TIMESTAMP NOT NULL, 5 ende TIMESTAMP, 6 kunde VARCHAR, 7 beschreibung VARCHAR, 8 PRIMARY KEY ( anfang, kunde,
Datenbank und Tabelle mit SQL erstellen
Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`
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
1a) SQL Stored Procedure via IDs
1a) SQL Stored Procedure via IDs Erstellen Sie analog zu Aufgabe 2d) des ersten Übungsblatts eine SQL Stored Procedure, welche den Freundschaftsgrad zweier Benutzer eines sozialen Netzwerks aktualisiert.dazu
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
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
Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
Datenschutz: Zugriffsrechte in SQL
12. Datenschutz: Zugriffsrechte in SQL 12-1 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt Datenschutz: Zugriffsrechte in SQL 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten
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
Klassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
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
Einstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
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......................
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Aufgabe 2 + 3: Datenbanksysteme I import java.sql.*; import oracle.jdbc.driver.*;
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:
Client/Server-Programmierung
Client/Server-Programmierung WS 2017/2018 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. September 2017 Betriebssysteme / verteilte
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:
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,
11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
Datentypen. strukturierte. elementare. skalare reelle statische dynamische int. list. real float. set. record. inhomogen. homogen
Datentypen elementare strukturierte skalare reelle statische dynamische int real float list homogen set inhomogen record Der elementare Datentyp nat bestehend aus einer Objektmenge und den darauf definierten
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
10.4 Konstante Objekte
10.4 Konstante Objekte Genau wie bei einfachen Datentypen (int,double,...) kann man auch Objekte als const deklarieren. Eine solche Deklaration bedeutet, daß alle Attribute so behandelt werden, als wären
Datenbanksysteme I. Aufgabe 1: Views und Temporäre Relationen. Lösungsvorschlag:
Universität Augsburg, Institut für Informatik Wintersemester 2010/2011 Prof. Dr. W. Kießling 10. Dez. 2010 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 6 Aufgabe 1: Views und Temporäre Relationen Datenbanksysteme
Auf dieser und den beiden folgenden Folien wurde jeweils ein neues Objekt der Klasse FigurMalerei erstellt und die angegebene Methode ausgeführt.
432 433 434 435 Auf dieser und den beiden folgenden Folien wurde jeweils ein neues Objekt der Klasse FigurMalerei erstellt und die angegebene Methode ausgeführt. 436 437 438 439 440 441 442 443 Die verkürzte
Einstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von
Einführung: Verteilte Systeme - Remote Method Invocation -
Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation
12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Tag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
Ü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
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
Übung Datenbanksysteme I Embedded SQL, Stored Procedures, JDBC
Übung Datenbanksysteme I G-3.1.09, Campus III Hasso Plattner Institut Motivation Grenzen von SQL 1. Bedingte Anweisungen Erhöhe das Gehalt eines Arbeitsnehmers um 2%, falls er eine Belobigung erhalten
Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 6 - Musterlösung
WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 05.12.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 - Musterlösung Aufgabe 21 * (Objektrelationale
Ü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
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
Universität Augsburg, Institut für Informatik WS 2014/2015 Prof. Dr. W. Kießling 28. Nov. 2014 F. Wenzel, L. Rudenko Lösungsblatt 6
Universität Augsburg, Institut für Informatik WS 2014/2015 Prof. Dr. W. Kießling 28. Nov. 2014 F. Wenzel, L. Rudenko Lösungsblatt 6 Aufgabe 1: SQL: DDL und DML a) DDL: Datenbanksysteme I CREATE TABLE Bundeslaender
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
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
Abschnitt 10: Datenstrukturen
Abschnitt 10: Datenstrukturen 10. Datenstrukturen 10.1Einleitung 10.2 Peer Kröger (LMU München) Einführung in die Programmierung WS 16/17 829 / 867 Einleitung Überblick 10. Datenstrukturen 10.1Einleitung
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 2 Spezifikation Schrittweise Verfeinerung Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69,
SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement
SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden
Java Database Connectivity API / JDBC
Java Database Connectivity API / JDBC Motivation Design Treiber Grundlagen Metadaten Transaktionen Exceptions Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf DBMS
Datenzugriffskomponente mit JPA 2.1
Datenzugriffskomponente mit JPA 2.1 (Grundlagen der Java Persistence Architecture) Vladislav Faerman Gliederung Einführung Konfiguration Objekt-Relationales Mapping (ORM) mit JPA Das zentrale Konzept der