Zur Seitennavigation oder mit Tastenkombination für den accesskey-Taste und Taste 1 
Zum Seiteninhalt oder mit Tastenkombination für den accesskey und Taste 2 
Startseite    Anmelden     
Logout in [min] [minutetext]

Strukturbaum
Keine Einordnung ins Vorlesungsverzeichnis vorhanden. Veranstaltung ist aus dem Semester SS 2020 , Aktuelles Semester: SoSe 2024
  • Funktionen:
  • Zur Zeit kein Belegungszeitraum aktiv.
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
 
 
Zur Zeit kein Belegungszeitraum aktiv.
   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)