Datenbanken
Proseminar Abgabe 3 Wintersemester 2013/2014
Abgabetermin: Gruppe A am 18.01.2014 23:59, Gruppe B am 25.01.2014 29:59 Demo-Termine: Gruppe A am 21.01.2014, Gruppe B am 28.01.2014
In diesem Teil des Projektes wird eine Anwendung in Java erstellt, welche die Datenbank aus dem vorigen Projektteil anfragt und ver¨andert.
1 Aufgabestellung
Erstellen Sie eine einfache Anwendung,
• entweder als eigenst¨andige Anwendung mit graphischer Benutzeroberfl¨ache,
• oder als Web-Anwendung.
Die Anwendung sollte das Abfragen, Einf¨ugen/ ¨Andern und L¨oschen von Daten erlauben.
Daten abfragen Benutzer sollen die M¨oglichkeit haben, ¨uber ein Formular Aus- wahlkriterien einzugeben und sich die entsprechenden Daten anzeigen zu lassen.
Mindestens ein Auswahlkriterium (mit wenig verschieden Werten, z.B. Genre eines Films) soll ¨uber eine Dropdown-Liste oder ¨uber Checkboxen einzugeben sein.
Daten einf¨ugen/¨andern Es sollte zumindest die M¨oglichkeit geben, neue Da- ten ¨uber ein Formular einzuf¨ugen. Idealerweise kann man auch bereits gespeicherte Daten nachtr¨aglich ver¨andern (z.B. in einem vorausgef¨ullten Formular).
Daten l¨oschen Den Benutzern wird die M¨oglichkeit geboten, die zu l¨oschenden Daten auszuw¨ahlen. Es soll ein Feedback geben, ob die L¨oschoperation erfolgreich war und wie viele Tupel gel¨oscht wurden.
Es ist nicht n¨otig, dass alle Daten in der Datenbank abgefragt bzw. ver¨andert wer- den k¨onnen. Es reicht, wenn ein Beispiel von jeder Art (abfragen, einf¨ugen/¨andern, l¨oschen) programmiert wird.
2 Technologie und Testumbegung
Bez¨uglich verwendeter Technologie haben Sie zwei M¨oglichkeiten, welche damit zusammenh¨angen, wie Sie Ihre Anwendung w¨ahrend der abschließenden Demo vorf¨uhren.
2.1 Eigener Rechner
Sie f¨uhren die Anwendung auf einem Rechner vor, den Sie selbst mitbringen. In diesem Fall sind Sie frei, eine beliebige Programmiersprache und Programmierum- gebung zu verwenden. Sie sind daf¨ur verantwortlich, dass Ihre Anwendung w¨ahrend der Demo funktioniert.
2.2 Vorhandener Rechner
Sie f¨uhren die Anwendung auf dem Rechner aus, der w¨ahrend der Abschluss- pr¨asentation zur Verf¨ugung gestellt wird. Die Anwendung muss mit Java 1.7 und dem JDBC 4 Driver f¨ur PostgreSQL 9.2 ausf¨uhrbar sein. Falls Sie eine Web- Anwendung erstellen, wird diese unter Tomcat 7getestet.
Die Anwendung muss auf die PostgreSQL Datenbank Ihrer Gruppe auf dem Ser- ver dumbo.cosy.sbg.ac.at zugreifen. Die Zugangsdaten k¨onnen der Einfachheit halber als Konstanten im Quelltext stehen (“hard-coded”).
Web-Anwendung. F¨ur Web-Anwendungen wird die .war Datei ins Verzeichnis webappsvon Tomcat kopiert und mitlocalhost:8080/<teamname>gestartet, z.B.
localhost:8080/teamC. Der JDBC Driver sollte sich im VerzeichnisWEB-INF/lib ihres .war Paketes befinden.
Selbstst¨andige Anwendung. Selbstst¨andige Anwendungen werden mit folgendem Befehl gestartet, wobei der JDBC Driver postgresql-9.2-1002.jdbc4.jar und die Datei <teamname>.jar im aktuellen Verzeichnis liegen:
java -cp postgresql-9.2-1002.jdbc4.jar:<teamname>.jar <teamname>.Main Das heißt, es gibt eine ausf¨uhrbare Klasse Main im Package<teamname>.
Java 1.7 (http://openjdk.java.net/install), Tomcat 7 (http://tomcat.apache.
org) und der JDBC 4 Driver f¨ur PostgreSQL (http://jdbc.postgresql.org/
download.html) stehen kostenlos zum Download zur Verf¨ugung. Eine einfach Bei- spielanwendung als Starthilfe zur Verwendung von JSP/Servlets finden Sie hier:
http://tomcat.apache.org/tomcat-7.0-doc/appdev/sample
3 Abgabeformat
Die Abgabe erfolgt via E-Mail anpetra.kirchweger@sbg.ac.atmit dem Betreff PS Datenbanken <teamname>.
Abzugeben sind folgende Dateien:
1. README.TXT beschreibt, welche Systemvoraussetzungen Ihre Anwendung er- fordert (Betriebssystem, Programmversionen, installierte Pakete) und wie Ihre Anwendung compiliert und gestartet wird. Falls Sie sich an die Vorga- ben aus Abschnitt 2.2 halten, reicht es, wenn Sie das erw¨ahnen.
2. Source Code der Anwendung.
3. Falls Sie eine Web-Anwendung in Java erstellt haben, erstellen Sie eine Datei mit Namen <teamname>.war, wobei <teamname> durch den Namen Ihres Teams zu ersetzen ist. Ansonsten erstellen Sie eine Datei <teamname>.jar.
In beiden F¨allen muss der gesamte Quellcode mit verpackt sein.
Falls Sie w¨unschen, dass Ihre Anwendung auf dem Pr¨asentationsrechner vorinstal- liert wird, bitte explizit ganz oben in der DateiREADME.TXT angeben.
Die Datei README.TXT und der Source Code werden in eine ZIP Datei mit dem Namen <teamname>_3.zip gepackt, wobei <teamname> durch den Namen Ihres Teams zu ersetzten ist, z.B. a3_3.zip, b4_3.zip.
Die Einteilung in Teams finden Sie auf der Website des Proseminars.
Achtung: Versp¨atete Abgaben oder Abgaben, die das oben angegebene Format nicht beachten, werden zur¨uckgewiesen und nicht bewertet.
4 Demonstration w¨ ahrend des Proseminars
Zus¨atzlich zur Abgabe stellen Sie Ihre Anwendung auch w¨ahrend des Proseminars vor.
Sie haben 6 Minuten Zeit, die Funktionen Ihre Anwendung zu pr¨asentieren. An- schließend werden sie noch kurz zu Ihrer Anwendung befragt. Es ist notwendig, dass alle Gruppenmitglieder anwesend sind.
Durch die Pr¨asentation sollten folgende Punkte klar werden:
• Die Grundoperationen sind implementiert und funktionieren.
• Welche Funktionalit¨aten bieten die verschiedenen Operationen (z.B. welche Suchkriterien k¨onnen angewandt werden)?
• Wie komplex sind die SQL Anfragen, die sich hinter den Formularen verber- gen (z.B. ein Join ist n¨otig, Einf¨ugeoperation erfordert die Aktualisierung mehrerer Tabellen).
• Eventuelle fortgeschrittene SQL Konzepte, die Sie verwendet haben, z.B.
Transaktionen, Indexe. Dabei sollten Sie deren Sinnhaftigkeit in Ihrer An- wendung kurz begr¨unden.
Achtung:Bitte halten Sie sich streng an den Zeitrahmen. Wenn Ihre Zeit verstri- chen ist, werden Sie unterbrochen und die ersten 6 Minuten werden bewertet. Es wird sehr empfohlen, die Demo vorher zu proben!
5 Bewertungskriterien
Zus¨atzlich zur korrekten Funktion Ihrer Anwendung fließen folgende Kriterien in die Bewertung ein:
• Funktionalit¨at: Welche Operationen wurden implementiert? Welche M¨oglich- keiten bietet die Anwendung f¨ur die Suche von Daten, die angezeigt oder ver¨andert werden sollen?
• Komplexit¨at der Anwendung: Komplexere Szenarien entstehen zum Beispiel, wenn das Ergebnis einer Anfrage einen Join erfordert und das Einf¨ugen oder Andern von Daten Aktualisierungen in mehreren Tabellen erfordert.¨
• Demo: Qualit¨at (Klarheit, Vert¨andlichkeit, Vollst¨andigkeit) der Demonstra- tion w¨ahrend des Proseminars.
Ein Bonus wird f¨ur die Verwendung fortgeschrittener SQL Konzepte vergeben.
Beispiele sind Transaktionen, die mehr als einen SQL Befehl umspannen, um die Sicherheit der Schreiboperationen zu gew¨ahrleisten oder die Verwendung von Indexstrukturen, um die Ausf¨uhrgeschwindigkeit f¨ur Anfragen zu erh¨ohen. Die H¨ochstpunktezahl kann ohne Bonus erreicht werden.