Client/Server-Programmierung
|
|
|
- Louisa Fleischer
- vor 10 Jahren
- Abrufe
Transkript
1 Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme [email protected] Tel.: 0271/ , Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte Systeme Client/Server-Programmierung (1/15) i Client/Server-Programmierung WS 2014/ Java Database Connectivity (JDBC) Betriebssysteme / verteilte Systeme Client/Server-Programmierung (2/15) 62
2 2 Java Database Connectivity (JDBC) Überblick Java-API zum portablen Zugriff auf relationale Datenbank- Systeme Unabhängig von konkreter Datenbank-Implementierung Funktionen: Verbindung zur Datenbank herstellen Ausführung von SQL-Anweisungen Zugriff auf Abfrage-Ergebnisse Vergleichbar mit ODBC, aber einfachere Schnittstelle Anschluß zur Datenbank über herstellerspezifische Treiber Betriebssysteme / verteilte Systeme Client/Server-Programmierung (2/15) 63 2 Java Database Connectivity (JDBC) Relationale Datenbanken und SQL Relationale Datenbank = Menge von Tabellen jede Spalte hat Namen und Datentyp jede Zeile enthält i.a. ein Feld, dessen Wert die Zeile eindeutig identifiziert (Primärschlüssel) Aufbau festgelegt in Datenbank-Schema Beispiel: ag_name AG_ID AG_NAME BMW Siemens Thyssen ag_data ID AG_ID DAY VALUE Primär schlüssel Betriebssysteme / verteilte Systeme Client/Server-Programmierung (2/15) 64
3 2.2 Relationale Datenbanken und SQL... SQL Standardisierte Abfragesprache für relationale Datenbanken Erlaubt u.a.: Abfrage von Daten (SELECT) Erzeugung neuer Tabellen (CREATE TABLE) Einfügen von Datensätzen (Zeilen) (INSERT) Löschen von Datensätzen (DELETE) Ändern von Datensätzen (UPDATE) Auswahl der Datensätze i.d.r. über deren Inhalt häufig über Primärschlüssel Betriebssysteme / verteilte Systeme Client/Server-Programmierung (2/15) Relationale Datenbanken und SQL... Beispiele für SQL-Anfragen SELECT AG_ID, AG_NAME FROM ag_name WHERE AG_NAME = Siemens liefert die Zeile für Siemens aus der ag name-tabelle SELECT ag_name.ag_name, ag_data.value FROM ag_name, ag_data WHERE VALUE > 90 AND ag_name.ag_id = ag_data.ag_id liefert Name und Kurs aller Aktien mit Kurs über 90 gibt Information aus zwei Tabellen zurück Verbindung der Einträge über den Primärschlüssel (Natural Join) Betriebssysteme / verteilte Systeme Client/Server-Programmierung (2/15) 66
4 2 Java Database Connectivity (JDBC) Architektur von JDBC Java Anwendung JDCB Treiber Manager JDBC/ODBC Brücke ODBC Treiber Treiber für mysql Treiber für Oracle MS mysql Oracle SQL Server Betriebssysteme / verteilte Systeme Client/Server-Programmierung (2/15) Architektur von JDBC... Klassen des JDBC-Kerns java.sql Driver Connection Statement ResultSet DriverManager PreparedStatement ResultSetMetaData DriverPropertyInfo CallableStatement Betriebssysteme / verteilte Systeme Client/Server-Programmierung (2/15) 68
5 2.3 Architektur von JDBC... Klassen des JDBC-Kerns... Interface Driver Schnittstelle, die alle JDBC-Treiber implementieren müssen neu geladener Treiber registriert sich bei DriverManager Klasse DriverManager verwaltet Driver-Objekte erzeugt Datenbank-Verbindungen (Connection) Klasse DriverPropertyInfo erlaubt Definition spezieller Parameter beim Aufbau der Datenbank-Verbindung Betriebssysteme / verteilte Systeme Client/Server-Programmierung (2/15) Architektur von JDBC... Klassen des JDBC-Kerns... Interface Connection repräsentiert Sitzung mit ausgewählter Datenbank erlaubt Erzeugung von Statement-Objekten verwaltet Informationen zum Zustand der Datenbank erlaubt Abfrage von Metadaten der Datenbank (Methode getmetadata(), Resultat: DatabaseMetaData) z.b. unterstützte SQL-Versionen, Limitierungen des Datenbank-Systems,... Interface Statement zur Ausführung einer SQL-Anfrage verwaltet auch Ergebnis der Anfrage (ResultSet) Betriebssysteme / verteilte Systeme Client/Server-Programmierung (2/15) 70
6 2.3 Architektur von JDBC... Klassen des JDBC-Kerns... Interface PreparedStatement zur Ausführung einer vorkompilierten SQL-Anfrage effizienter bei wiederholter Ausführung Interface CallableStatement erlaubt Aufruf von Stored Procedures SQL-Prozeduren, die in Datenbank selbst abgelegt sind Interface ResultSet Ergebnis-Relation einer Datenbank-Anfrage Interface ResultSetMetaData Metadaten zu den Spalten der Ergebnis-Relation z.b. Name, Typ, vorzeichenbehaftet,... Betriebssysteme / verteilte Systeme Client/Server-Programmierung (2/15) 71 Client/Server-Programmierung WS 2014/ Betriebssysteme / verteilte Systeme [email protected] Tel.: 0271/ , Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) iii
7 2 Java Database Connectivity (JDBC) Ein Beispiel import java.sql.*; import java.lang.*; public class Beispiel { public static void main(string[] args) { try { // Laden des JDBC Treibers Class.forName("com.mysql.jdbc.Driver"); catch (ClassNotFoundException e) { System.out.println("Treiber nicht ladbar:" + e); return; Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) Ein Beispiel... try { // Verbindung zur Datenbank Connection con = DriverManager.getConnection( "jdbc:mysql://bslabserv01.lab.bvs/cspdb","",""); // Erzeuge SQL Anweisung und führe sie aus Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery( "SELECT AG_ID, AG_NAME FROM ag_name"); // Ausgabe des Ergebnisses while (rs.next()) { System.out.println("" + rs.getint("ag_id") + ", " + rs.getstring("ag_name")); Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) 73
8 2.4 Ein Beispiel... // Alles schließen rs.close(); stmt.close(); con.close(); catch (SQLException e) { System.out.println("SQL Exception: " + e.getmessage()); e.printstacktrace(system.out); Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) 74 2 Java Database Connectivity (JDBC) Details zu JDBC Laden der Treiber Vor Verwendung von JDBC müssen die Treiber geladen werden: try { Class.forName("com.mysql.jdbc.Driver"); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException e) {... Alternativ: Setzen der jdbc.drivers Property java -Djdbc.drivers=com.mysql.jdbc.Driver:sun.jdbc. odbc.jdbcodbcdriver... Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) 75
9 2.5 Details zu JDBC... Verbindung zur Datenbank herstellen Verbindung wird durch Connection-Objekt repräsentiert Mehrere Datenbank-Verbindungen pro Anwendung möglich Erzeugung über Connection con = DriverManager.getConnection( "url", "user", "password"); Variante von getconnection() erlaubt Definition von Properties für die Datenbank-Verbindung Wenn Verbindung nicht mehr benötigt wird: explizites Schließen mit Methode con.close() Freigabe von Netzwerk- und Speicherressourcen Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) Details zu JDBC... Ausführung einer SQL-Anweisung Erzeugung eines Statement-Objekts Statement stmt = con.createstatement(); Ausführung der SQL-Anweisung ResultSet rs = stmt.executequery("select..."); Methoden executeupdate() für Anfragen ohne Ergebnis, bzw. execute(), falls unbekannt, ob Ergebnis geliefert wird execute() liefert true, falls Ergebnis vorhanden Statement-Objekt repräsentiert eine einzige SQL-Anfrage ResultSet wird bei erneuter Anfrage über selbes Statement-Objekt ungültig für simultane Anfragen: mehrere Statement-Objekte! Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) 77
10 2.5 Details zu JDBC... Zugriff auf die Resultate Ergebnis einer SQL-Anfrage (SELECT) ist eine Tabelle Struktur gekapselt in ResultSet-Objekt Methoden u.a.: next(): setzt Lesezeiger auf nächste Zeile zu Begin steht Zeiger vor der ersten Zeile Ergebnis false, falls keine Zeile mehr vorhanden get...(string name) / get...(int nr): liefert Inhalt des Feldes mit Spaltenname name bzw. Spaltennummer nr mehrere Methoden für die verschiedenen Datentypen getstring() liefert immer String-Repräsentation close(): Ressourcenfreigabe Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) Details zu JDBC... SQL-Datentypen und Zugriffsmethoden (Auswahl) SQL Typ(en) Java Typ Methode CHAR, VARCHAR String getstring() NUMERIC, DECIMAL java.math.bigdecimal getbigdecimal() BIT boolean getboolean() TINYINT byte getbyte() SMALLINT short getshort() INTEGER int getint() BIGINT long getlong() REAL float getfloat() FLOAT, DOUBLE double getdouble() BINARY, VARBINARY byte[] getbytes() DATE java.sql.date getdate() Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) 79
11 2.5 Details zu JDBC... Ausführung vorkompilierter SQL-Anfragen Für wiederkehrende, ähnliche Aufgaben sind vorkompilierte SQL-Anfragen (PreparedStatement) effizienter die Anfragen sind auch parametrisierbar Auch Sicherheitsvorteil gegen SQL Injection Erzeugung eines PreparedStatement-Objekts PreparedStatement stmt = con.preparestatement( "INSERT INTO Employees (Name, Phone) (?,?)");? als Platzhalter für Parameter Ausführung der Anfrage mit konkreten Parametern stmt.clearparameters(); stmt.setstring(1, "Jimmy Dean"); // erster Param. stmt.setstring(2, " "); // zweiter Param. stmt.executeupdate(); // kein Ergebnis Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) Details zu JDBC... Ausführung von Stored Procedures Oracle PL/SQL Prozedur (Im Datenbanksystem gespeichert) CREATE OR REPLACE PROCEDURE sp_interest (id IN INTEGER bal IN OUT FLOAT) is BEGIN SELECT balance INTO bal FROM accounts WHERE account_id = id; bal = bal + bal * 0.03; UPDATE accounts SET balance = bal WHERE account_id = id; END; Aufruf der Prozedur über JDBC CallableStatement stmt = con.preparecall( "{call sp_interest(?,?)"); stmt.registeroutparameter(2, Types.FLOAT); stmt.setint(1, accountid); stmt.setfloat(2, ); stmt.execute(); out.println("new Balance: " + stmt.getfloat(2)); Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) 81
12 2.5 Details zu JDBC... Transaktionen Verantwortlich für Transaktionen: Connection-Objekt Methoden zur Steuerung von Transaktionen: setautocommit() - automatisches Festschreiben? Voreinstellung: jede SQL-Anweisung wird als individuelle Transaktion ausgeführt commit() - Festschreiben der Transaktion rollback() - Abbruch der Transaktion settransactionisolation() - Isolationsebene festlegen TRANSACTION NONE, sowie die vier Isolations-Ebenen nach ANSI/ISO-SQL99 ( VS, 7.4): read uncommitted, read commited, repeatable read, serializable Voreinstellung ist vom Treiber abhängig Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) Details zu JDBC... Transaktionen... try { // Höchste Isolationsebene con.settransactionisolation(transaction_serializable); // Transaktionen mit mehreren SQL Anweisungen zulassen con.setautocommit(false); // SQL Anweisungen stmt.executeupdate("update inv SET onhand = 10 WHERE id = 5"); stmt.executeupdate("insert INTO shipping (qty) VALUES (5)"); // Commit aller Aktionen seit letztem Commit/Rollback con.commit(); catch (SQLException e) { // Rückgängigmachen aller Änderungen con.rollback(); Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) 83
13 2 Java Database Connectivity (JDBC) Zusammenfassung JDBC erlaubt portablen Zugriff auf relationale Datenbanken Abfragen über SQL Grundsätzlicher Ablauf: Laden des Treibers (Class.forName()) Verbindung zur Datenbank herstellen (Connection) SQL-Anweisung erzeugen (Statement) SQL-Anweisung ausführen, Ergebnis auslesen (ResultSet) Daneben: Unterstützung für vorkompilierte SQL-Anweisungen und Stored Procedures Transaktionen Betriebssysteme / verteilte Systeme Client/Server-Programmierung (3/15) 84
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
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
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)
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
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 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
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
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
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
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
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
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......................
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
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
Java und Datenbanksysteme Datenbankanbindung mit JDBC
Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser [email protected] 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von
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
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)
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
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
Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
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.*;
Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
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: -
Datenbankzugriff mit JDBC
Java: Kapitel 8 Datenbankzugriff mit JDBC Programmentwicklung WS 2008/2009 Holger Röder [email protected] Überblick über Kapitel 8 Einführung in SQL und JDBC Verbindung zur Datenbank
Datenbankanwendungen (JDBC)
Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau
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
SQL (Structured Query Language) Schemata Datentypen
2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente
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
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
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)
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 //
SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar
Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-
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
Prozedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
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?
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
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
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
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
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
Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
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
Zugriff auf die Datenbank. Ulf Leser Wissensmanagement in der Bioinformatik
Zugriff auf die Datenbank Ulf Leser Wissensmanagement in der Bioinformatik Wie komme ich an die Datenbank? Alternativen Alles in Java machen JDBC Treiber von Oracle herunterladen Java programmieren Java-basierte
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 ([email protected]) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht
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
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,
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
Transaktionen in der Praxis. Dr. Karsten Tolle
Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);
Übung: Data Warehousing und Data Mining
Übung: Data Warehousing und Data Mining Sebastian Wandelt 20. Oktober 2011 [email protected] Überblick Organisatorisches Kurze Einführung JDBC PL/SQL 1. Aufgabenblatt Ablauf des Semesters
Hochschule Karlsruhe Technik und Wirtschaft
Hochschule Karlsruhe Technik und Wirtschaft Sommersemester 2009 Seite 1/12 Fakultät: Fakultät für Informatik und Wirtschaftsinformatik Semester: BC3 D4 Prüfungsfach: Datenbanken I Fachnummer: I 3B71 I
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
Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT
Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT 1 Metadaten a) Wozu werden Metadaten im Umfeld von DBMS benötigt? b) Nennen Sie mindestens zwei weitere Anwendungsfelder, in denen Metadaten zum Einsatz kommen.
Modul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
Isolationsstufen für Transaktionen. Dr. Karsten Tolle
Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)
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
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,
Tag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
Einführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
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,
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)
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
MySQL mit MyLinux. [email protected]. 2/2003 [email protected] Java unter Linux
Bild: www.carsten-lehmann.de MySQL mit MyLinux [email protected] 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
E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015
Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische
SQL und MySQL. Kristian Köhntopp
SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)
Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.
Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme
Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL
Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene
Transaktionen in Praxis. Dr. Karsten Tolle Vorl
Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction
Gesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
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
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
12. Programmierung in der Datenbank
12. Programmierung in der Datenbank Motivation für Programme in der Datenbank Aufbau von serverseitigen Programmen Ausnahmebehandlung Erstellung von Triggern 305 Erweiterung relationaler Einbettung von
