Datenbank und Informationssysteme



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

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

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

Java Database Connectivity (JDBC) Walther Rathenau Gewerbeschule 1

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

Praktikum Datenbanksysteme

JDBC. Java DataBase Connectivity

Datenbanken & Informationssysteme Übungen Teil 1

JDBC. Allgemeines ODBC. java.sql. Beispiele

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

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

Wie kommen die Befehle zum DBMS

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

Java und Datenbanksysteme Datenbankanbindung mit JDBC

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

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

Webbasierte Informationssysteme

Java: MySQL-Anbindung mit JDBC.

Klausur Datenbanken II

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

11 Anwendungsprogrammierung

Kapitel DB:VI (Fortsetzung)

Anwendungsprogrammierung mit JDBC

Hauptschritte einer JDBC-App

Beispiel: DB-Mock (1/7)

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

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

2. Datenbank-Programmierung

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Willkommen. Datenbanken und Anbindung

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

Oracle: Abstrakte Datentypen:

6.9 Java Server Pages

Lösungen zu Datenbank und Informationssysteme

Client/Server-Programmierung

Wie kommen die Befehle zum DBMS

Datenbankzugriff mit JDBC

Arbeitsgruppe Multimedia DLmeta in echten Anwendungen

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

Gesicherte Prozeduren

Klausur zur Vorlesung Datenbanksysteme I

vs. Fehler zur Übersetzungszeit

Java Database Connectivity-API (JDBC)

JDBC Datenzugriff aus Java ETIS SS04

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

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

Datenbanksysteme I Datenbankprogrammierung Felix Naumann

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

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

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

3. Stored Procedures und PL/SQL

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

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

Oracle & Java HOW TO

Datenbankanwendungen (JDBC)

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Themen. Web Service - Clients. Kommunikation zw. Web Services

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

Hochschule Karlsruhe Technik und Wirtschaft

Java Database Connectivity. Gracin Denis, IB 4 C

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Prozedurale Datenbank- Anwendungsprogrammierung

Data-Warehouse-Technologien

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

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

PL/SQL Web-Services mit Oracle 11g

Prinzipien Objektorientierter Programmierung

Datenbank Anbindung. Arthur Zaczek. Nov 2014

Transaktionen in der Praxis. Dr. Karsten Tolle

Vorlesung Informatik II

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Musterlösung Übungsblatt 11

Verteilungsmechanismen in verschiedenen RDBMS

RELATIONONALE DATENBANKEN MIT JDBC

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Datenbanksysteme I Übung: JDBC. Jana Bauckmann

Datenbankstammtisch. Replikation in heterogenen Datenbankumgebungen am Beispiel des Sybase Replication Servers. 1. Februar 2006

easylearn Webservice lsessionservice Interface für Single Sign On (SSO)

Ziel: wie kann man in Java auf Datenbanken zugreifen und Daten manipulieren? dazu brauchen wir:

Java Einführung Packages

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Datenmanagement in Android-Apps. 16. Mai 2013

Bibliothekssysteme / Verbundsysteme / Netze

Vor- und Nachteile speicheroptimierter Tabellen

Interaktive Webseiten mit PHP und MySQL

Transkript:

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...................... 6 1.3 Metainformationen und adaptives Programmieren................. 6 1.4 Architektur von ADO.NET............................. 6 1.5 Speicherresidente Datenbankstrukturen mit ADO.NET.............. 6 1.6 Objekt-Relationales Mapping am Beispiel Hibernate............... 6 2 Transaktionen und Nebenläufigkeitskontrolle 6 2.1 Eigenschaften und Verwendung von Transaktionen................ 6 2.2 Serialisierbarkeit und Nebenläufigkeitskontrolle.................. 6 2.3 Isolationslevel in SQL-Datenbanksystemen..................... 6 2.4 Strategien der Nebenläufigkeitskontrolle...................... 6 3 Verteilte Datenbanken 6 3.1 Architektur verteilter Datenbanken......................... 6 3.2 Datenspeicherung in verteilten Datenbanken.................... 6 3.3 Verteilte Anfragen.................................. 6 3.4 Änderung verteilter Daten und Replikation.................... 6 3.5 Verteilte Transaktionen............................... 6 4 Datenbanksicherheit und Autorisierung 6 4.1 Autorisierung und Zugriffskontrolle......................... 7 4.2 Techniken zum Recovery............................... 7 5 Datenanalyse zur Entscheidungsfindung 7 5.1 Data-Warehouses................................... 7 5.2 Data-Mining...................................... 7 1

6 Neue Datenbanktechnologien 7 6.1 XML und Datenbanken............................... 7 6.2 Temporale Datenbanken............................... 7 6.3 Geografische Datenbanken.............................. 7 6.4 Logik-basierte Datenbanken............................. 7 _.tex,v,1.1,october 19, 2006 at 11:30:11 CET Seite 2

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 19, 2006 at 11:30: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 " ) ) ; 29 catch ( Exception e ) { Seite 3

31 33 f i n a l l y { try{ 35 / Schritt 6: Nicht mehr benoetigte Resourcen freigeben / i f ( r s!= null ) r s. c l o s e ( ) ; 37 i f ( stmt!= null ) stmt. c l o s e ( ) ; i f ( con!= null ) con. c l o s e ( ) ; 39 catch ( Exception e ){ 41 43 45 Rest folgt 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 Prinzip: s t r i n g i s b i n = new s t r i n g ( " 3 458... " ) ;... 2 #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 _.tex,v,1.1,october 19, 2006 at 11:30:11 CET Statisches SQL Erstellen des Zugriffsplan des DBMS zur Compilierzeit. Dynamisches SQL Erstellen des Zugriffsplans des DBMS zur Ausführungszeit. CLI: Call Level Interface Beispiel: ODBC, JDBC, ADO.NET C/C++ Java C# sind Implementierungen von SQL/CLI = Teil des SQL-Standards. Seite 4

Java-Anwendung SQL DBMS-unabhängig java.sql.* JDBC (Treibermanager) JDBC- Treiber Oracle JDBC- Treiber mysql JDBC- Treiber DBMS-spezifisch Ergebnismengen DB- Server Oracle DB- Server mysql DB- Server 4 Arten von JDBC-Treibern: Typ 1: JDBC-ODBC-Bridge (sun.jdbc.odbc.jdbcodbcdriver) Typ 2: Native API-Treiber Typ 3: JDBC-Net-Treiber Typ 4: Nativer Protokoll-Treiber Treibermanager Registrieren und Laden von Treibern Herstellen der Verbindung zur DB Konfiguration der Verbindung Delegation an JDBC-Treiber 1. Registrieren und Laden von Treibern _.tex,v,1.1,october 19, 2006 at 11:30:11 CET Methode 1: Explizites Laden der Treiberklasse: Class.forName(org.postgres.Driver) Methode 2: properties-datei: jdbc.drivers=org.postgres.driver, Methode 3: Systemeigenschaft (Parameter beim Aufruf): java-d jdbc.drivers= MyClass Methode 4: (neu in JDBC 4.0) automatisches Laden bei getconnection 2. Herstellen der Verbindung zur Datenbank Rest folgt am WE Methode 1: DriverManager.getConnection(url,uid,pwd) Seite 5

1.2 Anfragen und Ergebnismengen in JDBC 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 _.tex,v,1.1,october 19, 2006 at 11:30:11 CET 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 x Seite 6

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 19, 2006 at 11:30:11 CET Seite 7