Datenbanken & Informationssysteme Übungen Teil 1



Ähnliche Dokumente
Java Database Connectivity (JDBC) Walther Rathenau Gewerbeschule 1

Oracle: Abstrakte Datentypen:

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

Programmierkurs Java

Professionelle Seminare im Bereich MS-Office

-Inhalte an cobra übergeben

JDBC. Allgemeines ODBC. java.sql. Beispiele

Text-Zahlen-Formatieren

Hochschule Karlsruhe Technik und Wirtschaft

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Klicken Sie auf Weiter und es erscheint folgender Dialog

Kurzeinführung Excel2App. Version 1.0.0

Java: Vererbung. Teil 3: super()

ecaros2 - Accountmanager

7. Übung - Datenbanken

Arbeiten mit UMLed und Delphi

SQL - Übungen Bearbeitung der Datenbank Personal (1)

Excel Pivot-Tabellen 2010 effektiv

Snippets - das Erstellen von "Code- Fragmenten" - 1

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

OP-LOG

Stapelverarbeitung Teil 1

Artikel Schnittstelle über CSV

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

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

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

CVR Seniorentreff vom 04. und Serienbriefe/Seriendruck. Serienbriefe / Seriendruck

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Leichte-Sprache-Bilder

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Anleitung zum GEPA EXCEL Import Tool

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Einfügen mit Hilfe des Assistenten: Um eine Seite hinzufügen zu können, müssen Sie nur mehr auf ein Symbol Stelle klicken.

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Anleitung für den Euroweb-Newsletter

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Handbuch zum Excel Formular Editor

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Datenbanken Kapitel 2

Ein Ausflug zu ACCESS

Viele Bilder auf der FA-Homepage

Stammdatenanlage über den Einrichtungsassistenten

Software Engineering Klassendiagramme Assoziationen

ipin CSV-Datenimport (Mac OS X)

Verbinden von IBM Informix mit Openoffice mittels JDBC

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

AutoTexte und AutoKorrektur unter Outlook verwenden

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

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

Objektorientierte Programmierung für Anfänger am Beispiel PHP

6.3 Serienbriefe über Microsoft Excel und Word

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Informatik 12 Datenbanken SQL-Einführung

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender FHNW, Services, ICT

Version NotarNet Bürokommunikation. Bedienungsanleitung für den ZCS-Import-Assistenten für Outlook

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Ihr Ideen- & Projektmanagement-Tool

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Outlook und Outlook Express

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

ecall sms & fax-portal

Berechnungen in Access Teil I

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Einfügen von Bildern innerhalb eines Beitrages

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Hinweise zum Übungsblatt Formatierung von Text:

Version 0.3. Installation von MinGW und Eclipse CDT

Grundlagen der Tabellenkalkulation Die wichtigsten Funktionen im Überblick Christian Schett

1. So einfach ist der Excel-Bildschirm

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Serviceanweisung Austausch Globalsign Ausstellerzertifikate

GRUNDLEGENDES ZUM EINRICHTEN DES LAPTOP-ABGLEICHS

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

DOKUMENTATION VOGELZUCHT 2015 PLUS

Kurzanleitung. Toolbox. T_xls_Import

Business Intelligence Praktikum 1

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Was meinen die Leute eigentlich mit: Grexit?

Kurzanleitung OOVS. Reseller Interface. Allgemein

Anleitung zum LPI ATP Portal

Transkript:

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 Books. Angezeigt werden soll eine Kopfzeile mit den Namen der in der Tabelle enthaltenen Spalten, sowie der Inhalt der Tabelle. SQL-Skripten für das Anlegen der Datenstruktur und das Befüllen der Tabellen zur Datenbank azamon finden Sie hier: http://homepages.thm.de/~hg11260/mat/azamon.zip. Die Skripten sind für PostgreSQL, können aber für jedes andere SQL-Datenbankmanagementsystem nach eventuellen Anpassungen verwendet 2. Daten lesen mit ADO.NET Schreiben Sie ein C#-Programm, das die Tabelle Books der Datenbank Azamon ausgibt. Verwenden Sie auch hier die SQL-Anweisung select * from Books. Angezeigt werden soll eine Kopfzeile mit den Namen der in der Tabelle enthaltenen Spalten, sowie der Inhalt der Tabelle. Zum Lesen der Daten verwenden Sie einen DataReader. 3. Daten lesen mit der Java Persistence API Schreiben Sie ein Java-Programm, das die Bücher in der Tabelle Books ausgibt. Angezeigt werden sollen die Inhalte der Zeilen der Tabelle. Sie benötigen eine Implementierung der JPA, zu finden z.b. EclipseLink unter http://www.eclipse.org/eclipselink/. 4. Ein erster Versuch mit JDBC Eine Softwareentwicklerin oder ein Softwareentwickler hat sein erstes JDBC- Programm geschrieben. Es soll einfach die erste Spalte der ersten Zeile in der Tabelle Books in der Datenquelle azamon ausgeben. import java.sql.*; public class FirstJDBC { public static void main(string[] args) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcTreiber"); Connection con = DriverManager.getConnection("jdbc:odbc:azamon","x","x "); Wintersemester 2015/16 1

Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select * from Books"); System.out.println(rs.getString(0)); catch (Exception e) { e.printstacktrace(); Beim Testen des Programms treten Exceptions auf. Klären Sie warum und geben Sie an, was man verbessern muss: (c) java.lang.classnotfoundexception: sun.jdbc.odbc.jdbcodbctreiber Woran liegt es? Nachdem der Fehler korrigiert ist, tritt folgendes auf: java.sql.sqlexception: Ungültiger Cursorstatus Woran liegt s? Doch nachdem dieser Fehler korrigiert ist, tritt noch einer auf: java.sql.sqlexception: Ungültiger Deskriptorindex Klären Sie auch hier den Grund für die Exception auf. 5. Parametrisierte Anweisung Schreiben Sie ein JDBC-Programm, mit dem man in der Tabelle Books von azamon herausfinden kann, wieviele Bücher eines Autors verzeichnet sind. Das Programm soll so gestaltet sein, dass man interaktiv immer wieder neue Autorennamen eingeben kann. (Tipp: wir brauchen keine komplette GUI, es reicht für die Eingabe showinputdialog von Java Swing und für die Ausgabe die Konsole zu verwenden.) Schreiben Sie ein JDBC-Programm, mit dem man ein neues Buch in die Tabelle eingeben kann. Verwenden Sie dabei eine parametrisierte Anweisung. (Auch dieses Programm muss nicht unbedingt eine GUI haben.) 6. SQL-Injection Schreiben Sie ein JDBC-Programm, mit dem man nach einem Buch in der Tabelle Books suchen kann, so dass es einem Angreifer gelingt, dieses Programm zu verwenden, um einen Eintrag in der Tabelle zu löschen. Wie müssen Sie das Programm ändern, um diesen Angriff zu vereiteln? Wintersemester 2015/16 2

Bitte wählen Sie eine der folgenden drei Aufgaben als Hausübung aus. 7. Interaktives SQL mit JDBC Schreiben Sie eine Java-Anwendung Interactive JDBC, mit der man beliebige SQL-Anweisungen (anfragende und modifizierende Anweisungen) durchführen kann. Es soll möglich sein, in einem Dialog die Datenquelle zu wählen, mit der man sich verbinden möchte. Das Programm sollte etwa so aussehen wie das in Abb. 1 Abbildung 1: Interactive SQL Wintersemester 2015/16 3

8. Datenbankexport mit JDBC Schreiben Sie eine Java-Anwendung, mit der man einen einfachen Datenbank- Export durchführen kann. Man gibt die Datenbank an, die man exportieren möchte und das Programm erzeugt zwei SQL-Skripten: eines, das die DDL- Anweisungen zum Erzeugen der Tabellen enthält, und eines, das die Insert- Anweisungen zum Füllen der Tabellen enthält. Es sollen auch Anweisungen, die die referentielle Integrität betreffen, erzeugt 9. Eine generische Pflegefunktion Wir möchten ein JDBC-Programm entwickeln, das folgende Aufgabe erfüllt: In einer Textdatei wird vorgegeben, welche Datensätze in einer Tabelle eingefügt, gelöscht oder geändert werden sollen. Das Programm soll die Datei lesen und die dort vorgegebenen Aktionen durchführen. Die in der Datei spezifizierten Manipulationen an der Datenbank sollen entweder alle oder gar nicht durchgeführt Für den Aufbau der Datei ist folgendes Format vorgegeben: Die Anweisungen stehen zeilenweise in der Datei und beginnen jeweils mit einem Buchstaben gefolgt von einem Doppelpunkt. Danach kommen Angaben, die durch das Zeichen getrennt sind. Dabei bedeutet: t: Die folgenden Zeilen beziehen sich auf die Tabelle mit dem Namen, der auf diese Anweisung folgt i: Der Datensatz soll eingefügt werden u: Der Datensatz soll geändert werden d: Der Datensatz soll gelöscht werden Beispiel: t:zinsen i:12345 Neuer Zinssatz 0.75 2014-02-01 u:12231 Zins Extra-Konto 0.5 2014-02-01 d:11111 Zins Plus-Konto 1.25 2013-01-01 Das bedeutet, dass in der Tabelle Zinsen der erste Datensatz eingefügt werden soll, der zweite geändert und der dritte gelöscht werden soll. Sie können von folgenden Voraussetzungen ausgehen: Die Zeilen mit Datensätzen enthalten alle Werte zu den Attributen in exakt der Reihenfolge, wie die Tabelle definiert wurde Die Werte sind so formatiert, dass sie den Datentypen der Attribute entsprechen Die Werte enthalten die Zeichen und nicht. Schreiben Sie ein solches Programm. Wintersemester 2015/16 4

10. Analyse eines JDBC-Tabellen-Editors Analysieren Sie den Aufbau eines Tabellen-Editors, den Mitarbeiter von IBM geschrieben haben: http://www.ibm.com/developerworks/data/library/techarticle/0206chaitgal/ 0206chaitgal.html Beschreiben Sie, welche Mechanismen von JDBC in diesem Programm verwendet Diskutieren Sie, welche grundlegenden Unzulänglichkeiten dieses Programm hat. Nennen Sie dazu mindestens 3 Punkte. 11. Metainformationen mit JDBC In JDBC gibt es zwei Interfaces für Metainformationen: DatabaseMetaData und ResultSetMetaData. Beschreiben Sie jeweils, welche Informationen über diese Interfaces bereitgestellt werden und geben Sie an, welchen Konzepten einer SQL-Datenbank diese Interfaces entsprechen. DatabaseMetaData ResultSetMetaData 12. DBMS-unabhängige Programmierung in JDBC und ADO.NET Man möchte APIs zum Zugriff auf Datenbankmanagementsysteme oft gerne so verwenden, dass man möglichst unabhängig vom jeweiligen DBMS ist: das übersetzte, ausführbare Programm soll mit jedem beliebigen DBMS verwendet werden können. Erläutern Sie die grundlegenden Konzepte. (c) Welchen Mechanismus sieht JDBC vor, um die Unabhängigkeit vom DBMS zu errreichen? Welchen Mechanismus sieht ADO.NET (ab Version 2.0) vor, um die Unabhängigkeit vom DBMS zu errreichen? Worauf muss man außer den in und genannten Mechanismen achten, um Unabhängigkeit vom DBMS zu erreichen? Rev 1.3 21. Juli 2015 Wintersemester 2015/16 5