Dr. Ho Ngoc Duc Universität zu Lübeck Institut für Informationssysteme Lübeck, den 20. April 2005 Datenbankpraktikum Entwicklung Webbasierter Informationssysteme Sommersemester 2005 3. Übungsblatt Aufgabe 1: Entwurf graphischer Oberflächen Planen und skizzieren Sie Ihre (grafische) Oberfläche für die Use Cases der Anwendung Fahrplanauskunktsystem. Die Darstellung soll unabhängig von der später verwendeten Darstellungstechnologie (HTML-Seiten, Java-Swing...) sein. Es soll ersichtlich sein oder textuell beschrieben werden, welche Daten und Informationen dem Benutzer angezeigt werden und welche Interaktionsmöglichkeiten dieser besitzt. Die Skizzen können mit einem Zeichenprogramm oder von Hand (lesbar) erstellt werden. Aufgabe 2: Datenimport Das Datenmodell der Anwendung wurde in der letzten Besprechung diskutiert. Die für die Anwendung benötigten Daten werden in Tabellen gespeichert, die mit dem folgenden Skript erzeugt werden: create table Haltestelle( Name varchar(50) not null, Zone char(10) not null, primary key (Name)); create table Linie( Name varchar(20) not null, Typ varchar(20) not null, primary key (Name)); 1/3 create table Fahrt( Fahrtnummer varchar(30) not null, Linienname varchar(20) not null, Richtung varchar(50), Wochentag char(10), primary key (Fahrtnummer), foreign key (Linienname) references Linie); create table Fussweg( ErsteHaltest varchar(50) not null, ZweiteHaltest varchar(50) not null, Gehzeit smallint not null, primary key (ErsteHaltest, ZweiteHaltest), foreign key (ErsteHaltest) references Haltestelle, foreign key (ZweiteHaltest) references Haltestelle); create table HaltAufLinie( Linienname varchar(20) not null, HaltestName varchar(50) not null, Position smallint not null, primary key (Linienname, HaltestName), foreign key (Linienname) references Linie, foreign key (HaltestName) references Haltestelle); create table Fahrplan( Fahrtnummer varchar(30) not null, HaltestName varchar(50) not null, Ankunft smallint, Abfahrt smallint, primary key (Fahrtnummer, HaltestName), foreign key (Fahrtnummer) references Fahrt, foreign key (HaltestName) references Haltestelle); (Die Spalte Typ in der Tabelle Linie enhält die Information, ob die Linie eine Buslinie, Strassenbahnlinie etc. ist). Schreiben Sie ein Programm, das diese Tabellen in einer Datenbank erzeugt und sie mit den zur Verfügung stehenden Testdaten (siehe Webseite der Lehrveranstaltung) füllt. Tragen Sie geeignete Werte in die Tabellen falls die Informationen nicht aus den Testdaten extrahiert werden können (z.B. Zonenzugehörigkeit, Abstand zwischen Haltestellen...). Die Hauptklasse soll ifis.ss05.dbpNN.dataimport.StammdatenImport heissen, wobei dbpNN Ihre Gruppennummer (dbp09 bis dbp14) ist. Das Programm soll wie folgt verwendet werden: 2/3 • Um Tabellen zu erzeugen: java ifis.ss05.dbpNN.dataimport.StammdatenImport -create • Testdaten aus den gegebenen Dateien importieren: java ifis.ss05.dbpNN.dataimport.StammdatenImport -import *.csv Damit sollen alle Testdaten aus den zur Verfügung gestellten Dateien (linie1-1.csv, linie1-2.csv, linie2-1.csv,...) eingelesen und in die geeigneten Tabellen eingefügt werden • Testanfragen stellen: java ifis.ss05.dbpNN.dataimport.StammdatenImport -query Mit diesem Aufruf sollen folgende SQL-Anfragen an die Datenbank gestellt werden, um zu verifizieren, dass die Testdaten korrrekt importiert wurden: – Alle Haltestellen der Linie 10 – Alle Linien, die an der Haltestelle “Fahlenkampsweg” halten – Abfahrten der Linie 19 ab Haltestelle “Fachhochschule” zwischen 12 und 14 Uhr • Tabellen löschen: java ifis.ss05.dbpNN.dataimport.StammdatenImport -drop Abgabetermin: Mittwoch, den 27.4.2005 vor dem Praktikum. 3/3