Strukturbaum
Keine Einordnung ins Vorlesungsverzeichnis vorhanden.
Veranstaltung ist aus dem Semester
SS 2020
, Aktuelles Semester: SoSe 2024
| |||||||||||
|
|||||||||||
Datenbankprogrammierung (E-Learning) Sprache: Deutsch Belegpflicht | |||||||||||
Nr.: 1907 Seminar / Wahlfach SS 2020 2 SWS Jedes Semester | |||||||||||
Bachelor-Studiengang: | Bachelorstudiengang Angewandte Informatik | ||||||||||
Studiengang | Angewandte Informatik, Abschluss 84, ( 4. - 7. Semester ) - ECTS-Punkte : 3 - Kategorie : Wahlfach | ||||||||||
Zugeordnete Lehrperson: | Deschler | ||||||||||
|
|||||||||||
Termin: |
Samstag
08:00
-
17:00
Einzelter.
Beginn : 04.04.2020 Ende : 04.04.2020 | Raum : T 013 Gebäude T | |||||||||
fällt aus am 04.04.2020 entfällt wegen Semesterstartverschiebung | |||||||||||
Samstag
08:00
-
17:00
Einzelter.
Beginn : 18.04.2020 Ende : 18.04.2020 | Raum : T 013 Gebäude T | ||||||||||
fällt aus am 18.04.2020 entfällt wegen Semesterstartverschiebung | |||||||||||
Samstag
08:00
-
17:00
Einzelter.
Beginn : 09.05.2020 Ende : 09.05.2020 | Raum : T 013 Gebäude T | ||||||||||
Samstag
08:00
-
17:00
Einzelter.
Beginn : 16.05.2020 Ende : 16.05.2020 | Raum : T 013 Gebäude T | ||||||||||
Inhalt: | 1 Allgemein .......................................................................................................................... 5
1.1 Überblick ................................................................................................................... 5 1.1.1 Zugriff auf Datenbanken: ................................................................................... 5 1.1.2 Zusatzprogramme innerhalb von Datenbanken: ................................................ 6 1.2 Motivation für Datenbankprogrammierung ................................................................ 6 1.3 Beziehungen zu anderen Fächern ............................................................................ 7 1.4 Bestandteile einer DB-Anwendung............................................................................ 8 1.5 Datenbank Architekturen ........................................................................................... 9 1.6 Fragestellungen bei Datenbankprogrammierung ..................................................... 11 2 SQL eine Wiederholung? ............................................................................................. 12 3 Probleme bei Datenbankprogrammierung ...................................................................... 22 3.1 Die Coddschen Regeln ........................................................................................... 22 3.2 Der Impedance Mismatch ..................................................................................... 24 3.2.1 Was ist der Impedance Mismatch? .................................................................. 24 3.2.2 Objekte versus Tabellen .................................................................................. 25 3.2.3 Die unterschiedlichen Paradigmen in der Praxis ............................................. 26 3.3 Cursor-Konzept ....................................................................................................... 27 3.4 Andere Lösungsansätze zur Überwindung des Impedance Mismatch ..................... 28 4 Zugriff auf Datenbanken ................................................................................................. 29 4.1 Allgemein ................................................................................................................ 29 4.2 Verarbeitung einer SQL-Anfrage ............................................................................. 30 5 Datenbankprogrammierung innerhalb der Datenbank - Stored Procedures & Trigger ..... 31 5.1 Was sind Stored Procedures? ................................................................................. 31 5.2 Wozu dienen Stored Procedures? .......................................................................... 31 5.3 Wer bietet Stored Procedures? ............................................................................... 31 5.4 Wann sollten Stored Procedures verwendet werden? ............................................. 32 5.5 Stored Procedures / Trigger (bei Oracle) ................................................................ 32 5.5.1 Allgemein ........................................................................................................ 32 5.5.2 Aufbau von Stored Procedures........................................................................ 33 5.5.3 Beispiel (PL/SQL) ............................................................................................ 33 5.5.4 Ausnahmebehandlung .................................................................................... 34 5.5.5 Aufbau von Triggern (PL/SQL) ........................................................................ 35 5.5.6 Beispiel (PL/SQL) ............................................................................................ 35 5.6 Erstellen von Stored Procedures ............................................................................. 36 5.7 Aufruf und Ablauf von Stored Procedures ............................................................... 37 5.7.1 Aufruf einer Stored Procedure aus dem Client-Programm ............................... 37 5.7.2 Stored Procedure auf dem DB-Server ............................................................. 37 6 Java Database Connectivity (JDBC) ............................................................................... 38 6.1 Allgemein ................................................................................................................ 38 6.2 Grundstruktur eines JDBC-Programms ................................................................... 38 6.3 Einbinden der JDBC-Klassen .................................................................................. 39 6.4 Architektur ............................................................................................................... 40 6.5 Verbindungsaufbau zur Datenbank ......................................................................... 42 6.5.1 Laden eines JDBC Treibers ............................................................................ 44 6.5.2 Verbindung zur Datenbank: Connection Objekt erzeugen ............................... 44 6.6 Datenzugriff mittels SQL ......................................................................................... 46 6.6.1 Dynamisches SQL mit Statments .................................................................... 46 6.6.2 Vorkompiliertes SQL ....................................................................................... 47 6.7 Ergebnisverarbeitung mittels ResultSet .................................................................. 50 6.7.1 ResultSets ....................................................................................................... 50 6.7.2 Ergebnisabfrage .............................................................................................. 51 6.7.3 Datensätze ändern .......................................................................................... 51 6.7.4 Datensätze einfügen ....................................................................................... 52 6.7.5 Batch Updates ................................................................................................. 53 6.8 Fehlerbehandlung ................................................................................................... 55 6.8.1 Allgemein ........................................................................................................ 55 6.8.2 Abfangen von Fehlern und Ausnahmen .......................................................... 57 6.8.3 Abfragen von Warnungen................................................................................ 58 6.9 Verbindungsabbau .................................................................................................. 59 6.10 Transaktionssteuerung............................................................................................ 59 6.11 Fazit ........................................................................................................................ 60 6.12 Erweiterte Themen .................................................................................................. 61 6.12.1 JNDI & Connection Pooling ............................................................................. 61 7 DAPRO - Best Practices ................................................................................................. 63 7.1 DAO Data Access Objects ................................................................................... 64 7.1.1 Allgemein: ....................................................................................................... 65 7.1.2 Am Beispiel: Kundeninformation...................................................................... 67 7.1.3 Vorteile ............................................................................................................ 70 |
||||||||||
Literatur: | http://fh.atbits.de
[1] SQL. Der Schlüssel zu relationalen Datenbanken - Gregor Kuhlmann, Friedrich Müllmerstadt ISBN: ISBN-10: 3499612453, ISBN-13: 978-3499612459 Preis: 9,90 EUR [2] Weitere Informationen zu Joins finden Sie unter - Satya Komatineni http://www.onjava.com/lpt/a/4443#1 oder http://www.onjava.com/pub/a/onjava/2004/01/07/SQLJoins.html [3] Vorlesung Datenbanken - Mario Jeckle http://www.jeckle.de/vorlesung/datenbanken/script.html [4] Vorlesung eBusiness - Mario Jeckle http://www.jeckle.de/vorlesung/eBusinessEng/index.html [5] Vorlesung Datenbank-Anwendungen - Mario Jeckle http://www.jeckle.de/vorlesung/DB-Anwendungen/index.html [6] Vorlesung XML - Mario Jeckle http://www.jeckle.de/vorlesung/xml/index.html [7] Impedance Mismatch - Alexandra Schäfer http://www.sigs.de/publications/os/2003/03/schafer_OS_03_03.pdf [8] Trigger Happy - Martin Rennhackkamp http://www.dbmsmag.com/9605d17.html [9] Stored Procedures for Java Programmers - Nic Ferrier http://www.onjava.com/pub/a/onjava/2003/08/13/stored_procedures.html [10] Struts Best Practices - Vic Cekvenich, Wolfgang Gehner ISBN : 3-89864-284-4 Preis : 32,00 EUR http://www.dpunkt.de/buecher/struts.html [11] Oracle PL/SQL Tutorial - Die Programmiersprache von Oracle - Ein Nachschlagewerk auf Basis von Beispielen - TAKTUM Informatik GmbH http://www.datenbank-plsql.de/ [12] PL/SQL http://www.orafaq.com/faq/plsql/ [13] PL/SQL User's Guide and Reference 10g Release 1 (10.1) Copyright © 1996, 2003 Oracle Corporation http://www.oracle-10g.de/oracle_10g_documentation/appdev.101/b10807/toc.htm [14] Design Patterns. Addison-Wesley Professional, 1995, - Erich Gamma et al. ISBN : 0201633612 Entwurfsmuster. Addison-Wesley, 2004, - Erich Gamma et al. ISBN 3827321999 [15] Weitere Links unter : http://fh.atbits.de/ => weiterführende Links [16] Struts Best Practices Die Erstellung komplexer Webanwendungen, 2004 - Vic Cekvenich, Wolfgang Gehner ISBN: 3898642844 Preis : 32,00 EUR [17] DAO http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html [18] Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition - Deepak Alur, John Crupi and Dan Malks Publisher: Prentice Hall / Sun Microsystems Press ISBN:0131422464; 2nd Edition (June, 2003) http://www.corej2eepatterns.com/Patterns2ndEd/DataAccessObject.htm [19] http://www.torsten-horn.de/techdocs/sw-patterns.htm |
||||||||||
Lernziele: | Die in der Vorlesung Datenbanksysteme erworbenen Grundkenntnisse werden erweitert. Dabei steht die Anwendungsprogrammierung im Vordergrund.
Die Teilnehmer können nach der Vorlesung: Verschiedene APIs zur Anbindung von Anwenderprogrammen an Datenbanken verwenden: Schwerpunkt bildet die Programmierung mit Java und JDBC. Programme innerhalb eines Datenbanksystems erstellen: Stored Procedures, Trigger. Überwindung des Impedance Missmatch: Abbildung von relationalen Datentupeln auf Objekte in Java, Data Access Object Pattern |
||||||||||
Voraussetzungen: | Programmieren 1/2
Datenbanksysteme (SQL, relationale Datenbanken) Objektorientierte Programmierung |
||||||||||
Leistungsnachweis: | PA (inkl. R) benotet | ||||||||||
Module: | Wahlfächer (AI) |