Datenbanken - WS 2020/21
Prof. Dr.-Ing. Johannes Schildgen
johannes.schildgen@oth-regensburg.de
Übungsblatt 10 vom 13.01.2020

Aufgabe 1: Anwendungsentwicklung mit JDBC (10P)

Abgabe-Deadline: 13.01.2021 11:00 im Moodle

Da Sie für diese Aufgabe Ihr Datenbank-Passwort im Klartext in Ihren Quellcode schreiben müssen, empfiehlt es sich, dies vorher auf ein zufälliges Passwort zu ändern. Verwenden Sie dazu ALTER USER ihr_benutzername PASSWORD 'neues_passwort'; Tragen Sie dieses neue Passwort dann auch in Ihren DBeaver-Verbindungseinstellungen ein.

  1. Erstellen Sie im DBeaver eine Tabelle "Kontakte" mit den Spalten Name (VARCHAR(200) PRIMARY KEY), handynummer (VARCHAR(20)) und gesucht (INT NOT NULL DEFAULT 0).
  2. Fügen Sie im DBeaver einen neuen Kontakt ein: Peter hat die handynummer 0151-555
  3. Schreiben Sie ein Konsolenprogramm in Java und binden Sie den PostgreSQL-JDBC-Treiber ein; entweder indem Sie die Jar-Datei von https://jdbc.postgresql.org/ herunterladen oder mittels Maven.
  4. Bauen Sie in Ihrem Java-Programm eine Verbindung zu Ihrer Datenbank auf.
  5. Geben Sie alle Kontakte (Name und Handynummer) sortiert nach ihrem Namen aus.

Aufgabe 2: Anwendungsentwicklung mit JDBC (Fortsetzung)

  1. Implementieren Sie eine Suchfunktion für ihr Programm aus Aufgabe 1:
    1. Der Benutzer gibt auf der Konsole einen Namen ein
    2. Wird ein leerer Name eingegeben, sollen wie gehabt alle Kontakte ausgegeben werden.
    3. Andernfalls wird nur der Kontakt mit dem eingegeben Namen ausgegeben.
    4. Gibt es keinen Kontakt mit dem eingegebenen Namen, soll eine Meldung "kein Kontakt gefunden" angezeigt werden.
    5. Verhindern Sie SQL-Injections!
  2. Hinter dem Kontakt soll in Klammern die Anzahl stehen, wie oft nach ihr oder ihm gesucht wurde ("gesucht"-Spalte).
  3. Immer wenn nach einem bestimmten Kontakt gesucht wird, soll in der Datenbank die "gesucht"-Zahl für diesen Kontakt um eins erhöht werden.