Prof. Franz Schweiggert Abteilung Angewandte Informationsverarbeitung 4. Mai 2005
Christian Ehrhardt Blatt 4


Uni Logo



Unix-basierte Implementierung kleiner Datenbanken (SS 2005)


Abgabetermin 11.05.2005

Kommentare (2 Punkte)

In einer Datei können Kommentare vorkommen. Ein Kommentar wird durch ein Prozentzeichen (``%'') eingeleitet und erstreckt sich grundsätzlich bis zum Zeilenende. Steht allerdings unmittelbar vor dem Prozentzeichen ein Backslash (``$\backslash$''), dann beginnt bei diesem Prozentzeichen kein Kommentar.
Schreibt ein Shell-Skript, das alle Kommentare aus einer Datei entfernt. Dabei sollen Zeilen, die ausschließlich aus einem Kommentar bestehen vollständig entfernt werden (es soll also keine Leerzeile zurückbleiben). Bereits vor der Entfernung von Kommentaren vorhandene Leerzeilen sollen dagegen erhalten bleiben.
Hinweis: sed und Rückwärtsverweise.

Scheine

Wir gehen im folgenden davon aus, daß zwei Tabellen bereits existieren: Eine Tabelle aller Studenten, die Scheine machen können und eine Tabelle mit Vorlesungen, in denen Scheine gemacht werden können.
Alle Tabellen enthalten genau einen Datensatz pro Zeile, die einzelnen Felder eines Datensatzes werden durch Doppelpunkt getrennt. Die Tabelle der Studenten besteht aus den Felderen Matrikelnummer, Nachname, Vorname(n), Studiengang und login. Die Tabelle der Vorlesungen besteht aus Vorlesungs-ID (z.B. CS113) und dem Titel der Vorlesung.

Scheine-Relation (4 Punkte)

In einer weiteren Tabelle soll verwaltet werden, welcher Student welche Scheine erworben hat. Die Tabelle enthält eine Zeile pro ausgestelltem Schein und jede solche Zeile besteht aus dem login des Studenten und der ID der Vorlesung, in der der Schein erworben wurde.
Schreibt ein Programm, das es einem Übungsleiter erlaubt, neue Einträge in dieser Tabelle zu machen. Das Programm soll genau zwei Kommandozeilenargumente übergeben bekommen: Euer Programm soll überprüfen, ob die Logins und die Vorlesungs-ID gültig sind und dann die entsprechenden Einträge in der Tabelle machen. Dabei soll sichergestellt sein, daß in der Tabelle keine doppelten Einträge auftauchen.

Wer hat welche Scheine (4 Punkte)

Jetzt soll ein Programm geschrieben werden, mit dem für ausgewählte Studenten eine Übersichtsliste erstellt wird, aus der hervorgeht, welcher Student welche Scheine hat. Die Liste soll pro Student eine Zeile enthalten, die den (vollständigen) Namen des Studenten und eine durch Komma getrennte Liste aller Vorlesungs-IDs, in denen der Student einen Schein erworben hat, enthält. Die Liste der Vorlesungs-IDs soll alphabetisch sortiert sein. Die Übersichtsliste soll in eine Datei geschrieben werden. Die Auswahl der Studenten erfolgt durch Eingabe der Logins über die Tastatur und nicht über die Kommandozeile!



Christian Ehrhardt 2005-05-04